CAT GETTING OUT OF A BAG

What the tester is thinking.

昨日の正解は今日の正解ではないかもしれない

ソフトウェアテストの小ネタ - Qiita Advent Calendar 2024 - Qiita 17日目の記事です。

 製品開発、特にテスト(checkingではなくtesting)*1で難しいのは、自分の中での正解を持つ一方で「自分は間違っているかもしれない」と疑わなくてはならないところです。これは、だから自分は間違っていない=正しい、を証明するために証拠を集めたり、製品や開発やテストに必要な、ありとあらゆる知識や技術を身につけましょう、という話ではなく、たとえ証拠を集めたとしても、たくさんの知識や技術を身につけたとしても、本当にそれが正解かはわからないぞ!という態度で臨まないと、テストなんてできないよね、という話です。

 みなさんお気づきのように、本当にそれが正解かはわからないのに、実際にテストするときには、なんらかの期待値や正解が必要になる、という矛盾があります*2わたしはこの矛盾を受け入れるために、全力で導いた「なんらかの正解」を「これは今日の正解だぞ」と考えるようにしています。そして明日になったら「昨日の正解は今日の正解ではないかもしれない」と考え、あらたな気持ちで製品に向き合い、今日もまた全力でテストするのです。今日の正解って、昨日の正解の仮説と検証も受け継いでいるんですよね。わたしくらいになるとcheckingでも疑いますよ。Enjoy testing!

あわせて読みたい

arborosa.org

*1:多くの先達が『テストの定義』を語られています。わたしがこよなく愛するテストの定義は G.J. Myers[1979] の『テストとは、エラーをみつけるつもりでプログラムを実行する過程である。』です。この記事の「テスト」は「製品開発のすべての工程、期間において、まだ誰も気づいていない未知の問題をみつける行為、活動」をイメージして書きました。

*2:テストだけでなく、日々のすべての判断や選択、たとえば、外部仕様を決める、設計を見直して実装を書き直す、無数のテストから限られた時間でやるべきテストを厳選する…も同様です。