一种游戏性能云测试平台及其测试方法

文档序号:8258324阅读:1235来源:国知局
一种游戏性能云测试平台及其测试方法
【技术领域】
[0001]本发明涉及一种测试平台,特别是一种客户端游戏性能云测试平台。本发明还涉及一种应用于上述测试平台的测试方法。
【背景技术】
[0002]游戏客户端性能测试旨在对游戏过程中,游戏客户端的性能参数(如FPS,CPU、内存占用率等)进行收集与分析,是游戏测试中最基本的测试内容之一。特别对于大型客户端游戏而言,客户端性能直接影响玩家的游戏体验,性能测试尤为重要。
[0003]传统的游戏客户端性能测试流程是游戏开发人员修改游戏资源(代码、美术资源等),提交后通知测试人员进行测试,由于性能测试对于软、硬件配置有特定需求,需要测试人员在专用的测试机上开展测试工作。为了提高测试的效率与科学性,自动化测试技术被引入。游戏客户端性能的自动化测试通过游戏客户端的脚本控制游戏操作及游戏中的相机位置,从而保证前后测试中游戏环境一致,进而保证前后测试数据具有对比价值,并收集相应的数据并生成测试报告。
[0004]传统的游戏客户端性能的测试方案具体步骤如下:
[0005]1.在测试机上对测试环境进行部署;
[0006]2.开启游戏客户端,利用测试脚本控制游戏操作(如对游戏中的场景做性能测试,则控制游戏进入指定场景的指定位置,并控制游戏中相机的视角,保证视角一致),并收集相应的性能的参数;
[0007]3.重复步骤2,完成所有待测点的性能测试,此步骤可通过脚本自动重复运行;
[0008]4.收集测试数据,并根据测试结果完成测试报告。
[0009]但由于本地测试的方式,不可避免存在如下几个问题:第一,由于性能测试需要特定的硬件环境,需要在专用测试机上进行测试,使得测试工作只能通过开发人员通知测试人员开展,再由测试人员操作完成,并将测试结果告知开发人员,整个过程繁琐而低效;第二,测试结果及报告的管理完全是本地管理模式,不利于团队协作与结果的分析与展示,特别对于时间跨度较长、游戏规模较大的游戏的测试过程极为不利。

【发明内容】

[0010]本发明在于克服现有技术的缺点与不足,提供一种可以自动进行游戏测试的游戏性能的云测试平台及其测试方法。
[0011]本发明是通过以下的技术方案实现的:一种游戏性能云测试平台,包括:
[0012]客户端录制模块,用于将测试用例的参数和操作储存为数据,实现对测试用例的录制;
[0013]服务端任务调度模块,其与多个测试机进行连接;所述服务端任务调度模块接收测试请求,将测试任务分配发送至其中一测试机;
[0014]控制信息生成模块,用于接收客户端录制模块的录制结果,将该录制结果转换为与游戏客户端控制对应的操作和代码,并发送至测试机进行自动测试;
[0015]测试数据分析模块,用于分析测试机的测试数据与生成测试报告。
[0016]相比于现有技术,本发明通过客户端录制模块对测试用例的录制,有效将测试操作转化为可自动执行的测试用例描述,为自动化测试提供基础。进一步,通过服务任务调度模块,可以将测试任务进行分配,可以提高了测试的效率和测试机的利用率。同时,通过测试数据分析模块,自动对数据进行分析和生成测试报告,简化了传统测试的流程,提高了测试的效率。
[0017]作为本发明的进一步改进,还包括一客户端控制模块,用于实现对游戏客户端的的更新、启动与关闭操作,以及对游戏客户端游戏环境的控制。
[0018]作为本发明的进一步改进,还包括一网络端显示模块,用于将测试数据通过网络前端进行展示。
[0019]作为本发明的进一步改进,还包括一历史数据管理模块,用于记录和查询历史测试数据。通过所述数据管理模块,可以有效的对历史测试数据进行管理和对比分析,解决了单机测试模式下测试数据分散存储管理的不足。
[0020]作为本发明的进一步改进,所述服务端任务调度模块根据测试机的状态信息,对测试任务进行分配。
[0021]作为本发明的进一步改进,所述测试机的状态信息包括测试机的性能及其当前工作状态。
[0022]本发明还提供了一种用于上述云测试平台的客户端游戏性能的测试方法,包括以下步骤:
[0023]对测试用例的录制:通过将测试用例的参数和操作存储为数据,实现对测试用例的录制;
[0024]响应测试请求:接收并响应测试请求,将已录制完成的测试用例转换为对应的参数或操作,发送至测试机,通过测试机对该游戏进行测试;
[0025]收集测试机的测试数据并分析结果。
[0026]相比于现有技术,本发明可以有效简化开发-测试流程,由传统的通知测试人员进行测试变为web端的测试请求发送操作,测试过程在线查询,测试完成后自动分析发送测试报告,实现自主测试与整个测试过程的自动化。同时将原先分散的开发-测试流程改善为统一调度执行,避免了原先测试机的分散部署,可采用机房的统一方式进行管理,有效节省测试成本、也避免了测试任务执行与开发过程脱节,开发完成后可自行提交测试任务,节省测试人力,提高测试效率。
[0027]作为本发明的进一步改进,所述对测试用例的录制的步骤,包括对游戏人物操作的录制和对指令操作的录制。
[0028]作为本发明的进一步改进,所述响应游戏测试的请求的步骤,还包括对游戏测试任务进行分配管理。
[0029]作为本发明的进一步改进,在完成游戏测试后,还包括步骤:对测试的数据进行记录和管理。
[0030]为了更好地理解和实施,下面结合附图详细说明本发明。
【附图说明】
[0031]图1是本发明的云测试平台的连接框图。
[0032]图2是服务端任务调度模块的任务调度流程图。
[0033]图3是本发明的游戏性能的测试方法流程图。
[0034]图4是录制的具体实现方式示意图。
[0035]图5是测试任务队列管理的示意图。
[0036]图6是测试数据的收集和分析示意图。
【具体实施方式】
[0037]请参阅图1,其为本发明的云测试平台的连接框图。本发明提供一种可自动进行游戏测试的客户端游戏性能云测试平台。具体的,先由用户通过发送游戏测试请求至测试平台,再由该测试平台发送测试任务至测试机进行自动测试。当测试机完成游戏的测试时,返回测试数据至测试平台。所述测试平台对该测试数据进行分析后,将测试报告发送至用户主机。
[0038]具体的,本发明的客户端游戏性能云测试平台包括客户端录制模块1、客户端控制模块2、网络端显示模块3、服务端任务调度模块4、控制信息生成模块5、测试数据分析模块6与历史数据管理模块7。
[0039]所述客户端录制模块1,用于将测试用例的参数和操作储存为数据,实现对测试用例的录制。其中,所述参数由人工进行设置,所述数据也可以用代码形式进行储存。
[0040]具体的,云测试平台中心(即服务端)响应用户在web端的操作,通过RPC (RemoteProcedure Call)协议向部署在测试机上的控制程序发送录制命令。录制过程中,服务端周期性的向agent请求录制信息。每次请求时,agent获取游戏中人物信息参数,同时利用接口捕获技术捕捉性能测试中可能使用的接口调用,如场景测试中的场景跳转、模型测试中的模型生成等,将以上信息通过rpc接口返回值的形式发送至服务端。
[0041]所述服务端任务调度模块4,其与多个测试机进行连接;所述服务端任务调度模块接收测试请求,将测试任务分配发送至其中一测试机。所述服务端任务调度模块根据测试机的状态信息,对测试任务进行分配。具体的,所述测试机的状态信息包括测试机的性能和当前的工作状态。
[0042]具体的,服务端记录每个接入的测试机的状态信息,包括测试机性能分类(比如,高配置测试机、低配置测试机及普通测试机)、测试机的工作状态(比如空闲或者执行任务中)。当接到来自web端发来的测试任务请求或定时测试任务请求时,由服务端任务调度模块对任务进行分配调度。请参阅图2,其为服务端任务调度模块的任务调度流程图。具体的流程如下:
[0043]S21:当测试任务进入时,首先根据测试任务的需求选择符合配置要求的测试机队列集合,如需要在高配置测试机的测试任务,则选择所有高配置测试机对应的任务队列;
[0044]S22:从中选择任务数最小的任务队列;任务队列是一个数据结构的表示,可通过web端显示,并由人工任意调整队列中各任务的顺序。
[0045]S23:所有任务队列都会周期性轮询对应的测试机的状态,若测试机空闲,则立刻将测试任务发送到测试机执行。
[0046]所述控制信息生成模块5,用于接收客户端录制模块的录制结果,将该录制结果转换为游戏客户端控制的对应操作和代码,并发送至测试机进行自动测试。
[0047]其中,所述控制信息生成模块用于将测试用例的代码或数据转为游戏客户端控制的相关操作及代码,与录制模块是相反的过程。具体的,测试用例中存储的代码及数据描述的格式为按照时间顺序保存的信息列表,列表中的每条信息包含能重现用例中对应时刻游戏客户端环境的全部信息。比如在场景测试中,包含该时刻的人物相机视角矩阵、场景跳转接口调用记录,因此生成的游戏客户端控制代码为:场景跳转接口调用_>相机视角矩阵设置。
[0048]所述测试数据分析模块6,用于分析测试数据的与生成测试报告。
[0049]具体的,所述测试数据分析模块对测试数据进行分析时
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1