【技术实现步骤摘要】
一种基于聚类和多种群遗传算法的软件测试数据生成方法
本专利技术涉及计算机软件测试领域,具体是一种基于聚类和多种群遗传算法的软件测试数据生成方法。
技术介绍
软件质量评价是软件工程领域一个重要研究内容,软件的正确性和可靠性,需要通过软件测试进行评估。变异测试是由Hamlet和DeMillo等提出的一种面向缺陷的测试技术,它不仅可以根据程序或语句的特征,模拟真实软件中的各种类型的缺陷,也可以基于程序的复杂情况,针对性的选择缺陷发生位置和注入缺陷的数目。因此,对于软件测试来说,变异测试是一种方便、灵活、个性化的技术。与传统的结构化测试相比,变异测试具备的充分性测试准则,使其具有更强的缺陷检测能力。因此,上述变研究的结果,为本方法研究奠定了坚实的基础。为了进行变异测试,首先,通过使用变异算子,对程序的某一语句做合乎语法的微小变动,以产生一个新的程序,称该程序为一个变异体。生成缺陷的规则称为变异算子。根据变异测试可达性、必要性和充分性满足的条件不同,变异测试分为强变异和弱变异测试两种。在强变异测试准则下,判断一个变异体能否被杀 ...
【技术保护点】
1.一种基于聚类和多种群遗传算法的软件测试数据生成方法,其特征在于:该方法包括以下步骤:/nS1.1:确定变异体杀死难度;/nS1.2:确定变异体纸件的相似度;/nS2:聚类变异体;/nS3:构建测试数据生成数学模型;/nS4:基于多种群遗传算法生成测试数据。/n
【技术特征摘要】
20200803 CN 2020107704059;20201009 CN 2020110724021.一种基于聚类和多种群遗传算法的软件测试数据生成方法,其特征在于:该方法包括以下步骤:
S1.1:确定变异体杀死难度;
S1.2:确定变异体纸件的相似度;
S2:聚类变异体;
S3:构建测试数据生成数学模型;
S4:基于多种群遗传算法生成测试数据。
2.根据权利要求1所述的基于聚类和多种群遗传算法的软件测试数据生成方法,其特征在于:步骤S1.1中,确定变异体杀死难度的方法为:
设变异体的集合,记为M={M1,M2,…,Mn},n为变异体的个数;将变异体对应的变异分支插入G中,形成的新被测程序,记为G';X运行G',如果Mi对应的变异分支被覆盖,那么基于弱变异准则Mi被杀死;
为了反映X杀死变异体Mi情况,定义一个随机变量μi(X),
为了计算μi(X),采用数理统计的方法;首先,需要得到一个测试数据集,为此,在程序G输入域内随机生成R个样本,记为X1,X2,...,XR;将Xk,k=1,2,…,R执行程序,考察在弱变异测试准则下它是否能杀死Mi,然后计算μi(Xk)的值;因此,Mi的杀死的难度Dif(Mi),可以表示为:
所有变异体杀死难度,记为Dif(M1),Dif(M2),...,Dif(Mn),将这些变异体基于杀死难度进行降序排序,排序之后对应的变异体序列,记为S。
3.根据权利要求2所述的基于聚类和多种群遗传算法的软件测试数据生成方法,其特征在于:步骤S1.2中确定变异体纸件的相似度的方法为:
假设变异体Mi,Mj,i,j=1,2,...,n,i≠j是两个不同的变异体;定义两个随机变量μi(Xk)和μj(Xk),它们分别反映Mi,Mj被杀死的可能性;那么μj(Xk)=1的概率表示为:
Mi和Mj之间的相似度,记为αi,j,由上式可以表示为:
由上式可知,αi,j∈[0,1]。
4.根据权利要求3所述的基于聚类和多种群遗传算法的软件测试数据生成方法,其特征在于:步骤S2中聚类变异体的方法为:
对于所有变异体M1,M2,…,Mn之间的相似度,建立变异体了相似矩阵Λ,记为:
设第i簇为Ci,开始时设阈值为T∈(0,1);
聚类变异体步骤如下,
A1:变量i=1,
A2:从S中选出首元素作为聚类中心更新簇为
A3:将分别从S和M中删除;
A4:考察Λ中对应的行,与Mj,Mj∈M,j=1,2,...,n,的αi,j值,如果αi,j≥T,可以把Mj放入Ci,由此得到,以为中心的簇其中|ci|为簇中元素的个数,为第i个簇中第j个元素;
A5:将...
【专利技术属性】
技术研发人员:党向盈,鲍蓉,徐玮玮,阮少伟,申珅,厉丹,
申请(专利权)人:徐州工程学院,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。