検証(Verification)と妥当性確認(Validation)は、どちらもソフトウェア製品が意図した要件や条件を満たしているかどうかを判断するプロセスです。検証は、分析、設計、コーディング、テスト、レビューなど幅広いプロセスに適用できますが、検証は通常、受け入れプロセスで使用されます。
検証
ソフトウェアプロジェクトのバリデーションには、一般に、契約バリデーション、プロセスバリデーション、要件バリデーション、設計バリデーション、コーディングバリデーション、統合バリデーション、文書バリデーションが含まれます。
契約の検証
- 供給側には需要を満たす能力があります。
- 要件は一貫しており、ユーザーのニーズを再現しています。
- 要件の変更やエスカレーションに対応するための適切なプロトコルが整備されています。
- 所有権、ライセンス、著作権、機密保持の要件を含む、当事者間のインターフェースとそのプロトコル、協力の範囲を定義します。要求事項に従って、受け入れ基準とプロトコルを定義します。
プロセス検証
- プロジェクトは適切かつタイムリー。
- プロジェクトに選択されたプロセスは適切であり、契約要件を満たしています。
- プロジェクトのプロセスで使用される基準、手順、環境は適切です。
- プロジェクトには、契約の要件に従って訓練を受けたスタッフが配置されました。
要件の検証
- ニーズは明確で、一貫性があり、曖昧ではありません。
- 要求は実現可能です。
- 要件はテスト可能です。
デザイン検証
- 設計は正しく、要件を満たすことができます。
- 設計は要件から導き出すことができ、要件は設計から追跡することができます。
コード検証
- コーディングは設計と要件を満たすために適切です。
- コーディングはデザインから導き出すことができ、デザインはコーディングから辿ることができます。
統合検証
- 各ソフトウェアアイテムのソフトウェアコンポーネントおよびソフトウェアユニットが、ソフトウェアアイテムに完全かつ正しく統合されていること。
- システムのハードウェア項目、ソフトウェア項目および手動操作は、完全かつ正確にシステムに統合されています。
文書検証
- ドキュメンテーションは適切かつ完全で、一貫性があります。
- ドキュメンテーションはタイムリーです。
- 文書構成管理は所定のプロトコルに従いました。
確認
プロジェクトで検証作業が必要な場合は、ソフトウェア製品が意図した用途を満たしていることを確認するための検証プロセスを確立する必要があります。バリデーションは、組織内部で実施することも、独立した第三者によって実施することもできます。
一般的に、確認プロセスには以下の作業が含まれます:
テスト要件、テストケース、テストプロトコルの作成。これらのテスト要求事項、テストケース、テスト手順が、ソフトウェア製品の使用目的を反映していることを確認します。テストの実行。ソフトウェア製品が意図した用途を満たしていることを確認します。




