测试环境部署方法、装置和系统的制作方法

文档序号:9326803阅读:209来源:国知局
测试环境部署方法、装置和系统的制作方法
【技术领域】
[0001] 本发明涉及计算机技术领域,尤其涉及一种测试环境部署方法、装置和系统。
【背景技术】
[0002] 现有的测试方法主要有以下几种:
[0003] -、单步调试:
[0004] 在游戏开发与测试中,为了找到程序的漏洞(bug),单步调试方法是经常被采用的 一种调试手段,一步一步地跟踪程序执行的流程,监控变量值的变化,找到bug的原因。然 而,虽然通过单步调试能够有效的进行问题排查,但是其并不能进行代码修改,其测试接口 参数的灵活性很差,难以实现比较复杂的测试情景。
[0005] 二、GM 指令:
[0006] GM指令是指面向游戏管理员开发的一些快捷指令,其本质就是一些可供调用的函 数,一般会提前编写好一些常用的GM指令,需要用到的时候直接在命令行调用。GM指令根 据作用目标可以分为服务端GM指令和客户端GM指令,例如可以通过GM指令在一个在游戏 客户端中设置游戏人物的等级、所处的位置、状态。然而,首先,对游戏测试情景来说需要修 改的代码和数据繁多,对其逐一编写GM指令的工作量巨大。其次,GM指令需要提前编写好, 无法满足实时的新修改需求,难以实现多变的测试环境。再者,增加新的GM指令,需要客户 端进行补丁(patch)更新和服务器进行动态更新(refresh)后才能生效。此外,GM指令只 能对测试数据逐一进行修改,无法实现批量地修改测试数据,效率较低。
[0007] 三、JUnit :
[0008] JUnit 是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework),该方法的基本思想是在编写代码的同时同步编写测试代码,使游戏 测试工作和游戏开发工作以增量式同步推进。这种技术方案的好处就是发现bug时可以尽 快的追踪到原因,极大地减小了回归测试时定位新出现bug的难度。然而,采用JUnit测试 方法需要对原有代码和数据进行修改。同时由于JUnit是基于极限编程的思想,故其很难 适应多变的游戏代码,游戏代码的每次调整都会迫使测试代码也必须做出相应调整,可复 用性较差。

【发明内容】

[0009] 本发明实施例的目的在于提供了一种测试环境部署方法、装置和系统,提高测试 环境部署的便利性和灵活性,实现测试数据的批量修改,提高测试效率,便于测试代码的积 累和复用。
[0010] 为了实现上述目的,本发明实施例提供了一种测试环境部署方法,包括:
[0011] 利用预先在被测端建立的后门端口对所述被测端进行入侵,将测试代码植入到所 述被测端中;
[0012] 触发所述被测端基于所述测试代码进行热更新,以实现测试环境的部署;
[0013] 其中,所述测试代码包括测试环境配置代码、测试脚本代码和测试结果收集代码。
[0014] 其中,所述后门端口通过在所述被测端中种植测试木马来开启。
[0015] 所述测试环境配置代码包括目标函数替换代码和目标变量替换代码中的一种或 两种。
[0016] 优选地,所述利用预先在被测端建立的后门端口对所述被测端进行入侵,将所述 测试代码植入到所述被测端中,具体为:
[0017] 获取所述被测端的内存中与所述测试代码对应的程序代码;
[0018] 将所述测试代码与所述程序代码进行对比;
[0019] 在所述测试代码与所述程序代码存在不同时,利用预先在被测端建立的后门端口 对所述被测端进行入侵,将所述测试代码植入到所述被测端中。
[0020] 优选地,所述被测端基于所述测试代码进行热更新,具体为:
[0021] 所述被测端将所述测试代码与所述程序代码结合,利用结合后的代码在所述被测 端的内存中对所述程序代码进行替换。
[0022] 优选地,在所述利用预先在被测端建立的后门端口对所述被测端进行入侵,将测 试代码植入到所述被测端中之前,还包括:
[0023] 获取测试代码包,对所述测试代码包进行解析,以将所述测试代码包还原为所述 被测端可识别的测试代码。
[0024] 优选地,所述对所述测试代码包进行解析,具体为:
[0025] 调用exec函数,并利用所述exec函数对所述测试代码包进行解析。
[0026] 优选地,所述测试环境部署方法还包括:
[0027] 对测试执行结果进行展示;其中,所述测试执行结果通过所述被测端执行替换后 的程序代码来获取。
[0028] 优选地,所述获取测试代码包,对所述测试代码包进行解析,以将所述测试代码包 还原为所述被测端可识别的测试代码,具体为:
[0029] 获取测试代码包,将所述测试代码包发送给中转服务器,通过所述中转服务器对 所述测试代码包进行解析,将所述测试代码包还原为所述被测端可识别的测试代码;
[0030] 所述利用预先在被测端建立的后门端口对所述被测端进行入侵,将所述测试代码 植入到所述被测端中,具体为:
[0031] 通过所述中转服务器,利用预先在被测端建立的后门端口对所述被测端进行入 侵,将所述测试代码植入到所述被测端中。
[0032] 优选地,其特征在于,所述被测端为游戏服务器或者游戏客户端。
[0033] 相应地,本发明还提供了一种测试环境部署装置,包括:
[0034] 入侵模块,用于利用预先在被测端建立的后门端口对所述被测端进行入侵,将所 述测试代码植入到所述被测端中;和,
[0035] 热更新触发模块,用于触发所述被测端基于所述测试代码进行热更新,以实现测 试环境的部署;
[0036] 其中,所述测试代码包括测试环境配置代码、测试脚本代码和测试结果收集代码。
[0037] 其中,所述后门端口通过在所述被测端中种植测试木马来开启。
[0038] 所述测试环境配置代码包括目标函数替换代码和目标变量替换代码中的一种或 两种。
[0039] 优选地,所述入侵模块包括:
[0040] 代码获取单元,用于获取所述被测端的内存中与所述测试代码对应的程序代码;
[0041] 对比单元,用于将所述测试代码与所述程序代码进行对比;和,
[0042] 植入单元,用于当所述测试代码与所述程序代码存在不同时,利用预先在被测端 建立的后门端口对所述被测端进行入侵,将所述测试代码植入到所述被测端中。
[0043] 优选地,所述测试环境部署装置还包括:
[0044] 解析模块,用于获取测试代码包,对所述测试代码包进行解析,以将所述测试代码 包还原为所述被测端可识别的测试代码。
[0045] 优选地,所述解析模块包括:
[0046] 调用单元,用于调用exec函数;和,
[0047] 解析单元,用于利用所述exec函数对所述测试代码包进行解析。
[0048] 优选地,其特征在于,所述测试环境部署装置还包括:
[0049] 展示模块,用于对测试执行结果进行展示;其中,所述测试执行结果通过所述被测 端执行替换后的程序代码来获取。
[0050] 进一步地本发明还提供了一种测试环境部署系统,包括测试端、中转服务器和被 测端;
[0051] 所述测试端包括测试代码包获取模块,所述测试代码包获取模块用于获取测试代 码包,并将所述测试代码包发送给中转服务器;其中,所述测试代码包包括测试环境配置代 码包、测试脚本代码包和测试结果收集代码包;
[0052] 所述中转服务器包括解析模块和入侵模块;
[0053] 所述解析模块,用于对所述测试代码包进行解析,将所述测试代码包还原为所述 被测端可识别的测试代码;
[0054] 所述入侵模块,用于利用预先在被测端建立的后门端口对所述被测端进行入侵, 将所述测试代码植入到所述被测端中;
[0055] 所述被测端包括热更新模块,所述热更新模块用于基于所述测试代码进行热更 新,以完成测试环境的部署。
[0056] 其中,所述后门端口通过在所述被测端中种植测试木马来开启。
[0057] 所述测试环境配置代码包包括目标函数替换代码包和目标变量替换代码包中的 一种或两种。
[0058] 优选地,所述解析模块包括:
[0059] 调用单元,用于调用exec函数;和,
[0060] 解析单元,用于利用所述exec函数对所述测试代码包进行解析。
[0061] 优选地,所述入侵模块包括:
[0062] 代码获取单元,用于获取所述被测端的内存中与所述测试代码对应的程序代码;
[0063] 对比单元,用于将所述测试代码与所述程序代码进行对比;和,
[0064] 植入单元,用于当所述测试代码与所述程序代码存在不同时,利用预先在被测端 建立的后门端口对所述被测端进行入侵,将所述测试代码植入到所述被测端中。
[0065] 优选地,所述热更新模块包括:
[0066] 代码结合单元,用于将所述测试代码与所述程序代码结合;和,
[0067]
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1