【技术实现步骤摘要】
本专利技术涉及计算机软件测试领域,设计了一种基于语句占优关系和两阶段遗传算 法的高阶变异测试方法。该方法区别于已有方法的特色在于,基于语句之间的占优关系选 择语句进行变异,从而保证所有变异语句可以被同时执行;另外,给出一种新的高阶变异体 评价方法,对高阶变异体的优劣进行度量;最后,设计了一种包含两个交替进化过程的遗传 算法来生成高质量的高阶变异体,从而揭示程序所包含的复杂缺陷。该方法不但可以减少 高阶变异体的数量,还可以保证高阶变体具有好的性能,对提高高阶变异测试的有效性和 可行性具有重要意义。
技术介绍
对软件进行测试的目的是为了发现尽可能多的缺陷或错误。变变异测试是一种面 向缺陷的软件测试方法,基本原理是:首先,采用变异算子对被测程序做微小的合乎语法的 变动,例如,将关系运算符“〉”替换为“〈”,从而产生大量新程序,每个新程序称为一个变异 体;然后,基于相同的测试数据运行源程序和变异体,并比较二者输出的异同。如果不同,就 认为测试数据将该变异体杀死。需要说明的是,并不是所有的变异体都能被杀死。总体来讲,导致变异体不能被杀 死的原因有如下两个:(1)测 ...
【技术保护点】
基于语句占优关系和两阶段遗传算法的高阶变异测试方法,其特征在于如下步骤:?步骤1.1:提出基于语句占优关系的变异语句选择方法,保障位于同一个高阶变异体中的所有变异语句都被执行;?步骤1.2:给出一种新的高阶变异体评价的方法,保障生成的高阶变异体比起低价变异体具有更好的检错能力。?步骤1.3:设计了一种包含两个交替进化过程的遗传算法,来生成高质量的高阶变异体,从而揭示程序所包含的复杂缺陷。
【技术特征摘要】
1.基于语句占优关系和两阶段遗传算法的高阶变异测试方法,其特征在于如下步骤: 步骤1.1:提出基于语句占优关系的变异语句选择方法,保障位于同一个高阶变异体中的所有变异语句都被执行;步骤1.2:给出一种新的高阶变异体评价的方法,保障生成的高阶变异体比起低价变异体具有更好的检错能力。步骤1.3:设计了一种包含两个交替进化过程的遗传算法,来生成高质量的高阶变异体,从而揭示程序所包含的复杂缺陷。2.权利要求1中步骤1.1所述的基于语句占优关系的变异语句选择方法,其特征在于本发明在生成高阶变异体时,每次只选择位于同一条占优路上的语句进行变异。这样,变异语句之间就存在一种递进的占优关系。当某个测试数据能够覆盖对其他变异语句都存在占优关系的变异语句时,就可以覆盖所有的变异语句。设P是一条占优路,选择P中的t个语句进行变异,分别设为Ii1, n2,…,nt。假如对语句 Hi实施变异算子Hii后,得到的新的语句为n’ it)用n’ i代替原来的语句Iii,就得到一个包含 t个变异语句的高阶变异体M。3.权利要求1中步骤1.2所述的新的高阶变异体评价的方法,其特征在于给出了一种新的高阶变异体评价方法,从而保证可以生成质量较高的高阶变异体。设T是一个已有测试数据集,A,…,气是按照步骤I所选择的变异数据,那么令Z ={t G T|t可以覆盖(,…,气}。则Z是T的一个子集,且Z所包含的测试数据能够覆盖所有的变异语句我们将利用Z所包含的测试数据对高阶变异体的性能进行评价。设¥是对语句\进行变异得到的一阶变异体,Mk是...
【专利技术属性】
技术研发人员:姚香娟,巩敦卫,郭仪昊,李鑫,张功杰,顾雅丽,王文亮,吴飞跃,
申请(专利权)人:中国矿业大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。