• 海罗沃德
    2018-07-20
    实际项目中,无论覆盖率多高,没有根据需求正确的写assert其实也是无法利用测试用例发现bug,提高代码质量,在实际的测试用例中,正向的case一般比较容易写,难得是测试error handling和模拟各种异常情况下的代码行为

    作者回复: 你的两个观点都非常正确👍

    
     6
  • 仡
    2018-07-12
    听到这一期,很多技术都是JAVA相关的~目前正在学习Python,Python自动化框架有什么好的建议么?谢谢~

    作者回复: 其实更多的还是框架的思想,至于是用什么语言来实现都是可以的,最近基于python的自动化框架比较流行,主要是python自己的方便性

    
     4
  • sylan215
    2019-02-12
    1.我们目前的业务主要是 C++ 代码,曾经有测试开发调研过一些代码覆盖率工具,但是由于代码量庞大,且和目前业务场景不符,导致没有后续;
    2.非常同意茹老师说的「高的代码覆盖率不一定能保证软件的质量,但是低的代码覆盖率一定不能保证软件的质量」,所以我们一直坚持的理念是,注重效果,能够保证质量的手段就是好手段;
    3.针对 2 我们目前的做法是代码红线 + 关键代码人工走读相结合的形式,一定程度上去加强代码层面的覆盖率;
    4.相对全量代码覆盖率,个人感觉差异代码覆盖率的实用性更好;

    以上,欢迎沟通交流。
    展开
    
     3
  • lucky_ziyie
    2018-07-15
    安全产品嵌入式C的单元测试对覆盖率要求很高,语句,分支,MCDC都要达到100%的覆盖率要求,单元测试工具一般会有统计要求,比如RTRT能统计一部分覆盖率,但MCDC没法统计;遇到的问题其实还是一个业界普遍的问题,就是覆盖率达到了,问题却发现的少,没有代码走查发现的多,但为完成覆盖率却耗时很多,所以包括公司领导在内的很多同事都认为覆盖率意义不大,觉得单元测试没有意义。这种局面貌似国内普遍现象,老师是否有一些指导建议?

    作者回复: 一看就知道你也是这个领域有过很多经验的业内人士,代码走查的确是个不错的时间,尤其是敏捷模式推崇的结对编程,但是走查往往只能发现静态或者一部分动态问题,而且走查的效果很大程度取决于个人的能力,不能系统化和体系化,代码覆盖率的局限性主要是不能发现有需求但是代码没有实现的场景,但是对于已有代码还是具有很高参考价值的,至少知道你那些分支和语句覆盖到了,另外mcdc现在只是在人生命相关的软件和系统中才会采用,很才有其它企业会用这个指标

    
     3
  • Rachel_fang
    2018-07-11
    jacoco大多用于自动化测试得到覆盖率,但如果想知道单条case(手工or自动化)的覆盖率不知道有啥好的方法吗?

    作者回复: jacoco其实不管你的测试是手工跑的还是自动跑的,它都能统计哪些代码被执行到了,哪些没有。单条case的话也是一样的

    
     3
  • Jia
    2018-08-28
    还有一个很重要的覆盖率,Mutation测试覆盖率。主要是用来测试Test case的质量,而不是代码本身的质量。一个Test case suite质量高的话,对于代码出现的人为变异(可以理解为错误代码)都能很好的检测出来。
    
     2
  • Nic辉少
    2018-07-11
    目前还没有接触过单元测试和代码方面的测试,每天努力坚持学一点,思考一点,吸收一点。

    作者回复: 好样的,学习的过程就是螺旋上升的过程,可能会有点痛苦,但是你会发现自己在潜移默化的进步,一个月后你再回头看看,会发现自己已经站在了一个全新的高度了,加油

    
     2
  • Struggling
    2018-07-18
    打卡~~之前的公司单元测试都是开发写,不过我也帮开发写过单元测试,正如老师所说单元测试覆盖率达到一定程度想要再提升非常难,而且并不是覆盖率越高就表明质量就没问题,个人觉得如果能从需求功能的角度去写单元测试,更能发挥单元测试的作用。
    
     1
  • 田🤘🏻妞
    2018-07-18
    看留言中有说 手动测试也可以使用jacoco来查看覆盖率,是说比如我在android手机上手动点点点测试,也可以查看覆盖率吗? 通往期待回答 非常感谢
     1
     1
  • 酸菜泡面
    2018-07-17
    目前在后台和安卓端使用过jacoco,还是有很好的作用的。一方面可以让开发同学了解自己的业务逻辑设计是否有问题,另一方面可以让测试同学了解自己的用例设计是否完善。覆盖率高不一定质量就没有问题,但是覆盖率低质量肯定不能保证。
     1
     1
  • lalio
    2018-07-15
    最近在研究go语言的代码覆盖率工具集成到公司的CI,尝试用的go test 的cover,不过了解下来发现这款官方出的工具只统计到了语句覆盖,用了godoc实现(本人英文水平有限,目前还没吃透原理),没有jacoco这款覆盖的种类全,统计报告也比较单一,想在cover的统计数据基础上做一些优化,老师有没有好的建议

    作者回复: go test我没有用过,如果你想自己扩展开发代码覆盖率工具的话,技术要求还是比较高的,首先需要知道工具的注入原理,然后要搞清楚出内部的代码覆盖率统计的数据结构,然后再去修改工具的源代码,总体来看,技术要求比较高

    
     1
  • 丹
    2018-07-11
    你好,我想请教一些问题,我们公司属于迭代开发,更新比较快,没有技术文档,这种情况下感觉测试用例不能覆盖全面,这种情况应该怎么去写测试用例

    作者回复: 很多敏捷团队可能没有完全文档化的测试用例,所以会比较依赖团队成熟度以及一些BDD和TDD的工具,关于什么是bdd和tdd,后面会专门来讲,这两者都属于迭代开发下的敏捷实践

    
     1
  • 宸浩
    2018-07-11
    老师,我想问下测试接口的话,怎么能保证覆盖完全呢,敏捷项目中涉及到的接口覆盖率,麻烦普及一下呗

    作者回复: 这个会在后面的api测试中专门来讲。其实接口测试完全可以用代码覆盖率来衡量测试的完备性。

    
     1
  • FamilyLi
    2018-07-11
    对于安卓智能手机的代码覆盖率有什么测试或者工具

    作者回复: Android SDK内置了Emma test coverage,你可以直接用,不过我还是比较推荐Jacoco

    
     1
  • 假装乐
    2018-07-11
    jococo是哪年出的?当初因为没有找到合适的,把cobertura改成了agent模式的

    作者回复: jacoco的早期版本2009年就有了,那时还不是很成熟,早期的版本我也没有用过

    
     1
  • 酱油丹
    2019-12-30
    "但也是仅此而已,对于那些压根还没有代码实现的部分,基于代码覆盖率的统计指标就无能为力了。" 这个就要基于需求的测试来搞来,所以我觉得需求覆盖率不适用于敏捷开发模式,这个讲的有点武断,只是我们还没找到更好的方法而已。
    
    
  • 飞翔
    2019-11-24
    老师 那一般情况 单元测试的覆盖率应该达到多少
    
    
  • (╯‵□′)╯︵┻━...
    2019-08-17
    单元测试的功能点会在集成和GUI测试中耦合在一起。所以对单元测试实现高覆盖率的好处是:测试点的粒度小,设计成本低;缺陷的定位和修复成本小。
    
    
  • 蓝宇
    2019-07-22
    原文:互联网测试项目中很少直接基于需求来衡量测试覆盖率,而是将软件需求转换成测试需求,然后基于测试需求再来设计测试点。

    有点疑问:为什么敏捷开发需要将软件需求转换为测试需求呢
    
    
  • 口水窝
    2019-03-04
    测试工作中没有接触过代码覆盖率的工具,所以测试的工作不仅仅是测试业务逻辑,更多的时候本着质量的意识,从广度、深度去挖掘,以前没有接触过,去学习,去自己搭建环境,去实践,对于测试的理解更上一层楼!
          但是在测试报告的编写中,知道测试用例覆盖率和需求覆盖率,那时候用简单的加减法算的,没用具体工具。
    
    
我们在线,来聊聊吧