■PM Tools A to Z_No.45
ソフトウェア・テスト(8)
2006.10.11
今回はソフトウェア・テストの説明の締めくくりとして、プロジェクトのフェーズとテストの関係について概観します。
これまで説明してきた各種のテストは所定のフェーズで実施されますが、各種のテストとフェーズとの関係を例示すると、以下のモデルのようになります。
<図> テストとフェーズの関係(モデル)
このモデルから、各フェーズには次のようにそれぞれ対応するフェーズがあることが分かります。
| |
・「定義フェーズ」と「運用フェーズ」
・「機能設計フェーズ」と「導入フェーズ」
・「システム設計フェーズ」と「システムテスト・フェーズ」
・「プログラム設計フェーズ」と「プログラム製作フェーズ」 |
また、各種テストを実施するフェーズは次のように設定されます。
| |
・単体テスト:プログラム製作フェーズ
・結合テスト、システムテスト:システムテスト・フェーズ
・検収テスト:導入フェーズ |
さらに、各種テストの仕様書(当該テスト計画書も含む)は、当該テストを実施するフェーズと対になるフェーズで作成するようにします。
| |
・単体テスト仕様書:プログラム設計フェーズ
・結合テスト仕様書、システムテスト仕様書:システム設計フェーズ
・検収テスト仕様書:機能設計フェーズ |
これが原則です。現実にはテスト仕様書の作成が遅れ、所定のテスト・フェーズに入ってからそのテストのための計画書や仕様書を作成する場合が見られます。このことは、プロジェクト進捗の遅れや品質確保ができない大きな原因にもなっています。プロジェクト計画書の中にテスト計画書とテスト仕様書を作成する作業を設定(WBSに含める)して、プロジェクト・スケジュールに載せておくことが大切です。
さて、最後にテストに関する重要な留意点を記しておきましょう。
ソフトウェアの品質は、基本的に設計フェーズでほぼ決定されてしまうと言っても過言ではありません。これは、テストで品質を向上させることには限界があるということを示しています。したがって、ソフトウェアの品質を確保する最良のアプローチは、「設計品質を上げる」ということになります。このことは、品質の達成に関する議論の際によく言われる言葉、「品質とは計画、設計、作り込みによって達成されるものであり、検査によってではない」と重なるものがあります。