LoginSignup
1
1

More than 3 years have passed since last update.

テスト自動化はなぜ新種のバグを見つけにくいのか WebAppの現状

Posted at

Outline

テスト自動化研究会にて、テスト自動化の8原則が掲げられています。
その8項目の中で
「自動テストで新種のバグが見つかることは稀である」
とあります。

テストエンジニアになり、ISTQBを勉強している人にこれを説明する機会がありました。
その時の持論がとても理解してもらったので、忘れないためにブログに残しました。

前提

テスト自動化の前提は以下の通りです

  • Webアプリケーション
  • Ranorex等のcapture方式で実装、もしくはwebdriverでスクリプトを組む
  • ウォーターフォール、もしくはアジャイル
  • テスト自動化の実装部隊は、いわゆるQA部署(開発ではない)

テスト自動化の工程

なぜ、新種のバグを見つけにくいのかを知るには、工程を知るとわかりやすい

自動化の工程は単純に言うと

  1. テスト対象を構築する
  2. テスト対象からオブジェクトを抽出しながら(XPathやID、イメージ等)スクリプトを実装する
  3. テスト自動化が正しいかを検証する
  4. テスト自動化が仕様通りにならない場合、テスト対象にバグがあるため、テスト対象を改修し、テスト自動化のテストを再開する
  5. テスト自動化スクリプトが完成

Step3の”テスト自動化が正しいこと”を検証するフェーズは重要になります。

大きく2つポイントがあり

  • テスト自動化が最後まで動くことを確認
  • テスト自動化が仕様通りに動くことを確認

2番目は、当たり前なんですが、別の見方をすると
「テスト対象がバグがあると、それを元に作ったテスト自動化が動いても、テスト自動化が正しいとは言えない」
のです。

そのため、Step4の工程が発生します。
自動化を作る過程でバグが見つかり、テスト対象をエンジニアに直してもらう。

この過程で、Step5 テスト自動化が完成します。
ここから、このテスト自動化がテストとして動かすことができます。

ただ、ここで考えてみてください。
このときに、テスト自動化を実施して、何が起きるでしょうか?

基本的に、テスト自動化を実施したときバグはあまり出てきません。

なぜなら、上記工程でテスト自動化を作ってるからです。

ただ、完全にバグゼロかと言うと、そうではありません。

  • 繰り返し実施することで見つかるバグ
  • バリエーションテスト(データ・ドリブンなど)で見つかるバグ

などは、見つけることはあります。
ただ、新種のバグはやはり見つけることは稀になります。

正しく動くテスト対象に対してテスト自動化を作ることから、そこから逸脱しない、リグレッションテストとしては非常に有効になります。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1