http://www.paper.edu.cn
-1-
基于二叉解空间树的两两组合测试数据生成
1
崔冬华,李俊士,乔素琴
太原理工大学 计算机与软件学院,太原 (030024)
E-mail:licese@163.com
摘 要:本文针对多因素二水平系统提出:将所有的测试数据表示为一棵二叉解空间树,用
回溯法对二叉解空间树进行路径搜索来生成测试用例,然后使用贪心算法生成补充的测试数
据,以满足两两组合覆盖标准。实验证明使用这种方法生成的测试数据集具有较高的覆盖率,
实验结果证明了方法的有效性。
关键词:软件测试;组合覆盖;测试数据生成;算法
中图分类号:TP317
1.引言
测试在软件开发过程中是一项非常重要也是非常昂贵的过程,人们一直在研究如何降低
软件测试的成本。组合测试技术是一种重要的测试方法,因能以较少的测试用例来实现对被
测试系统进行科学有效的测试而得到广泛的研究和应用
[4]
。
根据覆盖程度的不同,组合覆盖方法可以区分为单因素覆盖、两两组合覆盖、三三组合
覆盖等
[1] [3]
。随着覆盖程度的提高,相应需要的测试用例规模也呈指数迅速增长,综合考虑
软件测试的成本、时间、各种因素的组合覆盖程度、测试用例的规模等因素,人们最常用的
组合覆盖测试方法是两两组合覆盖方法。
两两组合覆盖方法已经在软件测试领域得到了成功的应用,人们应用这种方法对软件系
统进行测试时,发现了很多传统测试方法难以发现的错误。所以,这种方法受到了人们很大
的重视。但两两组合覆盖方法的测试数据生成一直是人们研究的重要课题,至今还没有得到
很好的解决。
所以,在已有工作基础上,结合我们在这个方面的研究,提出和实现了基于二叉树的两
两组合测试数据生成的算法。论文第 1 节介绍了所用的基本概念;第 2 节描述了基于二叉解
空间树的测试数据生成算法,第 3 节实现了两两组合覆盖方法的测试数据自动生成的实验。
2.基本概念与相关定义
设影响待测软件 SUT(Software Under Testing)的参数(因素)共有 n 个: ,, ,
12
PP
n
⋅⋅⋅⋅⋅⋅ ,
这些参数可以是 SUT 的配置参数、内部变量、外部输入等。不妨设参数
1
in
i
≤≤ 可在有限
离散点集
T
i
中取值, T
i
中有 t
i
个元素,即: {1, 2 , , }Tt
ii
⋅⋅⋅ , tT
ii
= ,且
12
tt t
n
≥ ≥⋅⋅⋅⋅⋅⋅≥
。并假
设这些参数是相互独立的,即某个参数的具体取值不会影响其他参数的取值或存在性。本文
假定
T
i
中有 2 个元素,即: {1, 2}T
i
= , 2tT
ii
= ,且
12
tt≥
。
定义 1.如果一个系统有 n 个因素(参数),每个因素(参数)有两个取值,称这样的
系统为二水平多因素系统,以下记为 SM2
[1][2]
。
定义 2.称 n 元组
(, ,, )
12
tc v v v
in
= ⋅⋅⋅ 为 SUT 的一个测试用例,其中: ,,,
1122
vVvV vV
nn
∈ ∈ ⋅⋅⋅ ∈ 。
定义 3.对于某个 SUT 的测试集,如果该测试集覆盖了这个 SUT 的任意两个参数的所
有取值的两两组合,称该测试集为两两组合覆盖测试集。
根据参考文献[3]中关于解空间树的定义 6 可以得到下列关于二叉解空间树的定义。
1
本课题得到山西省回国留学人员基金(项目编号:2007-27)的资助。
评论0
最新资源