组合测试
集成测试或子系统测试
组合测试(Combinatorial Testing),又称集成测试子系统测试,是在单元测试完成后通过系统化方法组装和测试模块的软件测试过程,旨在验证模块间的协作运行是否符合设计要求。该测试需在目标机环境中进行,涉及硬件、软件及网络环境的配置,通常由开发部门与用户共同参与评审。
系统简介
组合测试能够在保证错误检出率的前提下采用较少的测试用例测试系统。
在软件的功能测试中,可以通过检查系统参数的所有取值组合来进行充分的测试.例如:对一个具有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组合测试.
参考资料
5.1 集成测试概述.清华大学主页.2023-03-30
最新修订时间:2025-09-22 14:20
目录
概述
参考资料