MasaoApril's Library.

Software Testingなネタを書いてみた。

James Bachのblog記事"Exploratory Testing 3.0"を一読して(1)

"Exploratory Testing 3.0"を知ったきっかけ

 @KeizoTatsumiさんから、

と情報を頂きました(ありがとうございます)。

 今回は、James Bachのblog記事 "Exploratory Testing 3.0" について、概要を数回に分けてまとめ、私が感じたことを書いてみます。

本稿に入る前に...

 私がJames Bachのblog記事 http://www.satisfice.com/blog/archives/1509 を見て、内容を理解するために私個人のメモから書いています。本内容は、翻訳でないことをご理解頂きますようお願いします。また、英語の解釈が誤っている可能性もありますので、できるだけ原典(http://www.satisfice.com/blog/archives/1509)を参照ください。

今回の内容

 下記7点で構成されています。今回の範囲は、青文字で示したところです。

  1. 著者のメモ(Autors' note)
  2. はじめに
  3. 探索的テスト1.0: 反乱(Rebellion)
  4. 探索的テスト1.5: 詳細説明(Explication)
  5. 探索的テスト2.0: 統合(Integration)
  6. 探索的テスト3.0: 正常化(Normalization)
  7. 終わりに(箇条書きについて)

1.著者のメモ(Autors' note)

1.1 他の方が既にポイントを言っている。

  • Exploratory Testingは、Testingと呼称すべきだ。
  • Michael Boltonは2009年に言及している。
  • James Bachも2010年にblog"seems to say that about testers."で言及している。
  • Aaron Hodderは、2011年に"said it quite directly"で言及している。
  • Paul Gerrandも2011年に同様のことを言及している。

1.2 全てのTestingが探索的。

1.3 私が感じたこと

 "Exploratory Testing"を単に"Testing"だと主張していますが、"Testing"という言葉が一人歩きして「適当なテストをやることが探索的テストだ!」と勘違いする人が出てきそうで、ソフトウェアテストの価値を下げることに対し、危機感を抱いています。言葉の定義は、難しいことだなと思いました。

2.はじめに

2.1 探索的テストとスクリプトテストの区別が無かった。

2.2 探索的テスト1.0

  • James Bachは、1987年に論争しに加わり、全ての論争を解明する事を試みた。
  • テストプロセスを見て、"ad hoc"テストはよくバグを探すが、高度なスクリプトテストはバグを探せないことを発見した。(容易に発見したわけではない!)

 James Bachは、Cem Kanerが"Exploratory Testing"("スクリプトテストの反対の表現)を作った。 オリジナルの一句であるが、Cem Kanerは『探索的テスト』を定義せず、辛うじて記述した。

2.3 私が感じたこと

 「"ad hoc"テストはよくバグを探すが、高度なスクリプトテストはバグを探せない」は、私の現場でも実感しています。私の経験ですが、高度なスクリプトテストを実施した結果から、スクリプトテストに存在しないテストを考えて実施したところ、ハードウェア(ASICやFPGAなど)が絡むバグを見つけたことがあり、バグを見つけるまでのメカニズムを解明したくなりました。

3.探索的テスト1.0: 反乱(Rebellion)

3.1 スクリプトを使う/使わないテストの違いを経験。

  • 初めに非スクリプトテストから生じたアイディアの質として書いた。
  • 探索的テストを実施したとき、より多くのバグを見つけた。
  • より良いテスティングだと感じた。しかし、何故その結果となるか見つけられなかった。

3.2 Ad hoc testing

  • 「"Ad hoc testing"は、非制御かつ非マネージメントであり、何かをやるべきでない」という意見に直面した。
  • 我々は前述の意見に反対し、探索的テストのコンテキストは特別なアクティビティであると主張した。
  • 探索的テスト推進者が探索的テストを技術として扱い、その技術を使うことを推進した。
  • 世界のほとんどは、依然として"技術やとアクティビティを区別する"方法としての探索的テストを考えていた。
  • 1995年にET1.0の時代が衰退し始めた。

3.3 私が感じたこと

 探索的テストを技術として扱ったのは、もしかしたらソフトウェアテストを理解していないマネージャを説得するための口実ではないかと思いました。さらに、探索的テストを技術として扱うことにした背景を知りたくなりました。また、"Ad hoc testing"は"モンキーテスト"のことを言っているのかモヤモヤしています。

次回

 青文字で示したところを書く予定です。

  1. 著者のメモ(Autors' note)
  2. はじめに
  3. 探索的テスト1.0: 反乱(Rebellion)
  4. 探索的テスト1.5: 詳細説明(Explication)
  5. 探索的テスト2.0: 統合(Integration)
  6. 探索的テスト3.0: 正常化(Normalization)
  7. 終わりに(箇条書きについて)