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

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

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

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

  在测试过程中,测试人员经常需要将测试对象的各种输入参数进行组合之后进行测试。有时候,将各种输入参数进行组合,得到的测试用例数目将是非常庞大的。由于测试时间和成本的限制,无法对测试对象输入值的所有组合进行测试。下面是某个网站测试的要求:

  ------------案例描述:开始-------------

  某网站需要支持

  ● 不同的浏览器:IE5.0、IE5.5、IE6.0、Netscape6.0、Netscape6.1、Netscape7.0、Mozilla1.1和Opera7;

  ● 不同的插件:RealPlayer、MediaPlayer或者没有任何插件None;

  ● 不同的客户端操作系统:Windows95、Windows98、WindowsME、、WindowsNT、Windows2000和WindowsXP;

  ● 不同的Web服务器软件:IIS、Apache和WebLogic;

  ● 不同的服务器端操作系统:WindowsNT、Windows2000和Linux

  这种情况下,需要针对不同的组合进行测试:

  ● 8种浏览器

  ● 3种插件

  ● 6种客户端操作系统

  ● 3种Web服务器软件

  ● 3种服务器端操作系统

  如果考虑所有参数不同取值的组合,那么需要设计和执行的测试用例的数目是1296(8 x 3 x 6 x 3 x 3 = 1296)。

  ------------案例描述:结束-------------

  在软件测试过程中,这种类型的组合是非常普遍的。每种情形都可能有庞大的组合需要进行测试,假如不对它们进行测试,可能会存在较大的风险;而如果对所有组合进行测试,测试时间和资源又不允许。测试人员在面对这种情况的时候,可以采用以下几种常用的策略:

  ● 尝试测试所有输入的组合,延期项目,导致的后果可能是失去产品的市场。

  ● 选择一些容易设计和执行的测试用例,而忽略其是否能够提供产品质量的信息。

  ● 罗列所有的组合,并随机选择其中的子集进行测试。

  ● 采取特殊的测试技术,选择能发现大部分缺陷的子集进行测试。

  如果采用最后一个策略,那么使用结对测试技术是一个很好的选择。采用结对测试的技术,测试并不针对输入值的所有组合进行测试,而只是针对所有输入值的两两组合。结对测试技术可以显著地减少测试用例的数目,同时保证较高的测试质量。下面是应用结对测试技术减少测试用例数目的例子:

  ● 假如软件系统有四个不同的输入参数,每个参数有3个不同的输入值,得到的完全组合数目是34即81。假如采用结对测试的技术,只需要9个测试用例即可覆盖所有参数的两两组合。

  ● 假如软件系统有13个不同的输入参数,每个参数有3个不同的输入值,得到的完全组合数目是313即1594323。假如采用结对测试的技术,只需要15个测试用例即可覆盖所有参数的两两组合。

  ● 假如软件系统有20个不同的输入参数,每个参数有10个不同的输入值,得到的完全组合数目是1020。假如采用结对测试的技术,只需要180个测试用例即可覆盖所有参数的两两组合。

  结对测试技术能够发现所有的单模式失效(Single-mode Fault)和双模式失效(Double-mode Fault)。但是,结对测试并不一定适合于发现测试对象中的多模式失效(Multimode Fault)。

  ● 单模式失效:失效是由单个参数引起的,只要针对所有独立参数进行测试,就能够发现该失效。

  ● 双模式缺陷:失效是由两个参数共同引起的,必须针对所有参数的两两组合进行测试,才能够确保发现此类缺陷。

  ● 多模式缺陷:失效是由三个或三个以上参数共同引起的,采用结对测试技术也可能发现多模式缺陷,但是不能保证测试的充分性。

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号