CAT GETTING OUT OF A BAG

What the tester is thinking.

ふりだしに戻る

うちのチームのチケットには開発日記が書かれています。その日に起きたことやこれから試そうと思っていること、気になっている部分のコードの断片や「誰それがこう言ったから(仕方なく)こうした」など、内容はさまざまです。毎朝同じ時間に同じ場所でこれらをみんなで読み合わせ、質疑応答を繰り返していきます。わたしはそこで思いついたテストのアイデアを話しながら、ここに書いてない+αの情報を脳内に配線していきます。

プログラマーがコミットしたあと、わたしは新たな気持ちでこの開発日記を読み直し、そこでまたなんらかの着想を得ながらテストしています。さっきも書きましたが、開発日記には設計/実装中に起きたこと、やったことの全てが書いてあるわけではないので、朝会や普段の会話から知り得たことやそれまでの経験から行間を補完します。その結果、出力されたわたしの思考や行動やテストが明後日の方向に行ってしまうことがあるのです。

たとえば、人間がやる(手動)テストとしては相応しくない(うまく狙えたのかどうかはわからない)。そこを保証したいのならコードを見て理詰めでやるべきだ。あなたの心配しているそれはもっと上位の仕組みでカバーされている(しかも長い間問題なく動いていて「枯れて」いる)…とかね。「まあどうしてもやりたいならやってもいいけどバグは出ないと思うよ」と言われたりします。

疑ってもあまり意味がないことに時間とエネルギーはかけたくないので、どうにかしたいなと思うのですが、明後日の方向に行っているかどうかはその出力が表沙汰にならないとわからない。となれば出来るだけ早いうちに表面化すればよさそう。なんですが、明後日の方向に行ってしまったおかげで見つけることができた価値のある課題や問題もあるのですよね。これがわりと少なくなくて捨てがたい。よって「しばらくこのままでいいか!」となり、ふりだしに戻るのを何回も繰り返しています。*1

*1:うちのチームはソフトウェアのバグだけではなく人間の行動バグもかなり早いうちに検出していると思うのですが、自分の中で(ああこの30分はもったいなかったな、どうにかしたいな)という気持ちがこの記事の元になっています。