“我准备写一些单元测试用例。代码覆盖率应该达到多少为好?”
“不要考虑代码覆盖率,只要写出一些好的测试用例即可。”
“我应该往这个锅里放多少米?”
“我怎么会有答案?这取决于要给多少人吃,他们饿不饿,有什么菜,你有多少米,等等。”
“百分之八十,不能少!” 大师一拳锤在桌子上,用严厉的口气回答道。
“大师,今天我无意中听到了你对同一个代码覆盖率问题给出了三个不同的答案。为什么?”
“给我泡点新茶,我们聊聊这个。”
“这第一个程序员是个新手,刚刚开始学测试。目前他有大量的程序都没有测试用例。他有很长的路要走;现在对他要求代码覆盖率只会打击他,没有什么用处。最好是让他慢慢的学会写一些测试用例,测试一下。他可以以后再考虑代码覆盖率。” “而这第二个程序员,不论对编程还是测试都是十分的有经验。我以问作答,问她应该往锅里放多少米,使她明白决定测试用例多少的因素有很多,她比我更知道这些因素——毕竟是她自己的代码。对这个问题没有一个简单的、直接的答案。以她的聪明完全能明白这个道理,正确的完成任务。”
“这第三个程序员只想得到一个简单的答案——即使根本没有简单的答案 … 而且即使有答案她也不会按答案做。”