发明内容
本发明的目的是解决现有技术的不足,提供一种提高游戏测试效率的系统和方法。利用动态解析性语言lua支持热更新,即在程序运行期间对游戏进行更新,从而修改游戏逻辑、修改游戏数据等操作的特性,将手机调试界面转移到远程开发测试端,其中,远程开发测试端通过远程网络连接的方式以更直观的界面呈现GM操作。
为了实现上述目的,本发明采用以下的技术方案:
一种提高游戏测试效率的系统和方法,包括游戏逻辑层、GM功能层和中间层;所述游戏逻辑层包括socket监听模块和GM指令响应模块,所述GM功能层包括GM功能模块、GM设置模块和lua脚本模块;所述中间层包括指令传输模块和网络配置模块;其中,所述游戏逻辑层和GM功能层通过中间层实现连接和指令交互;其中,连接方式包括IP连接、TCP连接、UDP连接或LAN连接;指令交互包括GM操作指令、GM控制指令和GM设置指令,用于控制游戏逻辑线程响应测试用例。
所述游戏逻辑层位于移动端,位于远程测试端GM功能层和中间层位于远程测试端;其中,移动端至少包括手机、PDA,所述远程测试端包括带有操作系统的测试设备和游戏开发软件,其中,操作系统至少包括OS/2、UNIX、XENIX、LINUX、Windows和Netware;测试设备至少包括台式电脑、笔记本电脑、平板电脑。
所述socket监听模块包括由socket监听单元和远程数据传输单元,socket监听单元用于监听外部指令,远程数据传输单元用于接收外部指令。
所述GM指令响应模块包括由GM指令解析单元和游戏控制单元,GM指令解析单元用于调用对应的lua脚本并对其进行解析,游戏控制单元用于根据GM指令解析后得到的游戏配置参数根据游戏模式和游戏情节验证GM发出的控制请求并进行游戏响应并且记录游戏测试的测试进度、测试状况和GM指令的执行状况。
所述GM设置模块包括GM指令设置文件单元,其中,GM指令设置文件单元用于获取GM指令设置对标准GM指令数据包进行解析。
所述GM功能模块包括GM面板控制单元和GM指令解释单元,其中,GM面板控制单元用于接收GM指令和观察游戏的各个模块和参数对于GM指令的执行情况、记录和分析各测试游戏时的GM指令的执行次数和效率并生成GM指令测试日志,GM指令设置文件单元用于获取GM指令设置并对其进行封装。
所述的lua脚本模块包括lua脚本加载单元、lua脚本接口注册单元、lua脚本重载单元和lua解释器,其中lua脚本加载单元用于将脚本文件加载到游戏后台程序中;lua脚本注册单元用于将游戏后台程序中的功能函数导出供lua脚本调用;lua脚本重载单元用来对脚本内容进行实时修改;lua解释器用于将lua脚本转换为标准编程语言。
所述指令传输模块包括指令封装单元和数据同步单元,其中,数据封装单元用于将GM发出的GM控制请求指令封装成标准数据包,数据同步单元用于同步传输和显示标准数据包。
所述网络配置模块包括远程网络配置单元和局域网络配置单元,其中,远程网络配置单元用于配置远程连接加入socket连接手机游戏对应的ip和端口,局域网络配置单元用于配置连接局域网络或内网的手机游戏端口。
进一步的,为降低游戏测试难度,远程测试端通过中间层直接连接手机,进行修改游戏逻辑数据,远程测试端至少包括pc,操作系统至少包括windows平台。
进一步的,为便于GM测试,网络配置模块配置两种可选模式;包括远程网络连接模式或者局域网络连接模式,其中,远程网络连接模式至少包括IP连接、TCP连接、UDP连接;局域网络连接模式至少包括LAN连接。
进一步的,所述测试系统的系统架构方法包括以下步骤:
A101,GM设置模块初始化GM指令集,加载配置参数并开启GM逻辑线程;
A102,GM功能模块通过GM逻辑线程获取GM指令设置,GM指令解释单元解析GM指令设置并进行封装;
A103,GM逻辑线程创建GM指令传输实例并初始化;
A104,网络配置模块根据当前的网络测试环境读取预设的网络参数创建远程测试端与移动端的网络连接,其中,网络测试环境至少包括局域网络、广域网络,预设的网络参数至少包括IP设置、TCP或UDP网络协议设置;
A105指令传输模块的数据封装单元将GM逻辑线程发出的GM控制指令封装成标准数据包并转发给移动端的游戏逻辑层;
A106,游戏逻辑层的socket监听单元通过程数据传输单元监听外部标准GM指令数据包后将其传输给GM指令响应模块,GM指令数据包包括游戏控制指令集包、游戏配置更新指令集包、GM权限指令集包,其中,游戏控制指令集包为游戏控制指令集合,游戏配置更新指令集包为游戏配置命令指令集合,GM权限指令集包为GM权限访问控制指令集合;
A107,GM指令响应模块的GM指令解析单元接收到标准GM指令数据包后调用对应的lua脚本对其进行解析;
A108,游戏控制单元根据GM指令解析后得到的游戏配置参数进行游戏响应,根据游戏模式和游戏情节验证GM发出的控制请求,并记录游戏测试时产生的各类异常,通过中间层返回给测试端。
进一步的,通过增加PC与游戏通讯的中间件,使用上述系统改善远程测试游戏的工作流程,改善后的工作流程包括如下步骤:
B101,开发测试人员在远程测试端根据游戏测试用例内容在GM面板控制单元输入测试指令;
B102,移动端的游戏系统根据GM发出的测试指令产生游戏逻辑,游戏的逻辑线程对测试指令进行响应;
B103,远程测试端GM功能层记录游戏测试时产生的各类异常,观察游戏的各个模块和参数对于GM指令的执行情况、记录和分析各测试游戏时的GM指令的执行次数和效率并生成GM指令测试日志。
本发明的有益效果为:本申请提供一种提高游戏测试效率的系统和方法,使GM信息更全面,同时降低操作GM的难度,提升工作的效率,对测试人员修改游戏逻辑、调试游戏来说,更方便,节省了游戏打包、重新安装、启动等时间,提高了测试和调试的效率。
具体实施方式
以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征相互组合。附图中各处使用的相同的附图标记指示相同或相似的部分。
本申请利用游戏开发中的lua脚本能够远程调试的特点,封装一层调用GM的接口,同时,在测试端进行界面操作,从而GM信息更全面,同时降低操作GM的难度,提高操作的效率。其工作流程对比如下:
图1所示为一种提高游戏测试效率的系统和方法的测试系统基本架构图,所述系统包括:游戏逻辑层、GM功能层和中间层。
在根据本发明的一个实施例中,该测试系统的流程如下:
一种提高游戏测试效率的系统和方法,包括游戏逻辑层、GM功能层和中间层;所述游戏逻辑层包括socket监听模块和GM指令响应模块,所述GM功能层包括GM功能模块、GM设置模块和lua脚本模块;所述中间层包括指令传输模块和网络配置模块;其中,所述游戏逻辑层和GM功能层通过中间层实现连接和指令交互,其中连接方式包括IP连接、TCP连接、UDP连接或LAN连接,指令交互包括GM操作指令、GM控制指令和GM设置指令;
所述游戏逻辑层位于移动端,位于远程测试端GM功能层和中间层位于远程测试端;其中,所述远程测试端包括带有操作系统的测试设备和游戏开发软件,其中,带有操作系统的测试设备,其中操作系统包括OS/2、UNIX、XENIX、LINUX、Windows和Netware;测试设备包括台式电脑、笔记本电脑、平板电脑;
所述socket监听模块包括由socket监听单元和远程数据传输单元,socket监听单元用于监听外部指令,远程数据传输单元用于接收外部指令;
所述GM指令响应模块包括由GM指令解析单元和游戏控制单元,GM指令解析单元用于调用对应的lua脚本并对其进行解析,游戏控制单元用于根据GM指令解析后得到的游戏配置参数根据游戏模式和游戏情节验证GM发出的控制请求并进行游戏响应并且记录游戏测试的测试进度、测试状况和GM指令的执行状况;
所述GM设置模块包括GM指令设置文件单元,其中,GM指令设置文件单元用于获取GM指令设置对标准GM指令数据包进行解析;
所述GM功能模块包括GM面板控制单元和GM指令解释单元,其中,GM面板控制单元用于接收GM指令和观察游戏的各个模块和参数对于GM指令的执行情况、记录和分析各测试游戏时的GM指令的执行次数和效率并生成GM指令测试日志,GM指令设置文件单元用于获取GM指令设置并对其进行封装;
所述的lua脚本模块包括lua脚本加载单元、lua脚本接口注册单元、lua脚本重载单元和lua解释器,其中lua脚本加载单元用于将脚本文件加载到游戏后台程序中;lua脚本注册单元用于将游戏后台程序中的功能函数导出供lua脚本调用;lua脚本重载单元用来对脚本内容进行实时修改;lua解释器用于将lua脚本转换为标准编程语言;
所述指令传输模块包括指令封装单元和数据同步单元,其中,数据封装单元用于将GM发出的GM控制请求指令封装成标准数据包,数据同步单元用于同步传输和显示标准数据包;
所述网络配置模块包括远程网络配置单元和局域网络配置单元,其中,远程网络配置单元用于配置远程连接加入socket连接手机游戏对应的ip和端口,局域网络配置单元用于配置连接局域网络或内网的手机游戏端口。
进一步的,为降低游戏测试难度,远程测试端通过中间层直接连接手机,进行修改游戏逻辑数据,远程测试端至少包括pc,操作系统至少包括windows平台。
进一步的,为便于GM测试,网络配置模块配置两种可选模式;包括远程网络连接模式或者局域网络连接模式,其中,远程网络连接模式至少包括IP连接、TCP连接、UDP连接;局域网络连接模式至少包括LAN连接。
进一步的,所述测试系统的方法包括以下步骤:
A101,GM设置模块初始化GM指令集,加载配置参数并开启GM逻辑线程;
A102,GM功能模块通过GM逻辑线程获取GM指令设置,GM指令解释单元解析GM指令设置并进行封装;
A103,GM逻辑线程创建GM指令传输实例并初始化;
A104,网络配置模块根据当前的网络测试环境读取预设的网络参数创建远程测试端与移动端的网络连接,其中,网络测试环境至少包括局域网络、广域网络,预设的网络参数至少包括IP设置、TCP或UDP网络协议设置;
A105指令传输模块的数据封装单元将GM逻辑线程发出的GM控制指令封装成标准数据包并转发给移动端的游戏逻辑层;
A106,游戏逻辑层的socket监听单元通过程数据传输单元监听外部标准GM指令数据包后将其传输给GM指令响应模块,GM指令数据包包括游戏控制指令集包、游戏配置更新指令集包、GM权限指令集包,其中,游戏控制指令集包为游戏控制指令集合,游戏配置更新指令集包为游戏配置命令指令集合,GM权限指令集包为GM权限访问控制指令集合;
A107,GM指令响应模块的GM指令解析单元接收到标准GM指令数据包后调用对应的lua脚本对其进行解析;
A108,游戏控制单元根据GM指令解析后得到的游戏配置参数进行游戏响应,根据游戏模式和游戏情节验证GM发出的控制请求,并记录游戏测试时产生的各类异常,通过中间层返回给测试端。
图2所示为本发明测试系统原理图,通过增加PC与游戏通讯的中间件,从而改善工作流程,改善后的工作流程包括以下步骤:
通过增加PC与游戏通讯的中间件,使用上述系统改善远程测试游戏的工作流程,改善后的工作流程包括如下步骤:
B101,开发测试人员在远程测试端根据游戏测试用例内容在GM面板控制单元输入测试指令;
B102,移动端的游戏系统根据GM发出的测试指令产生游戏逻辑,游戏的逻辑线程对测试指令进行响应;
B103,远程测试端GM功能层记录游戏测试时产生的各类异常,观察游戏的各个模块和参数对于GM指令的执行情况、记录和分析各测试游戏时的GM指令的执行次数和效率并生成GM指令测试日志。
图3所示为lua开启端口监听原理图,远程测试端收发命令的线程,移动端游戏逻辑启动lua监听线程。
图4所示为现有白盒测试流程,现有白盒测试流程包括以下步骤:,首先,测试人员编写测试用例,手机运行游戏,然后在手机上操作GM,测试人员选择用例在手机上操作GM输入测试用例指令,测试并查找问题。
本发明将手机上的GM界面转移到了PC上面。以PC上的操作代替了手机上的GM操作。通过增加PC与游戏通讯中间件对白盒测试或调试提供便利。由于测试工作流程的改变,通过在测试端直接发送修改游戏逻辑的代码让手机游戏端能够即时执行,使得修改能够立刻生效,降低修改逻辑复杂性,减少重新打包再测试的时间。
图5所示为本发明改善后的白盒测试流程,首先,测试人员编写测试用例,手机运行游戏,然后在测试端上操作GM,测试人员选择用例在测试端的GM面板输入测试用例指令,按照测试效果调整用例并修改代码,并且将修改后的代码发送手机上。
此外,本领域技术人员应理解到,附图中的显示模块的数量和形状仅作为示例性的参考,不作为对本发明的限制。
尽管本发明的描述已经相当详尽且特别对所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例,而是应当将其视作是通过参考所附权利要求考虑到现有技术为这些权利要求提供广义的可能性解释,从而有效地涵盖本发明的预定范围。此外,上文以发明人可预见的实施例对本发明进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本发明的非实质性改动仍可代表本发明的等效改动。