如何有效减少测试用例数目

发表于:2011-4-28 17:16

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:郑文强    来源:51Testing软件测试网采编

分享:

  下面的几个数据可以说明结对测试技术的有效性:

  ● 根据AT&T在对其基于局域网的邮件系统进行的测试中,应用结对测试技术得到的1000条测试用例比其原有的1500条测试用例多发现了20%的缺陷,而测试工作量却减少了50%。

  ● National Institute of Standards and Technology在一项对医疗设备测试所进行的15年追踪中发现,有98%的软件缺陷可以通过结对测试技术发现。

  ● 根据对Mozilla网页浏览器的缺陷分析显示,76%的缺陷可以通过结对测试技术发现。

  具体的结对测试,可以通过不同的测试技术来得到,包括正交矩阵(Orthogonal Arrays)的方法、James Bach提供的Allpairs方法,也可以通过分类树方法。表1得到的测试用例是通过Allpairs方法实现的,详细的内容以及其他测试技术的实现方法,可以参考《软件测试设计》原著。

图1 使用Allpairs得到的测试数据

  假如测试数据列表中的某个参数的取值以~开头,那么说明该参数取值已经有两两组合了。以~开头的参数取值,可以用该参数的任何其他取值来代替,而不会影响其两两组合的覆盖率。因此,可以将以~开头的参数取值,用更关键的或者经常使用的参数值来代替。同时,使用Allpairs得到的测试数据中,还罗列了所有的两两组合,并且统计了每个两两组合出现的次数,以及每个测试用例所包含的两两组合数。

  从上面的结果可以看到:通过采用合适的测试技术,测试用例数目原来需要1296个,而目前只需要48个进行覆盖,测试用例数目减少了96%。前面已经提到了,结对测试可以发现所有的单失效模式和双失效模式的缺陷,而实践过程中,大部分的失效是单失效模式和双失效模式,多失效模式占的比例很少。因此,通过采用合适的结对测试,可以大大降低测试用例数目,减少测试工作量,同时可以实现较好的测试覆盖率,保证测试质量。

22/2<12
重磅发布,2022软件测试行业现状调查报告~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号