组合测试实施经验小结

组合测试实施经验小结

ID:21866650

大小:162.20 KB

页数:6页

时间:2018-10-25

组合测试实施经验小结_第1页
组合测试实施经验小结_第2页
组合测试实施经验小结_第3页
组合测试实施经验小结_第4页
组合测试实施经验小结_第5页
资源描述:

《组合测试实施经验小结》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、组合测试实施经验小结组合测试(Combinatorial Test)是一种测试用例生成方法。它将被测试应用抽象为一个受到多个因素影响的系统,其中每个因素的取值是离散且有限的。两因素(Pairwise)组合测试生成一组测试用例集,可以覆盖任意两个因素的所有取值组合,在理论上可以暴露所有由两个因素共同作用而引发的缺陷。多因素(N-way,N>2)组合测试可以生成测试用例集,以覆盖任意N个因素的所有取值组合,在理论上可以发现由N个因素共同作用引发的缺陷。由于两因素组合测试在测试用例个数和错误检测能力上达到了较好的平衡,它是目前主流的组合测试方法。本文总结了我在组合测试实践中获得的一些经验。权当是

2、抛砖引玉,希望读者不吝赐教。1.不要使用正交表,要使用PICT有一些文章介绍了利用正交表构造组合测试用例集的方法。虽然可行,但是正交表并不是理想的组合测试工具。首先,正交表的性质并不适用于软件测试。正交表是为正交试验服务的,它求对任意两个因素的取值组合实施“等概率”覆盖,以便实验样本“均匀”地分布在样本空间。“等概率覆盖”有助于在正交试验中确定各个因素对实验结果的贡献,但是对于组合测试提高错误检测能力并没有帮助。受到“等概率覆盖”的约束,正交表往比“覆盖即可”的组合测试工具生成更多的测试用例,提高了测试成本。第二,利用正交表构造组合测试用例并不方便。使用正交表构造测试用例,要寻找正确的正交

3、表、对其进行剪裁、替换参数,方能获得测试用例集。如果使用微软提供的组合测试工具PICT,生成测试用例会非常简单。第一步,在文本文件中描述被测试应用的模型(Model),即该软件有哪些因素、每个因素有哪些取值。该文本文件被称为模型文件(ModelFile)。下面的文本是一个为配置测试所准备的模型文件。其中,以"#"开始句子是注释,正文部分每一行代表一个因素,":"之前是因素名,之后是因素的可能取值。##Differentmachineconfigurations#PLATFORM.x86,ia64,amd64CPUS:Single,Dual,QuadRAM:128MB,1GB,4GB,64G

4、BHDD:SCSI,IDEOS:NT4,Win2K,WinXP,Win2K3IE:4.0,5.0,5.5,6.0第二步,在命令行上运行"pict.exemodel.txt>test_cases.txt"。所生成的文件test_cases.txt是两因素组合测试用例集,其内容如下。PLATFORM.CPUSRAMHDDOSIEamd64Single4GBSCSIWin2K4.0amd64Dual128MBIDEWin2K36.0x86Quad64GBSCSIWin2K35.0...可见,使用PICT生成组合测试用例非常方便。输入文件和输出文件是易读、易理解的文本文件,测试者可以轻松地理解并修

5、改,测试工具可以方便地解析并运行。第三,现实世界中的程序是复杂的,它们为组合测试的实施提出了许多挑战。面对这些困难,PICT较正交表有明显的优势。下文将详细介绍组合测试面临的挑战和解决之道。2.要定义因素之间的约束关系在组合测试的基础理论中,各个因素的取值是相互独立的,即因素A的取值不会影响因素B的取值。但是,大多数被测试应用的因素之间存在约束关系。以配置测试为例,当因素PLATFORM的取值是x86时,因素RAM的取值就不能是64GB,因为x86CPU最大只支持4GBRAM。即便你试图将组合(PLATFORM.x86,RAM:64GB)作为负面(negative)测试用例,也是不可行的,

6、因为x86的主板根本插入不了64GB的内存。如果不考虑约束关系,组合测试用例集将包含大量的无效测试用例。这些无效的测试用例,包含一些无效的取值组合,也有可能包含一些有效的取值组合。仅仅删除无效测试用例,会导致最终的测试用例集不能实现两因素或多因素组合覆盖。面对因素之间存在约束关系的被测试应用,应该明确定义约束关系,让组合测试工具根据约束来生成有效的测试用例集。在PICT的模型文件中,加入如下的约束(Contraint)语句,就可以定义出因素之间的约束关系。IF[PLATFORM]="x86"THEN[RAM]<>"64GB";IF[OS]="Win2K3"THEN[IE]>=6.0;第一条

7、约束是,当CPU是x86时,内存不能是64GB。第二条约束是,当操作系统是Windows 2003时,IE的版本号要大于6.0。当PICT读取模型文件时,它会解析约束规则,并将其应用于测试用例生成过程。生成的测试用例集既满足对有效取值组合的覆盖,又不包含无效取值组合。3.小心卫哨(Guard)语句许多软件用卫哨语句来“过滤”无效的输入。例如,在如下代码中,if语句会“过滤”掉所有A<=0的输入。intfunc(intA,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。