更新时间:2021-11-03 18:13
组合测试也称集成测试或子系统测试,通常采用自顶向下测试和自底向上测试两种测试方法。组合测试的对象是指已经通过单元测试的模块,不是对零散模块进行单个测试,而是用系统化的方法装配和测试软件系统;是一个严格的过程,必须认真地进行计划,其计划的产生和单元模块测试的完成日期要协调起来。这种测试应在系统目标机上进行。造就系统应用的环境条件。除了开发部门项目负责人参加以外,还应该有相应系统的用户参加,给评审员进行演示。
系统简介
组合测试能够在保证错误检出率的前提下采用较少的测试用例测试系统。
在软件的功能测试中,可以通过检查系统参数的所有取值组合来进行充分的测试.例如:对一个具有k个参数的待测系统(software under test,简称SUT),这些参数分别有v1,v2,…,vk个可能取值,完全测试这个系统需要 1kiiv=∏个测试用例.对于一般的被测系统而言,这个组合数是一个很庞大的数字.如何从中选择一个规模较小的 子集作为测试用例集是测试用例生成(test case generation)中一个很重要的问题.在测试性能和代价上的一个折衷就是组合测试(combinatorial testing),因为根据观察,对于很多应用程序来说,很多程序错误都是由少数几个参数的相互作用导致的.例如:Kuhn和Reilly分析了Mozilla浏览器的错误报告记录,发现超过70%的错误是由某两个参数的相互作用触发的,超过90%的错误是由3个以内的参数互相作用而引发的[1].这样,我们可以选择测试用例,使得对于任意t(t是一个小的正整数,一般是2或者3)个参数,这t个参数的所有可能取值的组合至少被一个测试用例覆盖.我们称这种测试准则(test criterion)为t组合测试.