テスト設計には基本設計と詳細設計がある | 組み合わせテストケース生成ツール 「PictMaster」 とソフトウェアテストの話題
2008年06月10日

テスト設計には基本設計と詳細設計がある

テーマ:テスト設計
テスト仕様書を作成するとき、いきなり最初の項目から詳細を書き始める、というようなやり方をしていないでしょうか。
ソフトの設計作業をソフトウェア設計というように、テスト仕様書を作成する作業をテスト設計といいます。

ソフトウェア設計に基本設計と詳細設計があるように、テスト設計にも基本設計と詳細設計が必要です。
以下の工程は、私のチームが行なっている方法ですが、何らかの参考になれば幸いです。なお、ここではテスト仕様書にExcelを用いていることを前提として説明しています。また、テスト仕様書は、1つのテスト仕様のワークシートと各テスト項目に対応した1つ以上のテストケースのワークシートから成り立っているものとします。

基本設計では、
1.テスト対象の分析
 テストの対象とする仕様を分析し、適用するテスト技法を選択します。
2.テスト対象範囲の選択
 同じテストの対象とすることのできる仕様が他にないか洗い出しを行ない、あればテスト対象に含めます。
3.テスト項目の定義
 洗い出した内容を元に何を何の目的でテストするのかをテスト項目として定義します。基本設計ではテスト項目を定義するだけで、テストの内容は詳細設計で決めます。テスト項目を定義することはテスト項目名称を決めることだともいえます。このとき、その項目が機能仕様書のどの項目をテストするものであるかをテスト仕様に明記します。1から3を漏れなくすべてのテスト対象について実施します。

詳細設計では、
4.テストケースの作成
 テスト対象の仕様と設定するデータを調べ、基本設計でテスト仕様に書かれた情報をもとに適用するテスト技法にそって具体的な個々のテスト実施の条件(テストケース)をテスト項目ごとに別々のワークシートに記入します。
5.テスト仕様の作成
 テストケースを実施アするための手順と確認事項およびテスト実施に必要なデータ設定内容をテスト仕様のワークシートに記入します。

ここで重要な点がいくつかあります。
(1) 3のテスト項目の定義で、
その項目が機能仕様書のどの項目をテストするものであるかをテスト仕様書に明記する点です。これがないと、テスト担当者はテスト項目をよく理解できないままテストを実施してしまい障害に気がつかないリスクがあります。
(2)
具体的な個々のテスト実施の条件(テストケース)が書かれたワークシートを作成した後で、テスト仕様のワークシートで、テストケースを実施するための手順と確認事項などを記入します。これは、テストケースに書かれているテスト対象の要因(回線種別、端末種別、など)の名称を用いてテスト実施の手順を説明することで相互の関連をとるためです。これを逆にやろうとすると、テストケースがまだ存在しないためテスト仕様の作成が難しくなります。
(3) 3のテスト項目の定義では、機能仕様書には書かれていない項目についても必要であれば定義するようにします。(例:イリーガルな条件でのテスト)

テスト設計を基本設計と詳細設計の工程に分けることによって、いくつかのメリットが生まれます。
・基本設計が完了した段階でレビューを行なうことで、少ない費用で手直しができる。
・基本設計を行なう人と詳細設計を行なう人を別の人にすることができ、人員の割り当てに柔軟性が生まれる。
・詳細設計は初心者、基本設計はベテランといった割り当てを行なうことで、その人のスキルにあった割り当てが可能となる。

こうしたテスト設計を行なうには、テスト仕様書を作成する人たちが共通のルールにしたがって作成を行なう必要があります。そのためには「テスト設計マニュアル」といったドキュメントが必須となります。

AD