ほんとうに有効なテストケースとは?

この記事はNishi Grover Gargによるゲスト投稿です。

テストチームは常に新しいテストを設計しては追加し、実行し、結果をレポートしています。けれど、実際の問題を見つけるのに役立つようなテストが作成されているでしょうか?

増え続けるテストの数をさらに増やすだけでなく、実際に役に立つテストかどうかは、どうしたらわかるでしょうか?

この記事では、テストの有効性を計測する―そして改善する―いくつかの方法を説明します。

発見された欠陥

テストケースの有効性を表す最も明白で重要な指標は、テストケース実行時に見つかった欠陥です。設計されたテストケースを実行する際、常に以下のような疑問を念頭に置くべきです。

  • このテストは欠陥の場所へ導いてくれるか?
  • 事前定義されたテストケースによって問題を発見できているか?それとも、もっと探索テストをしなければ、問題に近づくことさえできそうにないか?
  • このテストは固有のフローや共通のパスを検証しているか?

メトリクス

欠陥リストをチェックして記録された欠陥に関連するテスト ケースを確認することもできます (使用している欠陥管理システムにそのような機能があれば)。そうした関連は、どのテスト ケースが欠陥の発見につながったかを理解するのに役立ちます。

さらに、そのようなテスト ケースがテスト設計時に作成されたのか、後で問題が見つかったときにリストに追加されたのかを解析することもできます。

履歴

過去の欠陥をチェックすると、それまでのスプリントやリリースで問題を発見したテストが新しいテスト設計の一部として組み込まれたかを確認できます。テスト実行時にテストの有効性を促進するために適用した技術に従って、後にそのようなテストをテスト ケースに追加し、今後の習慣にするべきです。

探索

テストケースが有効でなければ、テスト実行時に有意義なバグを発見できません。つまり、計画していなかった探索テストやアドホックテストに多くの時間を費やすことになります。ですから、実際のテスト実行にかかった時間とアドホックテストにかかった時間を比較することで、設計されたテストケースの有効性を判断できます。

テストケースが有効であれば、問題を発見したうえで、さらにパスを探索し、他の機能とのさまざまな統合を試し、1つの機能をさまざまな面からテストできます。

テスト終了時に、上記のすべてを達成できていないと感じるなら、それは現在のテストケースが単純すぎるか容易すぎて、見つける価値のあるバグを見つけられるほど有効ではないのだと推測できます。

これらのポイントに基づいて、テストケースの有効性を判断できます。

Nishiは企業トレーナー、アジャイルの信奉者、そして根っからのテスターです。業界で13年以上の経験を持ち、現在はSahi Proでエバンジェリスト兼トレーニングヘッドとして働いています。トレーニングに情熱を注ぎ、テストコミュニティイベントやミートアップを主催したり、多数のテストイベントやカンファレンスで講演を行っています。アジャイルおよびテスト分野での最近のトピックを取り上げたブログをご覧ください。

(この記事は、開発元Gurock社の Blog 「Are Your Test Cases Really Effective?」2021年8月18日の翻訳記事です。)

タイトルとURLをコピーしました