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

 转自 架构师Jack的个人空间


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%用户场景覆盖率,否则你只能追求高性价比的代码覆盖率,而不是越高越好的代码覆盖率。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值