"Explore It!"を途中まで読んだ。
この本はソフトウェアテスト技法の一つ「探索的テスト」についての本。『知識ゼロから学ぶソフトウェアテスト【改訂版】』の第4章でも触れられていたけれど、もう少し詳しく知りたくて手に取ってみた。
読んだのは、Chapter 5 Evaluate Resultsまで。I. Establishing Foundationsを読み終えたので一旦ここまで。II. Adding DimensionsとIII. Putting It in Contextは、また必要な時がきたら読むことにした。
探索的テストが、スクリプトテスト (事前に設計してから実行するテスト) と大きく異なるのが、テストの設計と実行が同時並行で行われる点。メリットは、直前の実行で得られたテスト対象に関する情報を、次のテスト設計に活かせること。おかげで、効率よくバグを発見できる。
デメリットは大きく2つ。いずれも他のテスト技法の裏返しになるので、テスト全体としてはこれらをうまく組み合わせていく必要がある。
1つ目はテスト対象が動かないと始められないこと。動かしながら実施すべきテストを設計していくので、どうしたって探索的テストを始められるのは遅くなる。にテスト対象の前にテストコードを書くテスト駆動開発 (TDD) とは正反対。一般に、バグの発見が速いほど修正が容易なので、テストはできるだけ早く始めたい。
もう1つは、網羅性がないこと。どの範囲でなら正しく動くかを確認するのには適さない。こちらには探索的テストよりスクリプトテストの方が向いている。
きっとアイスクリームコーンにならないようにうまくテストピラミッドを積み立てていくのが良いのだろう、という漠然とした方向は見える。けれど、具体的にどうしていくかは、ケースバイケースの側面が強いんだろうなあ。
この本はソフトウェアテスト技法の一つ「探索的テスト」についての本。『知識ゼロから学ぶソフトウェアテスト【改訂版】』の第4章でも触れられていたけれど、もう少し詳しく知りたくて手に取ってみた。
読んだのは、Chapter 5 Evaluate Resultsまで。I. Establishing Foundationsを読み終えたので一旦ここまで。II. Adding DimensionsとIII. Putting It in Contextは、また必要な時がきたら読むことにした。
- 1. On Testing and Exploration
- 2. Charter Your Expedition
- 3. Observe the Details
- 4. Find Interesting Variations
- 5. Evaluate Results
探索的テストが、スクリプトテスト (事前に設計してから実行するテスト) と大きく異なるのが、テストの設計と実行が同時並行で行われる点。メリットは、直前の実行で得られたテスト対象に関する情報を、次のテスト設計に活かせること。おかげで、効率よくバグを発見できる。
デメリットは大きく2つ。いずれも他のテスト技法の裏返しになるので、テスト全体としてはこれらをうまく組み合わせていく必要がある。
1つ目はテスト対象が動かないと始められないこと。動かしながら実施すべきテストを設計していくので、どうしたって探索的テストを始められるのは遅くなる。にテスト対象の前にテストコードを書くテスト駆動開発 (TDD) とは正反対。一般に、バグの発見が速いほど修正が容易なので、テストはできるだけ早く始めたい。
もう1つは、網羅性がないこと。どの範囲でなら正しく動くかを確認するのには適さない。こちらには探索的テストよりスクリプトテストの方が向いている。
きっとアイスクリームコーンにならないようにうまくテストピラミッドを積み立てていくのが良いのだろう、という漠然とした方向は見える。けれど、具体的にどうしていくかは、ケースバイケースの側面が強いんだろうなあ。