利索能及
我要发布
收藏
专利号: 2021100516693
申请人: 徐州工程学院
专利类型:发明专利
专利状态:已下证
更新日期:2025-11-13
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于相关输入变量的软件测试用例进化生成方法,设被测程序为G,对其包含的语句实施变异,得到变异分支集合为M={M1,M2,…,Mn},n是变异分支的个数;将这些变异分支插入到G中,得到新的被测程序G';设程序的输入向量为X=(x1,x2,…,xm),m是程序输入变量的个数;输入域D(X)是每个输入变量域的叉乘,即D(X)=D(x1)×D(x2)×…×D(xm);其特征在于:该方法包括以下步骤:S1:基于静态分析确定输入变量与变异分支的相关性;

S1.1:确定变异分支与输入变量的相关性;

S2:构建基于相关输入变量的变异测试用例生成优化模型;

S3:基于遗传算法生成变异测试用例。

2.根据权利要求1所述的一种基于相关输入变量的软件测试用例进化生成方法,其特征在于:步骤S1.1中基于静态分析确定输入变量与变异分支的相关性的方法为:* *

设 D (xj)是D(xj)的子域,如果某一个输入变量xj在D (xj)取不同的值,* *

能够影响Mi是否被杀死,那么,定义xj在D(xj)与Mi相关;否则定义xj在D (xj)与Mi不相关;判断方法具体为:

*

选择所有路径中最容易覆盖的路径,作为目标路径Pi,然后在D (xj)内,分析xj与Pi的相关性;如果Pi上每个节点语句都与xj不相关,那么判定Mi与xj不相关;如果Pi上只要有一个节点语句与xj相关,那么判定Mi与xj相关。

3.根据权利要求2所述的一种基于相关输入变量的软件测试用例进化生成方法,其特征在于:步骤S2中构建基于相关输入变量的变异测试用例生成优化模型的方法为:对于M i ,设 与它相关 的输入 变量为 那么决策向 量记 为对于Mi,基于相关输入变量的变异测试用例生成模型表示为:其中 为 所形成的取值域, 为目标函数,当 杀死Mi, 当 没有杀死Mi, Mi被杀死当且仅当 取最小值0;这个目标函数很难指导种群的进化,所以需要定义约束函数

设从程序开始到Mi, 穿越的路径为 与Pi的相似度记为 表示为其中,|Pi|为从程序开始到Mi路径Pi上节点的个数; 为从程序开始,Pi和上相同节点的个数。

4.根据权利要求3所述的一种基于相关输入变量的软件测试用例进化生成方法,其特征在于:步骤S3中基于遗传算法生成变异测试用例的方法为:对于Mi,当采用遗传算法生成测试用例时,对进化个体实施编码,交叉和变异操作,只需在相关的变量 部分;对于不相关的程序输入,在其输入域内,随机的取一个值,在整个进化过程中保持不变;

在种群整个进化过程中,适应值函数是用于驱动测试用例生成;基于目标函数 和约束函数 Mi的适应值函数为 表示为:其中,d是一个常数,它的作用确保括号中的值大于0;当且仅当 能杀死Mi;

采用遗传算法生成变异测试用例的算法为:输入:Mi;

输出:测试用例;

Step1:初始化子种群和遗传参数;

Step2:种群中每个进化个体在执行Mi;

Step3:判断终止条件是否满足,如果没有满足,转Step4;如果满足,转Step6;

Step4:计算进化个体适应值 执行选择、交叉、变异遗传操作,生成新的进化个体,转Step2;

Step5:保存被杀死的变异体和测试用例;转Step6;

Step6:输出测试用例;

每一个种群的进化个体编码根据它对应的决策变量确定,Step3中终止条件有两个,一个是生成杀死变异体的测试用例;另一个是种群进化到最大迭代次数。