”ソフトウェア製品ができるまでのプロセス”をコーディングで折り返して、ちょうど”V”の字になるようにしてみます。
この図は、一般的に”V字モデル”といわれるもので、品質保証を考える上で非常に興味深い関係を示しています。
V字モデルを見て、要求定義とシステムテスト、基本設計と統合テスト、詳細設計とソースコードレビュー・ユニットテストが同じ高さにあることがお分かりでしょうか?
コーディング工程を折り返し地点とすると、製作と検証の関係にある工程が、ちょうど同じ高さに配置されるのです。
品質保証プロセスでは、詳細設計どおりにソフトウェアが作成されているかをソースコードレビュー・ユニットテストで検証し、次に基本設計を満たしているかを統合テストで検証します。
最後に要求定義を満たしているかをシステムテストで検証して、品質保証が完了する流れになっています。
各品質保証プロセスが保証する範囲は、以下のようになります。
ソースコードレビュー・ユニットテスト | 詳細設計どおりにソースコードが作成されていることを保証する |
---|---|
統合テスト | 基本設計どおりに実行モジュールが作成されていることを保証する |
システムテスト | 要求定義どおりに実行モジュールが作成されていることを保証する |
※検証工程は対応する設計工程のアウトプット(設計書)をインプットとします。
よって、設計書には検証すべき内容がすべて記述されている必要があります。
※各工程の呼び名は各社・各プロジェクトで異なりますが、
実装したもの(ソースコード)が要求どおりに動作することを保証する工程は存在するはずです。