判断力を消耗した結果、テスト結果に「OK」と記入したくなる誘惑について

 

ソフトウェアのテスト設計において、とある教えがあります。

「テストの期待値には具体的な内容を書きましょう。誰がやっても間違いなくテストが実行できるようにしましょう。」というものです。

 

合否を判断するという作業において、人間の推測が入ってはダメなのです。 

もし誰かが、期待値に『正しいこと』とか書こうものなら怒られます。

僕も、そんなテスト設計書を見せられたらたぶん怒ります。 

 

ところが現実には、ここまであからさまではなくても、人間の推測の余地が残っているテスト設計書が多く存在します。

 

 

たとえば、損益計算書を出力するソフトウェアのテストケースで、

「利益欄に10,000円と表示されていること」

と書かれているような場合です。

(一般的に)損益計算書で利益と名のつく項目は、

売上総利益

・営業利益

・経常利益

・特別利益

当期純利益

の5種類ありますが、テストケースには「利益欄」としか書かれていないので、人間の判断が発生します。

 

このような場合、大抵は、前後のコンテキストから「どの利益欄のことを指しているのか」を推測することが可能です。「教科書は具体的に書きなさいと教えているが、現場の創意工夫によって、より簡潔な記述にまとめることができました。」という喜びの声が聞こえてきます。

 

 

 さて、テストケースを粛々と消化して、同様の判断を100回ほど繰り返したあと、ある項目で「前後のコンテキストを読んでも曖昧さをゼロにできない」項目に出会ったとします。

 

この時、「いや、たぶんOKだろう。きっと僕の理解が何か足りないのだ。コンテキストの理解が。そうだ、OKということにしておこう。きっとOKだ。ソフトウェア設計ドキュメントの確認と有識者への確認は後からでも大丈夫だ」という誘惑に襲われるという現象が発生します。悪魔の誘惑です。

 

この誘惑はとても強力で、「何となく正しそうに見えるからテスト結果にOKと記入してしまう」という、テスト実行者として絶対にやってはいけないことをやってしまう可能性が生まれます。

 

簡単な判断とはいえ、人間のエネルギーは有限です。100回も繰り返せば疲れるのです。強い心を持たなければ囚われてしまいます。

 

 

ところで、100回ほど繰り返したそれぞれの判断について、それが「何となく正しそうに見えるからテスト結果にOKと記入してしまった」ものではないということはどう担保すれば良いのでしょうか。