【技术实现步骤摘要】
基于语句覆盖和缺陷检测的多目标测试数据缩减方法
本专利技术涉及计算机软件测试领域,设计了一种基于语句覆盖和缺陷检测的多目标测试数据缩减及进化求解方法。该方法区别于已有方法的特色在于,基于语句覆盖和缺陷检测建立测试数据缩减问题的多目标优化模型,从而保证缩减后的测试数据具有较好的质量;另外,给出一种遗传算法来对上述模型进行求解。该方法不但可以有效减少测试数据的数量,还可以保证缩减后的测试数据具有较好的检错能力,对提高软件测试的效率和质量具有重要意义。
技术介绍
软件测试的目的是为了发现软件中存在的缺陷甚至错误,从而提高软件的质量。而进行软件测试的核心,是采用有针对性的理论和方法,生成有效的测试数据,以满足既定的测试充分性准则。但是,传统方法生成的测试数据往往存在大量冗余。测试数据之所以会出现冗余,是因为覆盖某一测试目标的测试数据往往同时覆盖其他测试目标。另外,在回归测试中,会根据新的测试要求不断补充大量测试数据,从而导致测试用例的数量不断攀升。测试数据冗余是软件测试领域面临的一个重要难题。如果能够找到更少的测试数据满足既定的测试要求,那么,无疑将会提高软件测试的效率, ...
【技术保护点】
基于语句覆盖和缺陷检测的多目标测试数据缩减方法,其特征在于如下步骤: 步骤1.1:把测试数据缩减问题转化为多目标优化问题,优化目标是能够覆盖的目标语句的个数尽可能的多;检测到的缺陷个数尽可能的多;包含的测试数据个数尽可能的少,也就是说测试数据集最小化。 步骤1.2:明确测试数据缩减问题的各个目标函数,建立多目标优化模型。 步骤1.3:利用遗传算法对基于语句覆盖和缺陷检测的多目标测试数据缩减问题进化求解。
【技术特征摘要】
1.基于语句覆盖和缺陷检测的多目标测试数据缩减方法,其特征在于如下步骤:步骤1.1:建立测试数据缩减问题的多目标优化模型,在不降低覆盖率的条件下,提高测试数据的检错能力,并减少测试数据的数量;设被测程序为G,输入空间为D,目标语句集为S={s1,s2,…,sm},已有测试数据集为Ω={x1,x2,…,xn},其中x1∈D,x2∈D,…,xn∈D;找到测试数据集Ω的一个子集Ω*;建立的多目标优化模型包含三个目标函数,分别是语句覆盖率、缺陷检测率和缩减率;(1)语句覆盖率若Ω*覆盖了目标语句集S中的t条语句,Ω*对S的覆盖率定义为:其中,|S|为S包含的元素的个数;(2)缺陷检测率采用变异测试方法模拟程序的内部错误:设变异体的总个数为MT,等价变异体的个数为ME;如果测试数据集Ω*杀死变异体的个数为MK,该测试数据集的缺陷检错率为:(3)缩减率设Ω包含的元素个数为|Ω|,Ω*包含的元素个数为|Ω*|,缩减率:建立测试数据缩减问题的多目标优化模型如下:max{f1(Ω*),f2(Ω*)}minf3(Ω*)(4)满足Ω*∈2Ω该模型的决策变量是:测试数据集Ω*;三个目标函数分别为f1(Ω*),f2(Ω*)和f3(Ω*),其中,f1(Ω*)和f2(Ω*)是最大化问题,f3(Ω*)是最小化问题;步骤1.2:利用遗传算法对基于语句覆盖和缺陷检测的测试数据缩减问题进行求解:设计了一种多目标遗传算法,对公式(4)所建立的多目标优化模型进行求解;1.2.1个体编码方法设Ω*是待求公式(4)的一个候选解,Ω*是Ω的一个子集,对Ω*进行编码;对于原有测试数据集Ω={x1,x2,…,xn},令对每个Ω*,可得到一个长为n的字符串α1,α2,…,αn;α1,α2,…,αn和子集Ω*是一一对应的关系,使用长度为n的字符串α1,α2,…,αn来表示个体Ω*;1...
【专利技术属性】
技术研发人员:巩敦卫,姚香娟,李彬,胡雷,陈永伟,
申请(专利权)人:中国矿业大学,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。