少し時間が空いてしまいましたが、表題のイベントに参加してきたので参加レポートを書きます。
プロのテストエンジニアのリナさんが探索的テストを実施している様子をひたすら見る、というイベントです。
参加したきっかけ
現場で探索的テストを4ヶ月前くらいから導入していて、参考にしたかったため参加しました。
色々な本やスライドは読んでいるのですが、毎回試行錯誤していて、どうやると効果的なのかが未だに掴めていないので、少しでもヒントになればと思って参加しました。
参加して得た学び(現場で試してみようと思ったこと)
探索的テストをフェーズ分けして考える
動くものが出てきた段階で最初は癖を確認して、癖を掴んできた所で必要に応じてテスト設計しながら探索的テストをして、最後に探索的テストで出たバグを直した後にバグを直した結果発生したデグレがないかを確認する、という風にフェーズを分けているのが面白かったです。
agile testing condensedの中にも「システムについて学ぶためのテストの設計と実行を同時に行い、最後の実験から得た洞察を次に伝える」という記載がありましたが、探索的テストをフェーズ分けして、フェーズごとに目標やDODを設定し、開発プロセスの中に継続的に探索的テストを組み込んでいくのが一つの理想形なんだろうな、と思いました。
呪文を用意している
underscore42rina.hatenablog.com
呪文=文字入力のテスト用にリナさんが使用しているというデータです。
自分が探索的テストをする時は真っ新な状態から毎回怪しい観点(投入するデータや条件)を考えているのですが、リナさんが用意している呪文のように、異常系のデータや条件は毎回用意しておいた方が効率が上がりそうです。(自分のように同じプロダクトを探索的テストし続ける場合は、自動化できるのがベストな気がしました。ただ、もしかして自動化できるようなテストな時点で探索的テストの定義とはずれている?探索的テストも自動化した方が良いと考えるのが正しい?という気もしてきて現状は少し理解が錯綜しています。。)
テストに臨む姿勢
異常系を中心にテストをしている姿から、以下2つの姿勢を個人的には感じました。
1. 仕様が定義されているものの、誤った定義(不自然な定義)がされている可能性がある部分を見つけようとしている
2. 仕様がまだ定義されていないものを見つけようとしている
プロダクトを動かしていく中で画面の変化を観察し、リナさんがイメージする定義とずれがないかを確認している様子から、1の姿勢を感じました。
前述した呪文を文字入力欄に入れるなど、定義していない(予想していない)可能性が高いデータを意図的に入れる様子から、2の姿勢を感じました。
上記1, 2ともに、何となくは自分も意識している気はしましたが、今回のイベントに参加するまで言語化できていなかったので、上記2点を意識しながら次回以降は探索的テストをしてみようと思いました。
疑問点
イベント中はリナさんが探索的テストをしている様子を見ながら色々メモを取ったりしていて気が付かなかったのですが、イベント後に幾つかの疑問が浮かんできました。
自分自身の宿題として、今後知識を増やしたり経験を深めていく中で答えを見つけていこうと思います。
- チームで(ペア/モブで)探索的テストを効果的に行う場合の話(戦略を練るためにチャーターを作るなど少しお話を聞くこともできましたが、もう少し詳しく聞いてみたくなりました)
- (今回のイベントとそこまで関係ないですが)冒頭にあった「手動テストは技術的負債だから探索的テストを活用していこう」という考え方(上でも少し書きましたが、探索的テストも自動でやれないのだろうか?って思いました)
- 探索的テストを上手に行えるようになるための道のり(訓練の仕方)
全体を通した感想
プロのテストエンジニアのリナさんが思考を開示しながら、バグや改善ポイントを見つけていく姿は圧巻でした。
あまり褒められたことではないのですが、自分の現場ではテストは若手だったりシステム経験が浅い人が実施することが多い(探索的テストの文化もあまり浸透していない)ので、プロのテストエンジニアの方がテストしている様子を見れるのは貴重な経験でした。
探索的テストが理解できたか?と言われると、残念ながらそんなことはなかったのですが(笑)、今回のイベントの気付きを次に探索的テストをやる場面で活かしていって、少しずつ理解を深めていければと思いました。
改めて探索的テストの奥深さに触れることができて、良かったです。
イベント関連資料
イベント当日の動画アーカイブ
人類よ!これが探索的テストだ!テスト実況生中継で学びを深めよう! - Zoom
mablさんが書いたイベントレポート
リナさんのブログ
underscore42rina.hatenablog.com