5.1 欠陥予防のプラクティス
欠陥予防の目的とメリット
Section titled “欠陥予防の目的とメリット”欠陥予防の主な目的は、作業成果物における欠陥の(再)発生の可能性を減らし、ソフトウェア開発ライフサイクル(SDLC)の後のフェーズへ欠陥が流出するのを防ぐためのアクションを実施することです。
この取り組みを成功させることで、コストと労力の削減、生産性の向上、そして製品品質の向上といった重要なメリットが得られます。欠陥予防はチーム全体の責任ですが、テストアナリスト(TA)は特有の知識や経験を活かしてこのプロセスに大きく貢献することができます。
テストアナリスト(TA)による具体的な貢献
Section titled “テストアナリスト(TA)による具体的な貢献”TAは、ドメイン知識、テストの専門知識、および分析スキルを活用して、以下のようないくつかの方法で欠陥予防に貢献します。
- 「リスク分析への参加」: 特定されたリスクが適切に軽減されているか(例:最適なテスト技法が選択されているか)を確認します。
- 「要件、モデル、仕様のレビュー」: テストベースの段階で欠陥を早期に発見することで、コードへの流出を防ぎ、欠陥の修正コストを大幅に減少させます。
- 「レトロスペクティブ(振り返り)への参加」: テストの分析、設計、実装、実行における潜在的な改善点を特定します。たとえば、より効果的なテスト技法の使用、特定のリスク領域に絞ったテストの実施、偽陽性や偽陰性を減らすためのテストデータや環境の改善などが挙げられます。
- 「欠陥データの収集と評価」: 欠陥に関する詳細なデータを収集して分類と統計分析を可能にし、根本原因分析やプロセス改善を支援します。
- 「根本原因分析(RCA)への参加」: 特定された根本原因に対処するための是正措置を提案し、欠陥の再発を防ぎます。
欠陥予防策の有効性を評価するメトリクス
Section titled “欠陥予防策の有効性を評価するメトリクス”欠陥予防に参加することに加えて、TAは(通常はテストマネージャーと相談しながら)提案した対策が期待通りの効果を上げているかを評価します。これらの対策の有効性を評価するための代表的なメトリクス(指標)は以下の通りです。
1. 欠陥除去効率 (DRE: Defect Removal Efficiency)
Section titled “1. 欠陥除去効率 (DRE: Defect Removal Efficiency)”リリース前に除去された欠陥数と、全体の欠陥数の比率を測定します。DREが高いほど、本番環境に流出した欠陥が少ないことを示し、欠陥予防のプラクティスが機能していることを示唆します。ただし、DREは「予防」によって防がれた欠陥なのか、「検出」によって見つかった欠陥なのかを区別することはできません。
2. フェーズ混入阻止の有効性 (PCE: Phase Containment Effectiveness)
Section titled “2. フェーズ混入阻止の有効性 (PCE: Phase Containment Effectiveness)”あるフェーズで作り込まれた欠陥のうち、同じフェーズ内で発見・除去された欠陥の割合を測定します。PCEが高いほど、後続のフェーズに流出する欠陥が少ないことを示します。
3. 品質コスト (Cost of Quality)
Section titled “3. 品質コスト (Cost of Quality)”欠陥の予防、欠陥の検出、および欠陥の除去にかかるコストの相互関係を示します。