从另外一个角度谈测试和覆盖率

Ava ·
更新时间:2024-11-14
· 849 次阅读

  我们从另外一个视角来说说测试及覆盖率。当然,这里的测试都是指开发者自己做的自动化测试,不是测试人员的验收测试。

  早上,程序员A走到大师座位上问:

  A:“我已经写好了部分单元测试代码,请问我该达到多少测试覆盖率?”

  大师:“不要太在意覆盖率,把测试用例设计好,测试代码写好可以了。”

  程序员A带着满足的微笑离开了。

  过了几天,程序员B又跑到大师的座位上问同一个问题,大师指着正在沸腾的水说:

  “用这个水煮饭,该放多少粒米?”

  程序员B一脸迷茫,说:

  “这个我怎么能清楚的告诉你?这个问题依赖于有多少人吃饭,他们的饥饿程度,是否有其他的辅助食物,你有多少米等。”

  大师:“你说的太对了”。

  程序员B也带着满足的微笑离开了。

  又过了几天,程序员C也找到大师的座位上问这个问题。

  大师用拳头捶着桌子坚定地回答:“不能少于80%的覆盖率”。

  程序员C也带着满足的微笑离开了。

  这时候,坐在大师傍边的一位菜鸟程序员D迷茫了,忍不住问大师:

  “大师,我听到你回答三个人同样一个问题,但是答案却是完全不一样,为什么呢?”

  大师从椅子上站起来说:

  “走,去喝一杯茶,让我慢慢讲你听。”

  当他们的茶杯中的新茶冒出热气后,大师说:

  “程序员A是新手,且刚开始做测试。当前他有很多没有经过测试的代码,还有很长的路要走;这个时候要求他达到一定的测试覆盖率目标,会使他的情绪变的很沮丧且毫无意义。他现在要做的是写一些测试代码并执行,慢慢的他会考虑到覆盖率的。”

  “程序员B,很有经验,写过不少代码,包括测试代码。当我反问他要往沸腾的水里面放多少粒米的时候,我帮助他意识到了测试代码的数量依赖很多因素,且他比我更了解有哪些因素,因为这毕竟使他的代码。这个问题并没有一个简单的,的答案。我相信他能够知道该怎么做”

  菜鸟D说:“我知道了,这个问题没有简单的,的答案,。但是我不明白,你为什么给程序员C一个简单的的答案呢?”

  大师开怀大笑,说:

  “程序员C只想要一个简单的的答案,虽然不存在简单的的答案,要是没有这个明确的答案他不能继续工作。”

  大师说完后,菜鸟什么都没说,他们静静地喝着茶。



覆盖率 测试

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