TRACERY Lab.(トレラボ)

TRACERY開発チームが、要件定義を中心として、システム開発で役立つ考え方や手法を紹介します。

システム開発の品質保証プロセスの進め方

シリーズ: システム開発の基礎

TRACERYプロダクトマネージャーの haru です。

V字モデルの右辺は、開発した成果物を検証し、品質を保証するためのテストプロセスを表しています。

テストは、V字モデルの底から上へと段階的に進め、単体テストからシステムテスト、運用テストへと範囲を広げながら、設計や要件どおりに動作するかを確かめていきます

品質保証プロセスの進め方

本記事では、この品質保証プロセスの内容と全体の流れを解説します。

各テストのプロセスの目的と主な検証内容

以下の表に各テストのプロセスの目的と主な検証内容を示します。

プロセス名 目的 主な検証内容
コードレビュー プログラムコードを第三者の視点で査読し、設計意図との整合性や内部品質を確認する。 可読性、保守性、命名や責務分離の妥当性、設計意図との整合性
単体テスト ソフトウェアを構成するモジュールやコンポーネント(関数・メソッド・画面・API、機能など)が単独で正しく動作するかを検証する。 入出力、ロジックの妥当性、エラー処理
結合テスト 複数のモジュールやコンポーネントを組み合わせ、連携が仕様や設計どおりに機能するかを検証する。 データの受け渡し、処理結果
システムテスト システム全体がシステム要件どおりに動作するかを検証する。開発者による最終テスト。 データの受け渡し、処理結果。機能、信頼性・性能・セキュリティなどの非機能
運用テスト(受け入れテスト) 業務要件の観点から、実際の運用が問題なく行えるかを検証する。業務担当者による最終テスト。 操作手順、運用ルール、帳票・通知などの業務成果物や、業務目的の達成度
運用・評価 実際にシステムを運用し、課題を解決し、想定した価値が実現しているか(=事業要件が満たされているか)を評価する。 KGIやKPIの達成状況、業務改善効果、システム利用状況

品質保証プロセスの進め方

品質保証プロセスの進め方を、コードレビューから運用テストと、運用・評価の2つに分けて説明します。

コードレビュー〜運用テストの進め方

品質保証プロセスは、粒度の小さな単位から順に品質を固め、範囲を広げながら全体の品質を積み上げていきます(下図)。

品質保証プロセスの進め方(コードレビュー〜運用テスト)

まず、コードレビュー単体テストで、モジュールやコンポーネントといった最小単位の要素に対し、内部構造(コード)と外部動作の両面から品質を固めます。

次に、結合テストで、品質が確認された要素同士を組み合わせ、データの受け渡しや処理のつながりが仕様や設計どおりに機能するかを検証します。

続くシステムテストでは、品質を固めたソフトウェアをハードウェアや外部サービスなどと組み合わせてシステムとして構成し、システム要件に基づいて、機能・性能・信頼性などを総合的に確認します。

最終段階の運用テストでは、実際の業務シナリオに沿って、業務が問題なく遂行できるかを検証します。

このように、システム開発の品質保証プロセスは「要素の正しさ」から始まり、「機能間の連携の正しさ」「全体のふるまい」「業務価値の実現」へと検証範囲を段階的に広げることで、品質を着実に積み上げていきます

この積み上げにより、テストの生産性システムの長期的な品質が安定的に高まります。

運用・評価の進め方(企画・開発とのフィードバックループ)

開発が終わったら、システムを実際に運用し、企画時点で想定していた価値が実現しているか(=事業要件が満たされているか)を検証し、評価します(下図)。

企画・開発と運用・評価のフィードバックループ

価値の評価は、KGI(Key Goal Indicator: 経営目標達成指標) *1KPI(Key Performance Indicator: 重要経営指標)*2といった定量的な指標を使用して、具体的な成果を数値で測定します。例えば、ユーザー数の増加率や操作ミスの減少率などが評価対象となります。

また、ユーザーから寄せられるフィードバックやサポートリクエストを分析し、使い勝手や性能に関する定性的な知見を収集します。ユーザーインタビューやアンケート調査の結果からは、満足度や改善の優先度といった具体的なインサイトが得られます。さらに、エラー率やダウンタイムなどの運用データを分析し、技術面からの評価も加えます。

こうして得られた業務面・技術面の両方の知見を次期開発の企画へと結びつけることで、システムは継続的に改善されます。この関係をV字モデルに当てはめると、下図のようになります。

企画・開発と運用・評価のフィードバックループ(V字モデル)

まとめ

品質保証プロセスは、コードレビューから運用テストまで、粒度の小さな単位から順に品質を積み上げることで、システム全体の安定性を高めることができます。

さらに、運用で得られるKGI・KPIやユーザーフィードバックを次の企画へ循環させることで、システムは継続的に改善されます。

次回の記事では、品質を積み上げる重要性について説明します。

tracery.jp

この記事を書いた人
haru

佐藤治夫。株式会社ビープラウド代表取締役社長。TRACERYのプロダクトマネージャー。エンジニアとして活動を始めて以来、モデリングを中心としたソフトウェアエンジニアリングを実践している。Xアカウント: https://x.com/haru860

*1:企業やプロジェクトが達成すべき主要な目標を評価するための指標。KGIは、組織が目指す最終的な成果や成果を測定し、戦略の成功を評価するのに役立つ。例えば、売上の増加、マーケットシェアの拡大、顧客満足度の向上などがKGIとして設定されることがある。KGIは、全体的なビジネス目標や戦略の達成状況を示すため、重要なパフォーマンスの指標となる。

*2:組織やプロジェクトの進捗や成功度を測定するための具体的な指標。KPIは、特定の目標やタスクの達成状況を評価するために使用され、組織が戦略的な目標を達成するための進捗を追跡するのに役立つ。例えば、売上高、顧客獲得数、製品品質、作業効率、従業員満足度などがKPIとして設定されることがある。これらの指標は、数値や割合などの形で測定可能であり、進捗のモニタリングや改善のための意思決定に役立つ。