テスト工程では、ソフトウエアの実行やソースコードの検証を行います。この作業を通じて、システムが正しく意図した通りに動作するのかを確認し、ソフトウエアに潜むバグを発見します。

 テストは、システムの納品前に品質を確保する非常に重要な作業ですが、単調で地道な作業をコツコツとこなしていく必要があります。

 その一方でテストは、非常に多くの作業工数を要します。システムの規模や種類にもよりますが、システム開発に関わる工数のうち、一般的におよそ4割がテストに費やされているといわれています。このため、テストの効率化は開発全体の効率化に非常に大きく寄与します。

テスト自動化で効率を上げ品質を高める

 テスト工程に自動化ツールを活用することにより、単調なテストの作業を効率化できるだけでなく、作業品質の向上というメリットを享受できます。テストの自動化により、早く楽にテストを進行できますし、人的ミスの入り込む余地を減らしてテストの質そのものを向上させることができます。ただし、このような効果を得るためにはテストツールを適用するためのポイントを押さえる必要があります。

 既にさまざまなテストツールが存在しており、実際に活用されるようになっています。テストツールを利用するにあたっての、多くのノウハウも公開されてきています。その中からいくつかのテストツールを2回に分けて紹介します。

 ここでは、テストの作業のうち「テスト設計」と「テスト実装」という2つの作業に焦点を当てて説明します。まず、これらの作業イメージを図1に示します。「テスト設計」とは、テストの対象となる要件や設計からテストケースを作成する作業です。そのあとの作成されたテストケースを実行可能な形式にするために、テスト環境を構築したり、テストデータを準備したりする作業を「テスト実装」と呼びますが、図1では省略しています。そして、実際にテスト対象を動作させて、挙動を確認するのが「テスト実行」となります。

図1●テスト設計からテスト実行までの概略

 今回は、「テスト設計」を自動化するツールを解説します。

テストの自動化で重複を省き「漏れ」も防ぐ

 テスト設計は、テスト分析によって洗い出されたテスト条件から、テストケースを作成する作業のことを指します。

 テスト設計によって作成されたテストケースによって実際にテストを実行しますので、テストケースに重複があると無駄なテストを実施することになり、不必要にテストの工数が増加してしまいます。逆に、テストケースを減らしたことによって漏れが発生すると、結果としてバグを発見できず、システムのリリース後に障害が発生する可能性があります。

 このため、テスト設計では、「より少なく無駄のない」かつ「漏れがない」テストケースを作成することを意識する必要があります。