概念 #テスト・品質保証 #コード品質 📚 ソフトウェア品質管理

V&V:検証と妥当性確認

仕様適合性を確認するVerificationと、ニーズ充足性を確認するValidationという2つの観点から品質を担保するV&Vの考え方

概要

V&V(Verification & Validation)は、品質保証における2つの根本的な問いを分離した考え方。

  • Verification(検証):「正しく作れているか」— 仕様に適合しているかを確認する
  • Validation(妥当性確認):「正しいものを作れているか」— ユーザーのニーズを充足しているかを確認する

この2つは観点が異なる。仕様通りに作っても(Verification OK)、そもそも仕様がユーザーニーズとズレていれば意味がない(Validation NG)。

V&Vの利点

利点説明
リスクが高い問題の早期発見開発の早い段階で重大な問題を検出できる
成果物の評価システム要件に対して成果物が適切かを評価できる
情報の継続的な共有品質と開発進捗状況を関係者間で継続的に共有できる
ユーザーとの早期調整システムの出来栄えが順次見えることで、ユーザーと早期に認識を合わせられる

V&Vで用いられる技法

  • レビュー — 仕様書・設計書・コードを人間が検査する
  • テスト — 実際に動かして期待通りの振る舞いを確認する

VerificationはレビューやユニットテストでカバーしやすいがValidationは実際のユーザーや業務文脈での確認が必要なため、より難しい。

IV&V(独立V&V)

開発組織から技術面・管理面・財務面のすべてで独立した組織がV&Vを実施する形態をIV&V(Independent V&V)と呼ぶ。

独立性を確保することで、開発側のバイアスや圧力なしに客観的な評価が可能になる。

実施例:

  • NASA(米国航空宇宙局)— 宇宙ミッションのソフトウェアで採用
  • JAXA(宇宙航空研究開発機構)— 日本の宇宙開発で展開

これらの分野は障害が人命に直結するため、開発組織内の品質管理だけでなく外部からの独立した検証が必須となっている。

関連概念