[发明专利]一种基于弱变异分析的测试用例约减方法有效
申请号: | 201810372296.8 | 申请日: | 2018-04-24 |
公开(公告)号: | CN110399285B | 公开(公告)日: | 2022-11-15 |
发明(设计)人: | 王曙燕;袁佳娟;孙家泽 | 申请(专利权)人: | 西安邮电大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06N3/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 710121 陕西省*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 变异 分析 测试 用例约减 方法 | ||
本发明提供一种基于弱变异分析的测试用例约减方法,在保持测试用例充分性基本不变的情况下约减无效测试用例。该方法包括:构建变异分支插入原程序生成新程序,执行原测试用例集生成测试用例和变异分支的二进制关系矩阵;对矩阵列分组和编码后约减无效变异体;得到测试用例覆盖变异分支子集对应的测试用例并约减;对简化后的关系矩阵通过人工鱼群算法得到约减后的有效测试用例集。该方法基于弱变异准则,分析测试用例与变异分支的覆盖情况,在不改变或极小改变变异评分的情况下有效约减测试用例,本发明涉及软件技术领域。
技术领域
本发明属于软件测试技术领域,特别是变异测试领域,基于弱变异准则分析测试用例与变异分支覆盖关系,是一种基于弱变异分析的测试用例约简方法。
背景技术
软件测试是保证软件质量的重要手段,在渐进和快速迭代开发中,新版本的连续发布使测试进行地更加频繁,极端编程方法中,更是要求每天都进行若干次测试。随着软件复杂度增加,测试用例的规模也随之增加,而利用尽可能少的测试用例满足给定的测试需求,能够大幅度提高测试效率,降低测试成本。变异测试是一种基于缺陷的软件测试技术,评估软件质量的同时可以评估测试用例的充分性。
现有的对变异测试的研究主要有变异对象选择,变异体选择与约减和测试用例约减,在过去的几十年中,对变异测试的研究主要集中在变异体的选择和约减上,采用抽样法,变异算子选择和统计占优法对变异体进行选择和约减,但这样有可能影响软件质量和测试充分度的评估。同时,变异测试判别变异体是否被杀死有强变异测试和弱变异测试。对于判别一个变异体是否被杀死,满足可达性,必要性和充分性的为强变异测试,即测试用例必须可以执行到变异语句,执行变异语句后程序状态发生变化,改变后的结果可影响程序的输出,而满足可达性和必要性2个条件的为弱变异测试。通过强变异测试执行原程序P与变异体M对比结果相同与否,判断变异体是否被杀死,由于变异测试中产生大量的变异体,这样极大的降低了变异测试效率,而弱变异可有效替代强变异,基于弱变异准则将变异体转化为变异分支,对于原程序P中语句s进行变异,基于弱变异准则可将变异体逐一转化为原语句s与变异语句s'构造的形如if(s!=s')变异分支,将转化后的变异分支插入P对应位置形成新程序P',而目前多数变异测试依旧是在强变异准则下执行,这样增加了变异测试的成本。
因此,基于弱变异准则生成测试用例和变异分支关系矩阵,对无效变异体和子集测试用例约减得到简化后的矩阵,结合算法得到更加完备有效的测试用例集。
发明内容
一种基于弱变异分析的测试用例约减方法,通过变异分支转化得到测试用例和变异分支关系矩阵,约减变异体和子集覆盖测试用例,结合人工鱼群算法得到约减后的测试用例。其特征在于主要包括以下步骤:
(1)基于弱变异转化的测试用例和变异分支关系矩阵生成:使用变异测试工具Mujava对原程序P生成n个变异体M={m1,m2,m3........mn},结合日志文件mutation_log构造对应变异分支B={b1,b2,b3,...,bn},将变异分支B插入P变异点对应位置形成新的程序P',假设有m个原始测试用例集T={t1,t2,t3,.....tm},用T执行P'生成测试用例变异分支关系二维矩阵MT(m+1)×(n+1):
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安邮电大学,未经西安邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810372296.8/2.html,转载请声明来源钻瓜专利网。