早朝、プログラマーは偉大なマスターに尋ねました:
-単体テストを作成する準備ができました。 どのコードカバレッジを目指すべきですか?
偉大なマスターは答えた:
「カバレッジについて心配する必要はありません。良いテストを書くだけです。」
プログラマーは笑って、お辞儀をして去った。
しばらくして、別のプログラマーが同じ質問をしました。 偉大なマスターは、沸騰したお湯の大釜を指して言った:
「この鍋に何粒の米を入れるべきですか?」
困惑したプログラマーは答えました:
「どうすれば確実に答えられますか?」 それはすべて、あなたが何人の人々を養う必要があるか、彼らがどれだけ空腹であるか、あなたが他にどんな料理を出すか、あなたがどれくらいの米を持っているかなどに依存します。
-そうです。 -偉大なマスターは言いました。
二人目のプログラマーは笑って、お辞儀をして去った。
結局、3人目のプログラマーがやってきて、コードカバレッジについて同じ質問をしました。
-80%で1行も少なくない! -マスターは厳しい答えを出し、テーブルをパンチしました。
3人目のプログラマーは微笑み、お辞儀をして去った。
この答えの後、若い学生が偉大なマスターに近づきました:
-偉大なマスター、今日、コードカバレッジに関する同じ質問に3つの異なる回答をしたことを耳にしました。 なんで?
偉大なマスターは彼の椅子から立ち上がった:
-一緒に来て、freshれたてのお茶を飲んで話してください。
彼らが熱い緑茶でカップを満たした後、偉大なマスターは答え始めました:
-最初のプログラマーは初心者であり、テストを書き始めたばかりですが、今では多くのコードがあり、テストはありません。 彼の前には長い道のりがあり、コーティングへの集中は今では役に立たず、圧迫されるだけです。 テストの作成と実行に慣れるようにします。 彼は後で報道を心配するかもしれません。
-逆に、2番目のプログラマーはプログラミングとテストの経験が豊富です。 ボイラーにどれくらいの米粒を入れる必要があるかを彼女に尋ねたとき、テストの回数は必然的に多くの要因に依存することを彼女が理解するのを助けました。彼女はこれらの要因を私よりもよく知っています。 単純な答えは1つもありません。彼女は、真実を受け入れてそれを扱うのに十分賢いです。
「わかりました」と若い学生は言った。「しかし、簡単な答えが1つもなかったら、なぜ3番目のプログラマーに答えたのでしょうか。
偉大なマスターは大声で大声で笑ったので、彼の腹は、彼が緑茶だけでなく飲んだことを証明して、上下にジャンプしました:
-3番目のプログラマーは、そうでない場合でも、単純なソリューションのみを求めています。 そして、やはり同じことではありません。
若い学生と白髪の偉大なマスターは、陰気な沈黙でお茶を仕上げました...