[发明专利]程序的代码段测试方法、装置和系统有效
申请号: | 201310752450.1 | 申请日: | 2013-12-31 |
公开(公告)号: | CN103761184B | 公开(公告)日: | 2017-01-04 |
发明(设计)人: | 冯蛟;麻先盛 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙)44285 | 代理人: | 王仲凯 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序 代码 测试 方法 装置 系统 | ||
1.一种程序的代码段测试方法,其特征在于,包括:
在对被测程序进行测试时,在所述被测程序中调用被测试代码段的位置,设置断点/跳转处理单元;
运行所述被测程序,当所述被测程序执行至调用所述被测试代码段位置时,所述断点/跳转处理单元中断所述被测试代码段的执行流程,并将所述被测程序的执行跳转至测试流程;
在执行所述测试流程中,运行测试代码段,并获取测试结果。
2.根据权利要求1中所述的方法,其特征在于,所述被测试代码段的代码类型包括:
二进制程序映像。
3.根据权利要求2中所述的方法,其特征在于,所述被测程序包括:
操作系统程序或应用程序。
4.根据权利要求3中所述的方法,其特征在于,所述断点/跳转处理单元包括:
通过设置断点、探针、动态修改代码段或虚拟执行中的一种或任意组合实现。
5.根据权利要求1中所述的方法,其特征在于,所述获取测试结果后,还包括:
测试流程结束后,恢复所述被测程序程的执行。
6.根据权利要求5中所述的方法,其特征在于,所述测试流程包括:
构造和检查测试环境;
调用所述被测试代码段;
所述被测试代码段执行完毕后,进行所述测试环境结果的检查和记录。
7.根据权利要求5中所述的方法,其特征在于,所述测试流程包括:
构造和检查测试环境;
调用所述被测试代码段的副本;
所述被测试代码段的副本执行完毕后,进行所述测试环境结果的检查和记录。
8.根据权利要求6或7中任一所述的方法,其特征在于,还包括:
恢复被中断的所述被测程序的执行前,清理所述测试环境。
9.根据权利要求7中所述的方法,其特征在于,还包括:
所述构造和检查测试环境前,当所述被测试代码段的副本不存在时,创建所述被测试代码段的副本。
10.根据权利要求9中所述的方法,其特征在于,所述被测试代码段的副本包括:
与所述被测试代码段逻辑功能等效的代码段。
11.一种程序的代码段测试装置,其特征在于,包括:
断点设置单元,用于在对被测程序进行测试时,在所述被测程序中调用被测试代码段的位置,设置断点/跳转处理单元;
所述断点/跳转处理单元,用于当所述被测程序执行至调用所述被测试代码段位置时,所述断点/跳转处理单元中断所述被测试代码段的执行流程,并将所述被测程序的执行跳转至测试流程;
测试单元,用于在执行所述测试流程中,运行测试代码段,并获取测试结果。
12.根据权利要求11中所述的装置,其特征在于,所述被测试代码段的代码类型包括:
二进制程序映像。
13.根据权利要求12中所述的装置,其特征在于,所述被测程序包括:
操作系统程序或应用程序。
14.根据权利要求13中所述的装置,其特征在于,所述断点/跳转处理单元包括:
断点、探针、动态修改代码段或虚拟执行中的一种或任意组合。
15.根据权利要求11中所述的方法,其特征在于,还包括:
恢复单元,用于测试流程结束后,恢复所述被测程序程的执行。
16.根据权利要求15中所述的装置,其特征在于,所述测试单元,包括:
测试环境构造模块,用于构造和检查测试环境;
代码段调用模块,用于调用所述被测试代码段;
测试结果获取模块,用于在所述被测试代码段执行完毕后,进行所述测试环境结果的检查和记录。
17.根据权利要求15中所述的装置,其特征在于,所述测试单元,包括:
测试环境构造模块,用于构造和检查测试环境;
代码段调用模块,用于调用所述被测试代码段的副本;
测试结果获取模块,用于所述被测试代码段的副本执行完毕后,进行所述测试环境结果的检查和记录。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310752450.1/1.html,转载请声明来源钻瓜专利网。