[发明专利]一种程序测试方法、装置及电子设备有效
申请号: | 201810445240.0 | 申请日: | 2018-05-10 |
公开(公告)号: | CN110471830B | 公开(公告)日: | 2022-06-21 |
发明(设计)人: | 周志刚;陈少杰;张文明 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;H04L67/50;H04L67/30 |
代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 刘杰 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 程序 测试 方法 装置 电子设备 | ||
本发明实施例公开了一种程序测试方法、装置及电子设备。本发明实施例方法包括:利用预先编写好的TCP程序对已安装客户端程序接收服务器数据异常情况进行测试;编写程序读取配置文件,以进行客户端程序的设置,对客户端程序读取配置文件进行兼容性处理;对系统的读取文件函数进行HOOK,以修改客户端程序读取配置文件的读取数据,对客户端程序进行测试。本发明实施例在程序执行过程中,可以系统函数的参数和功能,从而模拟程序错误的情况或者各种其他情况,且是基于已经发布的程序,不会对现有程序做任何改动,能够尽量真实的模拟正常程序版本运行的环境,不会造成程序崩溃等异常情况,测试稳定性和效率高。
技术领域
本发明涉及信息处理技术领域,特别涉及一种程序测试方法、装置及电子设备。
背景技术
目前,对于程序开发来说,编写测试代码是保障程序运行时正确不出问题的好方法。通常我们开发完程序后则编写单元测试功能。
然而程序功能集成后,想要在现有完成的功能上测试程序各种条件下的程序处理是否能够正确处理则不是非常方便。例如编写的一个网络传输控制协议(TransmissionControl Protocol,TCP)的程序,则无法模拟收到的服务器数据包是错误的,正确的,或者某些地方是错误的情况。同样的对于例如有些函数执行流程总是能够获取到正确的数据,同时也需要模拟出获取数据是各种错误的情况下,程序的执行是否是正常的,不会导致崩溃的发生。例如读取一个配置文件,传入的读取文件路径是错误的,或者读取的文件是错误的等等情况。
目前还没有一种能够在已经完整的程序中模拟各种异常情况,同时也不会对正常的代码进行侵入和干扰,不修改现有功能的代码,从而尽可能的保障其和正式发布的功能是一致的方法。同时对于程序运行过程中,或者是程序已经发布,发现一个程序的崩溃或者错误的情况,非常难解决类似的问题。
发明内容
本发明实施例提供了一种程序测试方法、装置及电子设备,以解决程序运行过程中,或者是程序已经发布的情况下无法有效模拟进行程序测试的问题。
第一方面,本申请提供了一种程序测试方法,该方法包括:
利用预先编写好的TCP程序对已安装客户端程序接收服务器数据异常情况进行测试,所述TCP程序用于收取服务器下发的数据并处理;
编写程序读取配置文件,以进行所述客户端程序的设置;
对所述客户端程序读取配置文件进行兼容性处理;
对系统的读取文件函数进行HOOK,以修改所述客户端程序读取配置文件的读取数据,对所述客户端程序进行测试。
进一步的,在利用预先编写好的TCP程序对已安装客户端程序接收服务器数据异常情况进行测试之前,所述方法还包括:
编写TCP程序;
所述利用预先编写好的TCP程序对已安装客户端程序接收服务器数据异常情况进行测试,包括:
利用所述TCP程序测试所述客户端程序的容错性;
对系统的网络接收数据函数进行HOOK,以对收到的服务器数据进行修改,测试所述客户端程序对接收的服务器数据的逻辑处理。
进一步的,所述编写TCP程序,具体包括:
创建网络套接字socket;
建立与所述服务器的连接;
写入请求数据并发送给所述服务器;
接收从所述服务器发送的数据。
进一步的,所述对系统的网络接收数据函数进行HOOK,具体包括:
获取系统的网络接收数据函数的函数指针;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810445240.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:软件代码测试覆盖率的检查方法及装置
- 下一篇:一种兼容测试的自动化方法及装置