テストを行う手順やテストで期待される結果などをまとめる「テスト設計」が終了したら、いよいよテストを実行する段階(テスト実行)に入ります。

ただ一口にテスト実行と言っても、単に決められたテストの内容(テストケース)をこなせばよいわけではありません。テストケースの実行前後に、必要な準備作業や後付けにあたる作業も必要です。この記事では、これら前後の作業を含め、テストの実行段階ではどんなことをするかまとめています。

テスト実行前の準備

テスト計画書やテストケースができたからといって、いきなりテストケースを実行する作業に移れるわけではありません。きちんと準備してから対応を開始しないと、失敗したりスケジュールが遅れたりする原因となります。ここではテスト計画書・テストケースの作成が完了したあと、テスト実行に移る前にしておく必要がある主な準備作業を紹介します。

優先順位の設定

テストケースごとに優先度の高さなどが違います。たとえば優先度の高いテストケースでバグが発見された場合、より優先度の低い別のテストケースを実行する必要性がなくなることもあるわけです。そこで、テストケースを実行する優先順位を決め、設定します。

テストデータの作成

テストデータは名前の通りテストを実行する際に、想定した通りの結果が出るか確認するために使うデータのことです。たとえば、”所持金がMAX状態のデータ”や、”xxステージまで進行しているデータ”といった類のものになります。テストデータは、テストケースを実行する前に、あらかじめ用意しておく必要があります。

テストスイートの作成

テスト手順が用意できたら、次にテストスイートを作成します。テストスイートとは、テストの目的や対象ごとに複数のテストケースをまとめたものです。

テストケースの中には、あわせて実行した方が効率よくバグを発見できる組み合わせがあります。そういったテストケースを集めてテストスイートを作成するわけです。テストスイートの中に、別のテストスイートを組み込むこともあります。

テストケース、テストスイートについては、以下のサンプルの表をご確認ください。

テストケースサンプル

テストケースのサンプル(クリックで拡大します)

 

テスト実行

テストの準備が整ったら、いよいよ実行です。テスト計画書に基づき、テストケース・テストスイートを実行していきます。

テスト実行後

テストスイート・テストケースを単に消化すれば、テストが完了するわけではありません。テストスイート・テストケースの実行後に、もろもろの作業が必要となります。以下、具体的にどんな作業を行うのか1つずつ解説します。

テスト実行結果の記録

テストを実行した結果を記録して保管しておく必要があります。具体的には、いつ、どんな環境(OS・システム構成・ハードウェア構成等)でテストを実行したか、どのような事象が発生し、どのようなログを残っているか等をまとめておくわけです。これらの記録が、テストを実行したことのエビデンスとなります。

インシデント報告

テストケースを実行した上で、(ソフトウェアが正常に動作していることを示す)想定される結果と、エビデンスの内容に整合性がとれているかを確認します。整合性がとれていれば、そのテストケースは「合格」もしくは「実施済み」となりますが、そうでなければ「不合格」となり、「インシデント報告」が必要です。

具体的にはその事象に再現性があるかや、その結果によって他のテストケースに影響が生じるかなどを分析・調査して報告書にまとめます。この報告書はインシデントレポート・不具合報告書・バグレポートなど、組織によって様々な呼び方があります。

くわえて、あらかじめテスト計画等で定められた通りに、バグが発見されたときのフローに従い、エスカレーションやテストを一旦中断するかの判断等を行うことも必要です。

インシデントレポートのサンプル(クリックで拡大します)

 

リグレッションテスト(回帰テスト)の実行

インシデント報告の後、開発者によってバグの修正が実行されたら、改めてテストケースを実行しバクがなくなっているか(「合格」するか)をチェックする「確認テスト」を行う必要があります。

あわせて、バグの修正によって他の機能にも影響がでていないかチェックしなくてはなりません。具体的には、バグ修正後に主要なテストケースを繰り返して実行したりするわけです。このように、バグ修正後に、他の機能に悪影響が生じていないか確認するテストのことを、まとめてリグレッションテスト(回帰テスト)と呼びます。

まとめ

テストを実際に実行する前に、優先順位に基づきテストを行う順番(「テスト手順」)を決めたり、一緒に行うべきテストケースをまとめた「テストスイート」を作成したりすることが必要です。またテストの際に使うデータ(「テストデータ」)も、テスト実行前に用意しておきます。

テストを実行した上でバクが発見された場合は、インシデント報告を行います。さらに開発者によってバグが修正されたあとは「リグレッションテスト(回帰テスト)」が必要です。リグレッションテストとは、バグが修正されているかチェックする確認テストや、他の機能に影響がでていないか主要テストを改めて行うことを指します。