* Validation とVerification [#t6b55794]

テストには、Validation とVerification という考え方があります。
- Validation
-- 正しいものを作っているか確認する
- Verification
-- ものを正しく作れたか検証する

詳細設計書をもとに、ソースコードを作成した場合を例にします。

Validation は、詳細設計書に基づいて作成したソースコードが、詳細設計書に書いてある内容を満たしていることを確認します。つまり、成果物に対する確認です。

Verification は、詳細設計書に基づいてソースコードを作成できたことを確認します。つまり、プロセスに対する確認です。

例えば、詳細設計書の一部の情報を完全に見落として、ソースコードを作成したとします。ただし、見落とした情報以外については、正しく作成できたとします。この場合、プロセスの input が正しくないのですが、プロセス自体は正しいので、Verification は PASS します。しかし、Validation で FAIL します。

一方、Verification は Validation より細かい粒度で確認を行ないます。例えば、以下のような設計仕様があったとします。
 関数 PrintGender(uint8_t num)
 num 0:男性, 1:女性

上記の仕様に基づいた validation では、最低限テストケースで保証する num の値は 0 と 1 です。しかし、以下のような実装で、num > 1 のときに発生する不具合を発見できません。
 char gender[] = {'M', 'F'};
 PrintGender(uint8_t num)
 {
     printf("%c", gender[num]);
 }



トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS