[发明专利]一种针对异常处理代码的测试方法有效
申请号: | 201610122013.5 | 申请日: | 2016-03-03 |
公开(公告)号: | CN105701016B | 公开(公告)日: | 2018-06-29 |
发明(设计)人: | 王林章;王铮然;李宣东 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 张苏沛 |
地址: | 210093 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 异常处理 测试 插桩 测试工具 可信度 代码选择 评估 开发 | ||
本发明公布了一种针对java异常处理代码的测试方法,该方法主要是通过评估不同插桩策略来解决使用插桩技术生成针对异常处理代码的测试可信度不高的问题,实现了针对异常处理代码的测试工具。包括以下步骤:步骤1:评价不同插桩策略对测试可信度的影响;步骤2:自动根据待测异常处理代码选择插桩策略;步骤3:开发测试工具来实现对异常处理代码的测试。本发明通过以上步骤可以实现一个针对java异常处理代码的测试方法,能产生测试用例对常规方法难以测试的异常处理结构进行测试。
技术领域
本发明涉及一种基于代码插桩技术的针对异常处理代码的白盒测试方法,主要是利用错误植入技术来解决异常处理代码难以测试的问题,进而生成测试用例,完成测试任务。属于软件工程、白盒测试、错误植入交叉技术领域。
背景技术
随着越来越多的程序设计语言中引入了异常处理结构,软件设计者越来越多的体会到异常处理结构对于程序设计带来的便利。一方面,异常结构帮助理清了编程者的思绪,也帮助代码增强了可读性,方便了维护者的阅读和理解;另一方面,一些研究成果表明,异常处理结构相关代码的缺陷密度要远远高于软件的平均缺陷密度。然而通过常规的测试方法,难以满足异常的触发条件,从而使通过测试的来提高代码质量的方法在异常处理时有些乏力。
软件测试是工业界常用的确保软件质量的方法。软件测试是软件开发过程中的一个重要组成部分,是贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程,其目的是尽快尽早地发现在软件产品中所存在的各种问题。软件测试在软件的生命周期里扮演着越来越重的角色。
目前的针对异常处理结构的测试工作,主要集中在构建程序表达和覆盖度准则。前者的工作是将异常处理结构加入到一些分析技术如控制流分析、数据流分析、控制依赖分析等;后者的工作是将结构加入到分析技术后,来评估已有的测试用例对于异常处理结构的覆盖情况。
异常处理结构的测试,相比于一般程序代码的测试有着固有的难点。对于常规的软件测试,对于预期的输入给出预期的输出,使用常规的黑盒白盒测试方法就可以完成测试任务,然而对于异常处理代码,这些方法生成的测试用例只能有非常低的覆盖率。原因是常规的测试输入难以达到异常产生的条件,很难覆盖到异常处理代码。
错误植入技术是通过动态修改运行程序创造错误,破坏程序的前置条件或后置条件的满足,通过这种方法人为的增加错误来改变程序的运行路径,可以使程序执行到原本执行不到的路径,从而提高测试覆盖率。通过错误植入技术可以将异常处理代码测试问题转换为常规的测试问题。
发明内容
技术问题:本发明的目的是针对异常处理代码进行测试,以错误植入技术为基础,通过分析开源项目在不同位置进行错误植入对于测试结果的影响,构造出分类器为待测代码选择最优的错误植入的插桩策略,最终生成测试用例完成测试任务。
技术方案:为了实现上述发明目的,本发明采用的技术方案为:一种针对异常处理代码的测试方法,首先选取有充足测试用例的开源项目,通过获取程序特征以及不同插桩策略的错误植入对测试用例运行石的程序路径的影响,构造出针对程序特征的插桩策略分类器,用于选出对测试路径影响最小的插桩策略;然后以分类器算法为核心完成测试工具,对待测项目生成对应错误植入集,选择语句覆盖测试工具生成测试用例覆盖错误植入集,最终完成测试任务。
针对异常处理代码的测试方法包括以下步骤:
步骤1:评价不同插桩策略对测试可信度的影响。
具体的步骤如下:
步骤1.1:获取程序执行路径;
步骤1.2:根据不同插桩策略生成插桩位置;
步骤1.3:对不同插桩位置插桩后运行得到程序路径;
步骤1.4:比较程序路径和未插桩是否相同,获得测试可信度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610122013.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:应用镜体的立体动画、活动影像播放及观视构造
- 下一篇:数码相机液晶屏遮阳罩