阅读更多

14顶
1踩

行业应用

转载新闻 代码覆盖率:80%,不能少

2010-09-09 12:03 by 副主编 just_cool 评论(5) 有6138人浏览

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

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

大师回答道:

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

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

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

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

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

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

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

完全正确,” 大师说。

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

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

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

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

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

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

大师从椅子上站起来:

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

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

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

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

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

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

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

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

 

[英文出处]:Code coverage goal: 80% and no less!
[译文出处]:外刊IT评论

来自: 外刊IT评论
14
1
评论 共 5 条 请登录后发表评论
5 楼 arfish 2011-09-29 14:44
不错 有道理
4 楼 xxwinnie 2010-09-15 09:54
  呵呵, 有意思... 我要走的路也很长呀...
3 楼 stone2083 2010-09-14 09:33
道理上没错.对于个体的培养,确实应该按照这样的思路进行.
但是在团队单元测试建设上,如果没有一套相对合理的统一标准,单元测试代码会被破坏的非常厉害.
这个是个矛盾点.
2 楼 liangguanhui 2010-09-11 11:31
   似乎不错
1 楼 風一樣的男子 2010-09-10 19:53
有道理

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

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

    代码覆盖率:80%!不能少一大早,一个年轻的程序员问大师:“我准备写一些单元测试用例。代码覆盖率应该达到多少为好?”  一大早,一个年轻的程序员问大师:  “我准备写一些单元测试用例。代码覆盖率应该达到多少...

  • 利用WSE 加密SOAP报文增加WEB SERVICE 的安全性

    翻译:张勇,周竞 摘要:如何使用支持WS安全规范的WSE(Microsoft Web Services Enhancements)使加密SOAP能够跨越标准HTTP呢?讲述了SOAP报文加密是如何进行,在WS安全和XML加密规范中又是如何定义的。目录: 介绍WSE WSE的安全特性 加密SOAP报文 WSE对加密的支持 配置WSE SOAP报文的对称加密算法 使用X.509证书来加密

  • 代码覆盖率80%,不能少

    代码覆盖率80%,不能少一大早,一个年轻的程序员问大师:“我准备写一些单元测试用例。代码覆盖率应该达到多少为好?”大师回答道:“不要考虑代码覆盖率,只要写出一些好的测试用例即可。”  一大早,一个年轻的...

  • 代码覆盖率:80%,不能少(转)

    代码覆盖率:80%,不能少           一大早,一个年轻的程序员问大师: “我准备写一些单元测试用例。代码覆盖率应该达到多少为好?” 大师回答道: “不要考虑代码覆盖率,...

  • 读【代码覆盖率:80%,不能少】随想

    <br />看到此文,引人深思,特此共享。感觉其中还隐含着更大的“讽刺“,忍不住评论两句,见文后的随想。    引文来源:...代码覆盖率应该达到多少为好?”

  • 【外刊IT评论】代码覆盖率:80%,不能少

    代码覆盖率应该达到多少为好?”   大师回答道:   “不要考虑代码覆盖率,只要写出一些好的测试用例即可。”   年轻的程序员很高兴,鞠躬,离去。   之后没多久,第二...

  • 软件测试单元测试80%,单元测试的代码覆盖率至少80%

    单元测试的代码覆盖率至少80%发表于:2013-04-12来源:酷勤网作者:不详点击数:标签:单元单元测试的代码覆盖率至少80%!一大早,一个年轻的程序员问大师: “我准备写一些单元测试用例。代码覆盖率应该达到多少为好...

  • 软件分支测试覆盖率 100%,测试覆盖率之三——测试覆盖率100%相关的话题

    关于测试覆盖率,我个人的感觉是说的多,用的少。最近在网络上看到一篇文章,讨论一个问题“测试需要100%的覆盖率吗?”被转载了很多次,有兴趣的同行可以找来看看。的确,一想到测试覆盖率,立马就有完美主义者跳出...

  • 代码覆盖率

    代码覆盖率指我们运行所有项目中的测试方法后,能够执行的语句和所有语句的比值。更具体一些,我们用行覆盖率举例,行覆盖率应该等于运行所有测试方法能够执行到的行数...但我们也不应该太纠结于代码覆盖率的高低,...

  • 代码覆盖率vs测试覆盖率,两者之间的区别是什么?

    代码覆盖率VS测试覆盖率 测试覆盖率和代码覆盖率是衡量代码有效性的最流行方法。这些术语有时会同时出现,因为它们的基本原理相同。但是它们并不是那么一致。很多时候,测试团队和开发团队对这两个术语的使用感到...

  • 100%的单元测试覆盖率是不够的

    代码覆盖率工具仅衡量测试是否执行代码; 他们对测试的有效性没有判断力。 测试人员应审查单元测试,即使它们具有较高的覆盖率,也可以帮助改进测试或在必要时补充额外的测试。 译文内容 当开发人员进行的单元...

  • 代码覆盖率和测试覆盖率_代码覆盖率与测试覆盖率; 哪个更好?

    代码覆盖率和测试覆盖率 测试覆盖率和代码覆盖率是衡量代码有效性的最流行方法。 尽管这些术语有时会互换使用,因为它们的基本原理相同。 但是它们并不像您想象的那样相似。 很多时候,我注意到测试团队和开发团队...

  • 测试覆盖率之一——测试覆盖率分类(转)

    转一篇,别人写的关于覆盖率的文章,没事常看看琢磨琢磨 ...其中,最常讨论和关心的是”代码覆盖率“,代码覆盖率又分为程序语句和代码行覆盖,分支覆盖和条件覆盖。对于这些概念,我们逐个解释。

  • 代码覆盖率浅谈

    在做单元测试时,代码覆盖率常常被拿来作为衡量测试好坏的指标,甚至,用代码覆盖率来考核测试任务完成情况,比如,代码覆盖率必须达到80%或 90%。于是乎,测试人员费尽心思设计案例覆盖代码。用代码覆盖率来衡量...

  • 测试覆盖率

    测试覆盖率之一——测试覆盖率分类 关于覆盖率,网络上最常见的两个词应该是“测试覆盖率”(Test Coverage)和”代码覆盖率“(Code ...其中,最常讨论和关心的是”代码覆盖率“,代码覆盖率又分为程序语句和代码

  • 分享提高测试覆盖率的4个步骤

    尽管广泛的测试覆盖率并不能保证发布无错误的应用程序,但它可以极大地帮助您完成这项工作。按照以下4 个步骤提高您的测试覆盖率,并为您的用户提供更强大、更有趣的移动产品。 什么是测试覆盖率? 测试覆盖率...

  • 单元测试之覆盖率浅谈

    一、什么是代码覆盖率     代码覆盖是软件测试中的一种度量,描述程式中源代码被测试的比例和程度,所得比例称为代码覆盖率。一般我们用工具做的代码覆盖率的计算方法是:   代码覆盖率 = 被测代码行数 / 参测...

  • 面试季,覆盖70%-80%的面经基础题(java及安卓)-------网络篇

    结果就是让正确的网址不能解析或者是被解析到另一个网址的IP,实现获取用户资料或者破坏原有网址正常服务的目的。 由于域名劫持往往只能在特定的被劫持的网络范围内进行,所以在此范围外的DNS服务器能够返回正常的IP...

  • 果壳处理器研究小组(Topic基于RISCV64果核处理器的卷积神经网络加速器研究)详细文档+全部资料+优秀项目+源码.zip

    【资源说明】 果壳处理器研究小组(Topic基于RISCV64果核处理器的卷积神经网络加速器研究)详细文档+全部资料+优秀项目+源码.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

Global site tag (gtag.js) - Google Analytics