测试覆盖率
测试覆盖率是对测试完全程度的评测。测试覆盖率是由测试需求和测试用例的覆盖或已执行代码的覆盖的表示结果。一方面可以衡量测试工作本身的有效性,提升测试效率,一方面可以提升代码质量,减少bug,提升产品的可靠性,稳定性。
代码覆盖率的意义
- 分析未覆盖部分的代码是否有问题。可以通过分析从而反推在前期测试设计是否充分,没有覆盖到的代码是否是测试设计的盲点,为什么没有考虑到?需求/设计不够清晰,测试设计的理解有误,工程方法应用后的造成的策略性放弃等等,之后进行补充测试用例设计。
- 检测出程序中的废代码。可以逆向反推在代码设计中思维混乱点,提醒设计/开发人员理清代码逻辑关系,提升代码质量。
- 提高代码质量。代码覆盖率高不能说明代码质量高,但是反过来看,代码覆盖率低,代码质量不会高到哪里去,可以作为测试自我审视的重要工具之一。
- 提高我们的代码设计能力。当我们的覆盖率很低的时候,发现我们的代码又很难写单元测试来提升覆盖率,说明我们的代码设计是有问题的,需要进行拆分和分层设计。
覆盖率达到多少合适呢
覆盖率的指标具体情况具体分析,需要看公司的状况、项目的紧急成都等,太高的话非常浪费时间,太低的话又达不到效果,业界常规的说法是80%,阿里巴巴内部是要求90%,但是我认为可以把代码分两种,一种是框架代码,一种是核心逻辑代码。 针对框架代码我们可以要求覆盖率低一些,比如50%即可,能覆盖主逻辑。 核心逻辑代码的覆盖率越高越好,最好能达到100%。
技术框架选型
这样就没得选择了,只能选择jacoco。
jacoco的使用
这里就不重复造轮子了,网上有很多写的比较好的文章参考,比如: https://www.cnblogs.com/fnlingnzb-learner/p/10637802.html
|