[发明专利]一种程序测试的方法及相关装置在审
申请号: | 201910768347.3 | 申请日: | 2019-08-15 |
公开(公告)号: | CN112395185A | 公开(公告)日: | 2021-02-23 |
发明(设计)人: | 王阳;张银红;陈锐;李丽 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 骆苏华 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 程序 测试 方法 相关 装置 | ||
1.一种程序测试的方法,其特征在于,包括:
接收测试请求;
启动与所述测试请求对应的待测程序;
当所述待测程序运行时,通过GDB向所述待测程序添加与所述测试请求对应的测试代码,其中,所述测试代码用于修改所述待测程序的执行逻辑;
当所述待测程序运行结束时,根据所述测试代码获取所述待测程序的测试结果。
2.根据权利要求1所述的程序测试的方法,其特征在于,所述测试请求包括与所述待测程序对应的第一标识,所述启动与所述测试请求对应的待测程序包括:
启动与所述第一标识对应的待测程序。
3.根据权利要求1或2所述的程序测试的方法,其特征在于,所述测试请求包括与目标函数对应的第二标识和与所述测试代码对应的变量修改信息,所述目标函数为所述待测程序所包含的至少一个函数,所述通过GDB向所述待测程序添加与所述测试请求对应的测试代码包括:
通过GDB在所述待测程序中,确定与所述第二标识对应的所述目标函数;
通过所述GDB将与所述变量修改信息对应的所述测试代码添加至所述目标函数中;
通过所述GDB在所述测试代码的添加处设置断点。
4.根据权利要求3所述的程序测试的方法,其特征在于,所述变量修改信息包括目标变量与所述目标变量的修改值。
5.根据权利要求3所述的程序测试的方法,其特征在于,所述测试请求还包括命中次数和第三标识,所述第三标识用于指示执行所述目标函数的剩余原代码的情况,所述当所述待测程序运行结束时,根据所述测试代码获取所述待测程序的测试结果包括:
当运行所述待测程序至所述目标函数的所述断点时,若所述目标函数的运行次数小于所述命中次数,则继续执行所述目标函数的原代码直至所述目标函数的运行次数等于所述命中次数;
若所述目标函数的运行次数等于所述命中次数,则执行所述测试代码;
在执行所述测试代码后,若所述第三标识为第一子标识,则执行所述目标函数的剩余原代码,并执行所述待测程序的剩余函数,得到测试结果;
若所述第三标识为第二子标识,则执行所述待测程序的剩余函数,得到测试结果。
6.一种程序测试的装置,其特征在于,包括:
接收模块,用于接收测试请求;
启动模块,用于启动与所述测试请求对应的待测程序;
添加模块,用于当所述待测程序运行时,通过GDB向所述待测程序添加与所述测试请求对应的测试代码,其中,所述测试代码用于修改所述待测程序的执行逻辑;
获取模块,用于当所述待测程序运行结束时,根据所述测试代码获取所述待测程序的测试结果。
7.根据权利要求6所述的程序测试的装置,其特征在于,所述测试请求包括与所述待测程序对应的第一标识,所述启动模块还用于启动与所述第一标识对应的待测程序。
8.一种终端设备,其特征在于,包括:存储器、收发器、处理器以及总线系统;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,包括如下步骤:
接收测试请求;
启动与所述测试请求对应的待测程序;
当所述待测程序运行时,通过GDB向所述待测程序添加与所述测试请求对应的测试代码,其中,所述测试代码用于修改所述待测程序的执行逻辑;
当所述待测程序运行结束时,根据所述测试代码获取所述待测程序的测试结果。所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
9.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至5中任一项所述的方法。
10.一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如权利要求1至5中任意一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910768347.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种美白淡斑的面霜
- 下一篇:一种编码方法及相关设备