正直すごく得意というわけではないのですが、仕事で探索的テストをするときがあります。
最近も探索的テストをしながら、「探索的テストにおける学習の要素」を実感していました。今回はそのあたりの小話です。「わかるわ~」という一言を添えてツイートしておいてください!
探索的テストで、仕様やテスト対象を深く理解する瞬間
探索的テストの定義の中には「学習」という要素が含まれることがあります。
たとえばこのへん。
引用:JaSST’18東京 E2) 全国JaSST実行委員セッション1 やってみよう!探索的テスト~ハイクオリティな妄想の高速ループ~
私自身は、この「学習」を、テスト対象の動作や仕様などに関する理解を深めることかなと捉えています。
ただ漠然と仕様書を読むよりは、テスト対象を触って探索的テストをしながらのほうが理解が深めやすい、というのは直感にも合っていると思います。 加えて、個人的に一番「学習」が進む、すなわち仕様やテスト対象の理解が深まるのは これバグじゃない?という挙動を見つけて、それがバグである根拠を探しているとき です。なんならこの瞬間ちょっと体温が上がってアドレナリンが出ているかもしれないです。
探索的テストをしていて、明らかなバグを見つける場合もあります。ただ、どちらかというと操作の過程で「ん?なんかおかしいぞ?」と気づく→再現方法を探して再現してみる→これは仕様か?それともバグか?確かめよう! という流れで仕様書やチケットでのやりとりを漁って「ほら、ここにこう書いてある(ない)から問題ですよ」という根拠を探しているときが一番学習できています。
おそらく注意深くドキュメントを読む度合いが高いからだと思います。
探索的テストをするとたまにこのような瞬間があって、テスト自動化しているときなどとはまた違った楽しみがあっていいですね。
という小話を書きましたが、このあと何記事かにわけて
- 「新人にはテストでもさせておけ」にもメリットがある話と注意点
- テスト対象を理解するうえでの点と面の話
など書いていこうと思います。