[发明专利]一种程序测试的方法及相关装置在审
申请号: | 201910768347.3 | 申请日: | 2019-08-15 |
公开(公告)号: | CN112395185A | 公开(公告)日: | 2021-02-23 |
发明(设计)人: | 王阳;张银红;陈锐;李丽 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 骆苏华 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 程序 测试 方法 相关 装置 | ||
本申请实施例提供了一种程序测试的方法及相关装置,通过GDB可向运行中的待测程序进行动态调试,可以随时修改待测程序的执行逻辑,不会因测试需求的改变而去重新修改待测程序的源代码,因此,本申请可以节省测试资源和时间成本,提高测试效率。该方法包括:接收测试请求;启动与测试请求对应的待测程序;当待测程序运行时,通过GDB向待测程序添加与测试请求对应的测试代码,其中,测试代码用于修改待测程序的执行逻辑;当待测程序运行结束时,根据测试代码获取待测程序的测试结果。总线系统用于连接存储器以及处理器,以使存储器以及处理器进行通信。
技术领域
本申请涉及计算机技术领域,尤其涉及一种程序测试的方法及相关装置。
背景技术
随着互联网的快速发展,用户对客户端上的程序需求也随之增多。为了保证程序在运行时能够稳定实现相应的功能,通常需要对程序进行测试。
常用的程序测试方式一般基于面向切面编程思想,预先考虑待测程序的所有目标函数、测试数据、业务场景等等因素,通过代码注入工具对待测程序的源代码进行修改,即对待测程序中的目标函数额外开发代码,使得待测程序的原有代码框架被修改,能够应用于具体的测试场景中,以实现程序测试。
然而,上述程序测试方式需要以待测程序的源代码为基础进行修改和调试,若测试过程中需要增加额外的测试场景,则需要对待测程序的源代码再次进行修改,并重新运行一次,需要耗费较多的测试资源和时间成本,导致程序测试效率较低。
发明内容
本申请实施例提供了一种程序测试的方法及相关装置,可以节省测试资源和时间成本,提高测试效率。
本申请实施例第一方面提供一种程序测试的方法,包括:
接收测试请求;
启动与所述测试请求对应的待测程序;
当所述待测程序运行时,通过GDB向所述待测程序添加与所述测试请求对应的测试代码,其中,所述测试代码用于修改所述待测程序的执行逻辑;
当所述待测程序运行结束时,根据所述测试代码获取所述待测程序的测试结果。
本申请实施例第二方面提供一种程序测试的装置,包括:
接收模块,用于接收测试请求;
启动模块,用于启动与所述测试请求对应的待测程序;
添加模块,用于当所述待测程序运行时,通过GDB向所述待测程序添加与所述测试请求对应的测试代码,其中,所述测试代码用于修改所述待测程序的执行逻辑;
获取模块,用于当所述待测程序运行结束时,根据所述测试代码获取所述待测程序的测试结果。
基于第二方面,本申请实施例第二方面的第一种实现方式中,所述测试请求包括与所述待测程序对应的第一标识,所述启动模块还用于启动与所述第一标识对应的待测程序。
基于第二方面或第二方面的第一种实现方式,本申请实施例第二方面的第二种实现方式中,所述测试请求包括与目标函数对应的第二标识和与所述测试代码对应的变量修改信息,所述目标函数为所述待测程序所包含的至少一个函数,所述添加模块还用于:
当所述待测程序运行时,通过GDB在所述待测程序中,确定与所述第二标识对应的所述目标函数;
通过所述GDB将与所述变量修改信息对应的所述测试代码添加至所述目标函数中;
通过所述GDB在所述测试代码的添加处设置断点。
基于第二方面的第二种实现方式中,本申请实施例第二方面的第三种实现方式中,所述变量修改信息包括目标变量与所述目标变量的修改值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910768347.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种美白淡斑的面霜
- 下一篇:一种编码方法及相关设备