代码覆盖率:80%!不能少

Coral ·
更新时间:2024-11-14
· 662 次阅读

  一大早,一个年轻的程序员问大师:

  “我准备写一些单元测试用例。代码覆盖率应该达到多少为好?”

  大师回答道:

  “不要考虑代码覆盖率,只要写出一些好的测试用例即可。”

  年轻的程序员很高兴,鞠躬,离去。

  之后没多久,第二个程序员问了大师同样的问题。

  大师指着一锅烧沸的水说:

  “我应该往这个锅里放多少米?”

  这个程序员看起来被难住了,回答道:

  “我怎么会有答案?这取决于要给多少人吃,他们饿不饿,有什么菜,你有多少米,等等。”

  “完全正确,” 大师说。

  第二个程序员很高兴,鞠躬,离去。

  末了,来了第三个程序员问了大师同样的关于代码覆盖率的问题。

  “百分之八十,不能少!” 大师一拳锤在桌子上,用严厉的口气回答道。

  第三个程序员很高兴,鞠躬,离去。

  回复完这个之后,一个年轻的实习生走到大师身边:

  “大师,我无意中听到了你对同一个代码覆盖率问题给出了三个不同的答案。为什么?”

  大师从椅子上站起来:

  “给我泡点新茶,我们聊聊这个。”

  当杯子里倒满了冒着热气的绿茶后,大师开始说:

  “这第一个程序员是个新手,刚刚开始学测试。目前他有大量的程序都没有测试用例。他有很长的路要走;现在对他要求代码覆盖率只会打击他,没有什么用处。好是让他慢慢的学会写一些测试用例,测试一下。他可以以后再考虑代码覆盖率。”

  “而这第二个程序员,不论对编程还是测试都是十分的有经验。我以问作答,问她应该往锅里放多少米,使她明白决定测试用例多少的因素有很多,她比我更知道这些因素——毕竟是她自己的代码。对这个问题没有一个简单的、直接的答案。以她的聪明完全能明白这个道理,正确的完成任务。”

  “我明白了,” 年轻的实习生说, “但是如果没有一个简单直接的答案,那你为什么告诉第三个程序员‘百分之八十,不能少’呢?”

  大师笑的前仰后合,绿茶都喷了出来。

  “这第三个程序员只想得到一个简单的答案——即使根本没有简单的答案 … 而且即使有答案她也不会按答案做。”

  年轻的实习生和头发斑白的大师在沉思中喝完茶。



覆盖率

需要 登录 后方可回复, 如果你还没有账号请 注册新账号