4. テスト設計仕様の各項目
テンプレート1にテスト設計仕様の各項目を掲げました。ここでは右端の列に補足説明も書き加えてあります。
| 英語名称 | 日本語名称 | 補足説明 |
| ID | 識別子 | |
| TestDesignID | テスト設計仕様番号 | 「TestDesignID(テスト設計仕様番号)」はテスト設計仕様(この表)を他の表から参照する時に使います。 |
| TestPlanID | テスト計画番号 | 「TestPlanID(テスト計画番号)」はテスト計画を参照しています。 |
| FeaturesToBeTested | テストする機構 | 「FeaturesToBeTested(テストする機構)」はテストするすべてのソフトウェア機構、ソフトウェア機構の組み合わせを記述します。 |
| ApproachRefinement | テスト方法の明確化 | 「ApproachRefinement(テスト方法の明確化)」はテスト計画で記述されたテスト方法の詳細を記述します。 |
| TestID | テスト番号 | 「TestID(テスト番号)」付随するテスト・ケース番号を列挙します。これはIEEE829に合わせて残していますが、この文書では別途「テスト・ケース仕様」を用意するので、使わないエントリーです。 |
| FeaturePassFailCriteria | 機構の可否判断基準 | 「FeaturePassFailCriteria(機構の可否判断基準)」は各テスト機構がテストを通過したのか失敗したのかの判断基準を書きます。 |
| Responsibilities | 責任 | 「Responsibilities(責任)」は責任者の氏名を書きます。 |
| DateInPlanned | 予定開始日 | 「Date」は4項目あって、プロジェクト管理用に使います。
|
| DateOutPlanned | 予定完了日 | |
| DateInActual | 実開始日 | |
| DateOutActual | 実完了日 |
5. 開発工程とテスト文書の関係
図3に開発工程とこのIEEEテスト文書の関係を載せました。これを少し整理しましょう。
5.1. テスト仕様とテスト文書
この連載のタイトルにも入っているテスト仕様書は、開発工程の中で局面ごとの完了基準を定めることにも使われます。今回登場したIEEEテスト文書は、実際のテストを行う上で必要なテスト文書を定めています。これはどういうことを意味するのでしょうか。
5.1.A. 局面完了基準
図の開発工程の上流「要件定義」「設計」で局面が完了するとは
- その局面でするべきことが
- すべて実施されている
- 未済の場合には誰がいつまでどう対処するかに関して関係者の合意が取れている
- 次の局面でするべきことが決まっていて実施できる
ことが分かった場合です。通常、局面完了判定会議があり、そこで判定されます。
テスト仕様はテスト局面で実施される判定会議資料としても使います。
- そのテスト局面でするべきことが
- すべて実施されている(するべきテストはすべて実施した)
- 未済の場合には誰がいつまでどう対処するかに関して関係者の合意が取れている(例えば、次のテスト局面で実施する、など)
- 次の局面でするべきことが決まっていて実施できる(テスト計画が決まっていて、テスト環境も整備された、テスタも準備している)
などです。
5.1.B. 実際のテスト実施
一方、何をどうテストし、発見されたエラーはどのように適切に対処する、などの実際にテストで実施することも決めておかなければなりません。IEEEテスト文書を使って
計画 → 設計 → 手続き → ログ → インシデント
という流れで実施するのです。
5.2. 実際
実際のプロジェクトでは、この「テスト設計仕様」はテストするべき対象ごとに一つずつ作りました(たくさん作りました!)。
最初ドラフトを書いている時は、Microsoft Wordを使っていましたが、たくさん作らなければならないということが分かって、Microsoft Excelに切り替えました。さらに後になって、データベース化しておかないと不便ということが分かり、今度はMicrosoft Accessに入れて管理しました(このプロジェクトが終わって、このテスト文書全体を製品化して他社のいくつかのプロジェクトで使っていただきました)。
6. まとめ
IEEEのテスト文書のうち、テスト設計仕様を学びました。テスト仕様書は開発工程の中で局面ごとの完了基準を定めることに使われます。IEEEテスト文書は実際のテストを行う上で必要なテスト文書を定めています。
7. 参考文献
- 『SEのためのソフトウェア・テストの基本』 山村吉信 著、翔泳社、2003年12月
- IEEE Std 610.12-1990 IEEE Standard Glossary of Software Engineering Terminology(用語)
- IEEE Std 829-1998 IEEE Standard for Software Test Documentation(テスト文書)
- IEEE Std 830-1998 IEEE Recommended Practice for Software Requirements Specifications(要件仕様)
- IEEE Std 1016-1998 IEEE Recommended Practice for Software Design Descriptions(設計)
- CodeZine 『テンプレートから学ぶ受注する開発者のためのテスト仕様書(1)』 山村吉信 著、2009年7月
- CodeZine 『テンプレートから学ぶ受注する開発者のためのテスト仕様書(2)』 山村吉信 著、2009年8月
- CodeZine 『テンプレートから学ぶ受注する開発者のためのテスト仕様書(3)』 山村吉信 著、2009年9月
- CodeZine 『テンプレートから学ぶ受注する開発者のためのテスト仕様書(4)』 山村吉信 著、2009年10月
- CodeZine 『テンプレートから学ぶ受注する開発者のためのテスト仕様書(5)』 山村吉信 著、2009年11月

