我的测试生活感悟5 - 不要被代码覆盖率蒙蔽双眼
2010-01-02 00:52
295 查看
新年新开始,继续我的测试生活感悟。“代码覆盖率”是一个有意思的话题,围绕它的讨论有很多。基本上,人们都认识到了,代码覆盖率并不能说明测试的好坏,它只是一个度量方法,用于度量我们测试的广度。它只能告诉你,你的测试代码覆盖了哪些被测的代码,并没有告诉你,覆盖的被测代码是否测试好。
代码覆盖率有诸多好处:
能一定程度上说明测试覆盖的广度。
通过代码覆盖率结果,能够比较直观的了解到哪些代码未被测试,哪些分支未被覆盖,进而补充相应的测试案例。
代码覆盖率具有非常好的可操作性,可以在一定程度上衡量测试人员的工作。
代码覆盖率给程序员和测试人员以信心。
但是,即使你的代码覆盖率达到了80%或者更高,不要被代码覆盖率蒙蔽了双眼!
好好回想一下覆盖的80%的代码中,你一共发现了几个Bug?
剩下的20%代码,极有可能产生80%的Bug!
覆盖的80%代码中,你真正进行验证的代码函数有多少?
覆盖的80%代码中,你真正了解的代码有多少?或者说,有多少代码是无意间被执行的。
你是否保证了不同操作系统下测试案例的执行?
这80%覆盖的代码中,你是否偷懒省去了某些复杂的检查点的检查?
你是否会因为某个分支只有一行代码,而省去这个分支的测试案例?
你是否存在一个检查点也没有的测试案例?
看了上面的8条,再想想你的80%代码覆盖率,还会感觉测试已经完全,无事可做了吗?
代码覆盖率只是一个最基本的前提,一定要保证,但不是意味着达到指标就代表测试的完成。
永远要记住,80%的代码覆盖率也许只是刚刚开始,被测试代码中到底潜藏有多少Bug,谁也不知道!
代码覆盖率有诸多好处:
能一定程度上说明测试覆盖的广度。
通过代码覆盖率结果,能够比较直观的了解到哪些代码未被测试,哪些分支未被覆盖,进而补充相应的测试案例。
代码覆盖率具有非常好的可操作性,可以在一定程度上衡量测试人员的工作。
代码覆盖率给程序员和测试人员以信心。
但是,即使你的代码覆盖率达到了80%或者更高,不要被代码覆盖率蒙蔽了双眼!
好好回想一下覆盖的80%的代码中,你一共发现了几个Bug?
剩下的20%代码,极有可能产生80%的Bug!
覆盖的80%代码中,你真正进行验证的代码函数有多少?
覆盖的80%代码中,你真正了解的代码有多少?或者说,有多少代码是无意间被执行的。
你是否保证了不同操作系统下测试案例的执行?
这80%覆盖的代码中,你是否偷懒省去了某些复杂的检查点的检查?
你是否会因为某个分支只有一行代码,而省去这个分支的测试案例?
你是否存在一个检查点也没有的测试案例?
看了上面的8条,再想想你的80%代码覆盖率,还会感觉测试已经完全,无事可做了吗?
代码覆盖率只是一个最基本的前提,一定要保证,但不是意味着达到指标就代表测试的完成。
永远要记住,80%的代码覆盖率也许只是刚刚开始,被测试代码中到底潜藏有多少Bug,谁也不知道!
相关文章推荐
- Linux平台代码覆盖率测试工具GCOV的前端工具LCOV简介
- 使用GDB进行代码覆盖率测试
- 软件自动化测试—代码覆盖率
- [Android 测试] 代码覆盖率之 手工、自动、结合appium、合并ec
- jacoco统计自动化测试代码覆盖率
- 收集Android程序测试代码覆盖率
- 【生活感悟】达克效应--要自信不要自负,越努力越幸运
- 不要被i蒙蔽了双眼,INTEL酷睿i系列笔记本CPU简单对比
- ant中使用cobertura分析测试用例的代码覆盖率
- gcov代码覆盖率使用gcov完成代码覆盖率的测试
- 单体测试的代码覆盖率工具cobertura
- Linux平台代码覆盖率测试工具GCOV相关文件分析
- 软件自动化测试—代码覆盖率
- sonar ant+jacoco 编译测试并出具测试代码覆盖率报告
- 使用 Contest 分析测试用例的代码覆盖率
- 生活已经如此艰难,就不要一个人吃饭、睡觉、打代码了
- Linux平台代码覆盖率测试工具GCOV的前端工具LCOV简介
- [Java测试]使用Cobertura度量代码覆盖率
- 如何统计测试代码的覆盖率
- xcode进行代码覆盖率测试