開発工程イメージ:関数実装

要求仕様〜の流れを「関数実装」の工程に当てはめてみる。

f:id:chryfopp:20130211095523p:plain

関数実装の工程では『実装・構築』(ビルド)に掛かるコストが他の設計工程よりずっと低いはずなので、それに合わせて一部の流れを変更する。

ブラックボックス試験をユニットテストとしてコード化でき、ブラックボックス試験の実行にさほどコストが掛からない(ソースコードレビューより掛からない)のであれば、ソースコードが書き上がると同時にブラックボックス試験を通す流れにすると効率が良い。ソースコードを見て「これなら要求を満たせるであろう」などと言うよりも、実際に要求を満たせていることを明示した方が話が早い。

条件網羅のホワイトボックス試験は、関数が持つすべての条件分岐の組み合わせ、言うなれば「関数内の結合パターン」を試験するものである。『JIS X 0020:1992 情報処理用語(システム開発)』では結合試験(integration test)を「プログラムまたはモジュールが、全体システムにおいて正しく機能することを確認するために、それらを段階的に結合し、試験すること」と規定している。この「全体システム」を「関数単体」に置き換え可能とするならば、ホワイトボックス試験は関数実装における結合試験のようなものと考えられる。