90%代码覆盖率不一定比70%质量高

上一篇 / 下一篇  2012-06-27 16:27:29 / 个人分类:正确的测试思想

  • 90%代码覆盖率不一定比70%质量高

   测试策略的价值—— 实现高性价比的代码覆盖率   

 正文: 

   用户并不关心所有的软件bug,所以测试也并不需要找出所有bug。用户只关心影响他核心需求的bug(例如:昨天QQ安全箱导致用户电脑不能上网的Bug),因此除非真正100%的代码覆盖率,否则都有可能遗漏掉用户也许最关心的那5%-10%Bug。据此可推断出一种场景:假如对用户影响很大的bug5%的代码中2个不同的测试策略,1个测试策略的代码覆盖率只有70%但覆盖到了这5%的代码,另1个测试策略的代码覆盖率有90%但未覆盖到这5%的代码。显然,从对用户的影响来看,70%的测试质量比90%的测试质量更高。

现在我们对代码覆盖率应该有一种更进一步的认识:除非100%覆盖否则不一定高覆盖率就一定比低覆盖率的测试质量更高,而决定测试质量的关键在于测试策略(测试宽度和测试深度组合的设计)。好的测试策略会帮助你用更少的时间尽早发现对用户影响最大的一批bug,而不是花费较多的时间去覆盖更高的代码覆盖率,这会影响我们测试进度和测试资源。

如何设计好的测试策略实现高性价比的代码覆盖率,也是我需要去研究的课题。但我相信这一定是有解的,建议大家可以先从这些纬度来思考和研究:基于风险分析的测试策略设计、何谓风险分析、更深入的了解用户需求及应用场景、软件实现模型、不同测试手段能实现的测试覆盖范围、测试对象提取的测试分析方法等。

   除非你有很多测试时间和测试资源实现100%代码覆盖率和100%用户场景覆盖率,否则你只能追求高性价比的代码覆盖率,而不是越高越好的代码覆盖率。


TAG:

mytestl的个人空间 引用 删除 mytestl   /   2012-07-06 11:42:17
个人认为新手的话还是尽量高覆盖率比较好一些,当然也得搞清楚重点测试点,一定不能放过要重点的测试这些方面
mytestl的个人空间 引用 删除 mytestl   /   2012-07-06 11:39:52
嘿嘿,貌似这个和敏捷性测试相关,这个低的覆盖率测试出高质量测试,需要的是经验啊
引用 删除 1210peter   /   2012-06-28 08:06:53
可以先考虑一下28原则。用80%的代码覆盖率来保证20%的核心业务。
 

评分:0

我来说两句

Open Toolbar