实施组合测试

发表于:2010-7-29 13:05

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

 作者:未知    来源:51Testing软件测试网采编

  如果很清楚被测试对象的实现逻辑,使用第一种方法可以生成规模较小的测试用例集,因为它几乎不考虑非法值与有效值的组合。如果只是从规格说明中了解到程序可能存在卫哨语句,那么用第二种方法可以生成更“安全”的测试用例集。

  4. 考虑采用多因素组合测试

  在软件测试过程中,最先找到的缺陷往往处于程序的“主干”上,程序执行很容易覆盖相应的语句或状态;被遗漏的缺陷常常位于程序的“末枝”,程序执行需要满足特殊条件才能覆盖相应的语句或状态。这是软件测试的经验之谈,也提示两因素组合测试也许不能发现隐藏在“末枝”中的缺陷。一些路径需要多个因素满足一定取值组合才能被覆盖,然而两因素组合测试不能保证测试用例集可以覆盖这些组合。因此,在测试资源允许的情况下,引入多因素组合覆盖有可能进一步提高错误发现率。

  《微软的软件测试之道》建议从两因素组合测试开始,逐渐提高组合维度,直至6因素组合测试,因为有研究表明6因素组合测试可以发现绝大多数的程序缺陷。但是,随着组合维度的提高,测试用例数呈爆炸式增长。除非测试用例是由测试先知(Test Oracle)自动化执行,否则几乎没有团队能够完成6因素组合测试。在测试实践中,3因素组合测试可能是比较实际的选择。

  在PICT中,有两种方法引入多因素组合测试。第一种方法是在命令行上使用参数"/o:N"。例如,在命令行上执行"pict.exe model.txt /o:3",就可以生成三因素组合测试用例集。另一种更加实用的方法是在模型文件中定义“子模型”(Sub-Models)。在PICT的帮助文件中有如下的模型文件定义。

PLATFORM:  x86, ia64, amd64
CPUS:      Single, Dual, Quad
RAM:       128MB, 1GB, 4GB, 64GB
HDD:       SCSI, IDE
OS:        NT4, Win2K, WinXP, Win2K3
IE:        4.0, 5.0, 5.5, 6.0
APP:       SQLServer, Exchange, Office
{ PLATFORM, CPUS, RAM, HDD } @ 3
{ OS, IE } @ 2

  根据该模型文件,PICT将对PLATFORM, CPUS, RAM, HDD实施3因素组合覆盖,具体的生成策略可参加下图。PICT在两因素组合覆盖的基础上,对某些因素实施多因素组合覆盖,这有助于实现更灵活的测试策略。


43/4<1234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号