实施组合测试

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

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

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

  5. 考虑在回归测试中引入随机种子

  有些团队将组合测试用例集加入回归测试,在软件生命周期中复地执行。我建议,不妨每次生成新的组合测试用例集,一方面满足两因素或多因素覆盖的测试标准,另一方面扩大测试对程序状态空间的覆盖。如果每次都使用相同的测试用例,测试用例可能只是反复执行相同的路径,覆盖相同的状态空间,也许不能发现隐藏的缺陷。如果每次都用新的测试用例,随着回归次数的增长,测试执行可以执行更多的路径,覆盖更广大的状态空间,发现隐藏缺陷的概率也会提高。

  在PICT中,参数"/r[:N]"可以为测试用例生成引入随机种子(N是作为随机种子的整数),以生成不同的测试用例。例如,执行如下命令,就可以当前日期为种子,生成测试用例集。第一条语句从当前日期中获得年、月、日信息(%date的格式随Windows 系统设置而变化,该语句只适用于特定Windows系统),放入变量seed中。第二条语句以变量seed为种子,生成测试用例。于是,测试用例集的具体内容随日期变化,在保证两因素覆盖的前提下,扩大了对被测试应用的状态覆盖。

set seed=%date:~4,2%%date:~7,2%%date:~10,4%
pict model.txt /r:%seed%

  6. 组合测试只是测试工具箱中的一员

  组合测试最适用的场景是配置测试,包括硬件兼容性测试、浏览器兼容性测试等。在配置测试中,待组合的配置项天然就是可枚举的离散值,不存在划分等价类、从等价类中选择可用值等手工操作,避免了测试者引入的错误。在配置测试中,大部分缺陷是由两个配置项不兼容所导致的,所以组合测试的错误检测能力较强。

  对于功能测试,我倾向于将组合测试作为探索式测试的补充。在一轮测试中,我建议按照如下步骤应用组合测试。

  1. 实施探索式测试,迭代地展开测试活动:阅读规格说明,运行被测试程序,应用不同的测试策略反复尝试,标记已经探索过的区域,记录已发现的缺陷。在这一过程中,可以获得一批高质量的测试用例,形成回归测试用例集。通常这批回归用例包括两类测试用例。第一类是正面(Positive)用例,它们检查了程序在主流场景(Scenario)下的行为。只要它们通过,我就有自信认为程序可以满足正常使用的需要。第二类是负面(Negative)用例,它们往往来自暴露了程序缺陷的探索式测试。这些用例检查了程序在极限或罕见场景中的行为,是程序在现实世界中正常工作的保证。

  2. 实施组合测试。基于探索式测试,我已经知晓某些因素的取值组合是很重要的。我可以将其传递给PICT,让它基于已有的测试用例生成组合测试用例集。例如,在命令行上执行"pict.exe model.txt /e:rows.txt",就可以基于文件rows.txt,生成测试用例集,以完成两因素组合覆盖。

  3. 通过阅读代码或运行测试覆盖率工具,以发现测试遗漏。寻找未被发现的卫哨语句,修改测试策略,再次测试。寻找未被测试覆盖的语句或分支,增加新的测试用例,以提高代码覆盖率。

  组合测试只是测试工具箱中的一员。只有将它和其他测试方法结合,将它与被测试软件的特点结合,才能发挥其全部功效。
44/4<1234
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号