论文部分内容阅读
在软件测试中,对于特定的软件而言,我们不仅要考虑单个因素对软件运行产生的影响,也要考虑各个因素之间的交互对软件正常运行产生的影响。
组合测试是一种黑盒测试方法,其目的在于对于用户已经建立好的软件模型,运用该方法可以在保证满足错误检出率的前提下生成尽可能少的测试用例来测试待测系统。
近年来,学术界已经使用不同的算法开发出了多种组合测试用例生成工具。对于已经建立好的软件模型,这些工具都能保证在满足组合覆盖率的前提下生成尽可能少的测试用例。但是不足的地方在于,如果软件模型中出现较为复杂的约束和数据类型,这些工具的处理能力并不是很令人满意。
本文中我们首先提出了一个算法框架,该框架可以集成不同的算法来生成组合测试用例,具备可扩展性。同时,考虑到现有工具在处理约束方面的不足,基于贪心算法,我们提出了一种算法,该算法利用约束求解技术来处理遇到的各类复杂的约束和数据类型问题。
其次,我们已经将提出的算法在框架中实现,并开发出一种新的组合测试用例生成工具Cascade。实验结果表明在用户可接受的时间范围内,该工具可以处理逻辑、算术和关系三种运算符,以及整数、字符串和布尔三种数据类型,这种约束处理能力是其他传统组合测试工具所不具有的。对于某些具体的软件模型而言,该工具生成的测试用例的数量等于或者少于其他同类型的组合测试用例生成工具。
最后,我们将组合测试建模方法引入到软件兼容性测试中,提出了一种针对兼容性测试的新思路。