[发明专利]基于程序控制依赖引导的回归测试案例生成方法有效
申请号: | 201310362303.3 | 申请日: | 2013-08-19 |
公开(公告)号: | CN103455421A | 公开(公告)日: | 2013-12-18 |
发明(设计)人: | 郑庆华;刘烃;王海军;俞乐晨;黄小龙 | 申请(专利权)人: | 西安交通大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 蔡和平 |
地址: | 710049 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提出一种基于程序控制依赖引导的回归测试案例生成方法,可以自动生成对程序修改部分进行有效测试的测试案例。该方法以发生修改的程序代码为测试目标,通过分析程序的控制流和信息流,建立程序控制依赖图;计算各个分支语句到达测试目标代码的概率(到达概率),引导符号执行生成可以保证目标代码被执行的测试案例;计算所有分支语句的可能使得目标代码执行结果无法传播到输出的概率(阻断概率),引导符号执行生成可以保证目标代码执行结果影响输出的测试案例。相比现有回归测试方法,本方法可以保证测试案例的有效性,同时显著提高测试案例生成的效率。 | ||
搜索关键词: | 基于 程序控制 依赖 引导 回归 测试 案例 生成 方法 | ||
【主权项】:
基于程序控制依赖引导的回归测试案例生成方法,其特征在于,包括如下步骤:S101)、利用程序静态分析方法,分析测试程序的控制流和信息流,建立测试程序的控制依赖图;S102)、针对输入的测试程序的目标代码,根据步骤S101)中建立的控制依赖图中计算各个分支的到达概率;S103)、采用基于分支到达概率引导的约束生成算法,迭代搜索和取反测试案例执行路径上到达概率最大的分支条件,生成新的约束,利用符号执行方法进行求解,若可以生成一个执行目标代码的测试案例,转入步骤S104);若无法生成测试案例可以执行目标代码,则表示测试目标代码在程序中不会被执行,转入步骤S107);S104)、针对测试程序的目标代码,根据程序信息流,检测各个分支语句是否阻断目标代码执行结果对程序输出的影响,若改变则标记为阻断分支;然后,计算各个分支的阻断概率;S105)、采用基于分支阻断概率引导的约束生成算法,迭代搜索和取反测试案例执行路径上阻断概率最小的分支条件,生成新的约束,利用符号执行方法进行求解,若可以生成一个测试案例保证目标代码执行结果影响输出,转入步骤S106);若无法生成测试案例,转入步骤S103);S106)输出有效测试案例,流程结束;所述有效测试案例是指该测试案例可以保证测试目标代码被执行,且执行结果影响程序输出结果;S107)针对输出测试程序和测试目标代码,无法生成有效测试案例。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310362303.3/,转载请声明来源钻瓜专利网。