テスト設計をする際には、テスト技法を使うことで、効率的に効果的なテストケースを作ることができます。今回、本稿で紹介する技法となる「順序組み合わせテスト」と「波及全使用法:IDAU法」は、バージョンアップ開発や派生開発などで、テスト対象に変更が入ったときに役立つテスト技法です。本稿を読んだみなさんに現場で適用してもらいたいと考えているため、連載形式で具体例も織り交ぜてわかりやすく紹介していきます。連載は全部で8回を予定しています。前半の4回はこの技法の特徴や具体的な使い方を湯本から説明します。連載の後半では、後続研究として取り組んだ内容を武田から説明します。
第三回目となる今回は、順序組み合わせテストによるテスト設計の手順とルールを、具体例を使って説明していきます。
テスト対象のおさらい
連載の初回で、複数の処理を動かすテストとは何か?という説明をする際に、「ホテル予約のWebサイトで、予約したい部屋が空いていれば予約ができ、空きがなければ予約ができない」「予約は予約日の2日前であればキャンセルできる」という仕様項目を例にして説明を行いました。そして「キャンセルは誤って押してしまう場合があるため、キャンセルしたその日であれば、キャンセルを取り消すことができる」という仕様変更が入った状況を示し、この仕様変更は以下の3点が考えられるという説明をしました。
- キャンセル当日であれば、他の人が予約できないこと
- 翌日になれば他の人が予約できること
- キャンセルを取り消せば翌日になっても他の人はホテルの部屋の予約ができないこと
今回は、具体例として、予約したホテルの部屋のキャンセルに対してこれらの仕様変更が入ったときに「どこまでテストをすべきか?」という問いに対して、順序組み合わせテストとIDAU法を適用したテスト設計をしてみたいと思います。
変更タスクの特定
順序組み合わせテストで最初に行うのは、機能セットから変更タスクとそのデータストア(変更に影響を受けるデータの格納先)を特定することです。ホテル予約のWebサイトの例で示した「キャンセルしたその日であれば、キャンセルを取り消すことができる」)という仕様変更の場合は、「キャンセル取消」が変更タスク群に該当します。また「キャンセル」も、キャンセル当日か翌日かを状態で判断するタスクが入るので、変更タスク群の中に入るタスクでしょう。そして、それらはホテル空室予約というデータを更新します。図1が変更タスク群を特定したDFDになります。
図1 変更タスクの特定
続きを読むにはログインが必要です。
ご利用は無料ですので、ぜひご登録ください。