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

文档序号:9326803阅读:来源:国知局
本里新建一个 函数,让原来的旧函数getValue ()指向新函数的内存空间,这样在进行代码替换后,被测 端每次执行getValue ()的时候实际上将执行新函数的逻辑,valueA的值变成了 2,代码如 下:
[0129]
[0130] 除了变量值的替换修改外,本实施例提供的测试环境部署方法还可以通过测试代 码引入新的函数将原程序代码中的回调函数替换掉,这样可以使得被测端在每次执行回调 函数时触发执行我们需要的一些代码,如获取游戏中的一些实时数据,以在线的进行合理 性判断,并进行一些实时的情景修改,当出现错误可以进行自动报警,提高了自动化测试水 平。
[0131] 现有的测试环境部署方法中,有代码权限的测试人员通过直接修改代码中数据 表,然后重新加载数据表代码,即可实现对测试数据的修改,达到测试环境部署的目的,但 是为了防止数据源因随意修改而被污染,每次修改后都要执行SVN revert (Subversion还 原)操作以撤销之前的修改。本实施例提供的测试环境部署方法,通过将测试代码与被测 端内存中的原程序代码进行对比,当存在不同时,在被测端的内存中对内存中的原程序代 码进行替换,以达到部署测试环境的目的,测试人员无需具有对本地代码进行修改的权限, 所有测试数据的修改均是在内存中完成,不会对被测端中的原代码和本地数据表产生任何 修改和影响,测试完成后无需进行数据恢复操作,大大提高了测试的便利性和灵活性。可实 现批量的测试数据修改,有利于构建复杂多变的测试环境,提高测试效率。此外,本实施例 中的测试代码与被测端程序代码相互独立,有利于测试代码的复用和积累。
[0132] 参见图3,是本发明提供的测试环境部署方法的另一个实施例的流程图。本实施 例在图1所示实施例的基础上进一步地加入了步骤SlO和S13,由于步骤Sll~S12与图1 所示实施例中一致,本实施例中对此不再赘述,可参见图1所示实施例中的相关描述。
[0133] 如图3所示,所述测试环境部署方法在步骤Sll之前还包括步骤SlO :
[0134] S10,获取测试代码包,对所述测试代码包进行解析,以将所述测试代码包还原为 所述被测端可识别的测试代码。
[0135] 在具体实施当中,测试代码通常被打包成测试代码包,被测端无法对测试代码包 进行直接识别,因此,可在测试端预先注册e XeC_pyth〇n服务,当获取到测试代码包时,通 过调用python的exec函数,对所述测试代码包进行解析,将所述测试代码包还原为所述被 测端可识别的测试代码。被测端根据所述测试代码进行热更新,对测试环境进行重新配置。
[0136] 所述测试环境部署方法在步骤S12之后还包括步骤S13 :
[0137] S13,对测试执行结果进行展示。其中,所述测试执行结果通过所述被测端执行替 换后的程序代码来获取。
[0138] 通过对测试执行结果进行展示,测试人员可以清晰地知道测试代码的入侵和部署 情况。
[0139] 参见图4,是本发明提供的测试环境部署方法的又一个实施例的流程图。
[0140] 本实施例与图3所示实施例的区别在于,为提高测试环境部署方法的便利性和灵 活性,本实施例在图3所示实施例的基础进一步地加入了中转服务器,并将部分功能交由 中转服务器实现,本实施例中步骤SlOO~S130与图3所示实施例中的步骤SlO~S13-- 对应,其基本原理与图3所示实施例一致,本实施例中未详述之处可参见图3所示实施例中 的相关描述。
[0141] 如图4所示,当在测试端与被测端之间加入中转服务器实现所述测试环境部署方 法时,所述步骤SlO具体为:
[0142] S100,获取测试代码包,将所述测试代码包发送给中转服务器,通过所述中转服务 器对所述测试代码包进行解析,将所述测试代码包还原为所述被测端可识别的测试代码。
[0143] 所述步骤Sll具体为:
[0144] S110,通过所述中转服务器,利用预先在被测端建立的后门端口对所述被测端进 行入侵,将所述测试代码植入到所述被测端中。
[0145] 所述步骤S12与步骤S120相同。
[0146] S120,触发所述被测端基于所述测试代码进行热更新,以实现测试环境的部署。
[0147] 所述步骤S13具体为:
[0148] S130,通过所述中转服务器对测试执行结果进行展示。其中,所述测试执行结果通 过所述被测端执行替换后的程序代码来获取。
[0149] 所述中转服务器为采用通用的python库SimpleXMLRPCServer来构建的RPC服务 器,所述中转服务器可以设置在被测端侧,也可以设置在任意的第三方位置。测试端与中转 服务器之间通过网络连接,测试代码包采用telnet (远程终端协议)的方式从测试端发送 到中转服务器,所述测试代码包中包含被测目标的相关信息,包括被测端的设备地址和端 口等,中转服务器通过调用exec函数对接收到的测试代码包进行解析,并根据解析得到的 被测目标的相关信息进行测试代码的调度,利用预先在被测端建立的后门端口对所述被测 端进行入侵并将所述测试代码植入到所述被测端,以基于所述测试代码进行热更新,实现 测试环境的部署。本实施例通过在测试端和被测端之间加入中转服务器,可实现远程的、多 对多的测试环境部署,进一步地提高了测试环境部署的便利性和灵活性。
[0150] 参见图5,是本发明提供的测试环境部署装置的一个实施例的结构示意图。本实施 例与图3所示实施例的基本原理一致,本实施例中未详述之处科参见图3所示实施例中的 相关描述。
[0151] 如图5所示,所述测试环境部署装置包括入侵模块11和热更新触发模块12。
[0152] 所述入侵模块11,用于利用预先在被测端建立的后门端口对所述被测端进行入 侵,将所述测试代码植入到所述被测端中。其中,所述测试代码包括测试环境配置代码、测 试脚本代码和测试结果收集代码。所述测试环境配置代码包括目标函数替换代码和目标变 量替换代码中的一种或两种。所述后门端口通过在所述被测端中种植测试木马来开启。
[0153] 在具体实施当中,所述入侵模块11包括:
[0154] 代码获取单元111,用于获取所述被测端的内存中与所述测试代码对应的程序代 码。
[0155] 对比单元112,用于将所述测试代码与所述程序代码进行对比。和,
[0156] 植入单元113,用于当所述测试代码与所述程序代码存在不同时,利用预先在被测 端建立的后门端口对所述被测端进行入侵,将所述测试代码植入到所述被测端中。
[0157] 所述热更新触发模块12,用于触发所述被测端基于所述测试代码进行热更新,以 实现测试环境的部署。
[0158] 所述测试环境部署装置还包括解析模块10和展示模块13 :
[0159] 所述解析模块10,用于获取测试代码包,对所述测试代码包进行解析,以将所述测 试代码包还原为所述被测端可识别的测试代码。
[0160] 所述解析模块10包括:
[0161] 调用单元101,用于调用exec函数。和,
[0162] 解析单元102,用于利用所述exec函数对所述测试代码包进行解析。
[0163] 所述展示模块13,用于对测试执行结果进行展示。其中,所述测试执行结果通过所 述被测端执行替换后的程序代码来获取。
[0164] 参见图6,是本发明提供的测试环境部署系统的一个实施例的结构示意图。本实施 例与图4所示实施例的基本原理一致,本实施例中未详述之处可参见图4所示实施例中的 相关描述。
[0165] 如图6所示,所述测试环境部署系统,包括测试端61、中转服务器62和被测端63。
[0166] 所述测试端61包括测试代码包获取模块611,所述测试代码包获取模块611用于 获取测试代码包,并将所述测试代码包发送给中转服务器62。其中,所述测试代码包包括测 试环境配置代码包、测试脚本代码包和测试结果收集代码包。所述测试环境配置代码包包 括目标函数替换代码包和目标变量替换代码包中的一种或两种
[0167] 所述中转服务器62包括解析模块621和入侵模块622。
[0168] 所述解析模块621,用于对所述测试代码包进行解析,将所述测试代码包还原为所 述被测端63可识别的测试代码。
[0169] 所述入侵模块622,用于利用预先在被测端建立的后门端口对所述被测端63进行 入侵,将所述测试代码植入到所述被测端63中。
[0170] 所述后门端口通过在所述被测端中种植测试木马来开启。
[0171] 所述被测端63包括热更新模块631,所述热更新模块631用于基于所述测试代码 进行热更新。
[0172] 如图7所示,所述解析模块621包括:
[0173] 调用单元6211,用于调用exec函数。和,
[0174] 解析单元6212,用于利用所述exec函数对所述测试代码包进行解析。
[0175] 如图8所示,所述入侵模块622包括:
[0176] 代码获取单元6221,用于获取所述被测端63的内存中与所述测试代码对应的程 序代
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1