【技术实现步骤摘要】
一种基于自组织映射神经网络的变异体约简方法
[0001]本专利技术属于软件测试领域,具体属于变异测试领域,涉及一种基于自组织映射神经网络的变异体约简方法。
技术介绍
[0002]软件测试对于确保软件质量起着至关重要的作用,软件测试存在于软件开发的整个生命周期,在软件可靠性领域受到了广泛的关注。变异测试是一种基本的软件测试技术。变异测试通过模拟程序可能出现的错误,这些错误即是对原程序某一语句做一些微小的变动,如将关系运算符“<”替换为“≤”,将这些错误注入到原程序中生成新程序,生成的新程序叫变异体,用同一个测试用例执行原程序和变异体如果程序输出结果不同,则称变异体被杀死,如果程序输出结果相同,则称变异体存活。通过程序输出判断变异体是否被杀死的方法称为强变异测试。一个程序往往存在很多变异体,强变异测试要用所有的测试用例分别执行每一个变异体,导致测试成本太高。除了强变异测试之外还有弱变异测试。强变异测试判定一个变异体被杀死,要求满足可达性,必要性和充分性。其中,可达性指测试用例能够执行到变异语句,必要性指测试用例在执 ...
【技术保护点】
【技术特征摘要】
1.一种基于自组织映射神经网络的变异体约简方法,其特征在于包括以下步骤:(1)基于弱变异测试的变异体杀死矩阵的生成:假设原程序P有一个由m个测试用例组成的测试用例集T,T={t1,t2,t3,
…
t
m
},n个变异体组成的变异体集M,M={m1,m2,m3,
…
m
n
},基于弱变异转化法构造n个变异体对应的变异分支,组成变异分支集B,B={b1,b2,b3,
…
b
n
},将n个变异分支插入原程序P中,获得新程序Q,用测试用例集T执行Q获得弱变异测试下n个变异体的杀死矩阵MT
n
×
m
:若测试用例t
i
,i∈[1,m]可以覆盖b
j
的真分支,j∈[1,n],表明m
j
在弱变异测试下被t
i
杀死,则记mt
ij
=1,否则表明m
j
没有被t
i
杀死,记mt
ij
=0;(2)变异体特征矩阵的生成:获取n个变异体的变异点位置信息L,L={l1,l2,l3,
…
l
n
}以及n个变异体使用的变异算子的类型信息S,S={s1,s3,s3,
…
s
n
},将L和S插入到杀死矩阵MT
n
×
m
中生成变异体特征矩阵F
n
×
(m+2)
:变异...
【专利技术属性】
技术研发人员:王曙燕,高雨,孙家泽,王小银,
申请(专利权)人:西安邮电大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。