行覆盖率:行覆盖率对应的是你的代码行,有多少行被覆盖,比如,你有100行代码,zhi执行了90行,那么覆盖率就是90%;
分支覆盖率:分支分概率是你代码中存在分析,有多少分支被覆盖,比如,你有5个分支,那么对应的应该有10条语句(一个分支有两条语句,ture和false),那么你执行了其中的5条,那么覆盖率就是50%;
增量覆盖率:本次测试与当前线上对比的增量覆盖率
迭代覆盖率:线上代码版本相同的测试,都算一个迭代,迭代是把每次的增量合并到一起
增量行:相对比线上,本次改动或增加的行。
全量行:
迭代行:
覆盖率存在的意义:
把测试覆盖作为质量目标没有任何意义,我们应该把它作为一种发现未被测试覆盖的代码的手段。
代码覆盖率最重要的意义在于:
阅读分析之前项目中未覆盖部分的代码,进而反推在前期QA以及相关测试人员在进行黑盒测试设计时是否考虑充分,没有覆盖到的代码是否是测试设计的盲点,为什么没有考虑到?是需求或者UX设计不够清晰,还是测试设计的理解有误。
检测出程序中的废代码,可以逆向反推代码设计中不合理的地方,提醒设计/开发人员理清代码逻辑关系,提升代码质量。
代码覆盖率高不能说明代码质量高,但是反过来看,代码覆盖率低,代码质量绝对不会高到哪里去,可以作为测试自我审视的重要工具之一。