CN111400184B - 游戏测试方法、装置、系统、设备及云平台 - Google Patents
游戏测试方法、装置、系统、设备及云平台 Download PDFInfo
- Publication number
- CN111400184B CN111400184B CN202010186023.1A CN202010186023A CN111400184B CN 111400184 B CN111400184 B CN 111400184B CN 202010186023 A CN202010186023 A CN 202010186023A CN 111400184 B CN111400184 B CN 111400184B
- Authority
- CN
- China
- Prior art keywords
- game
- test
- testing
- robot
- instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Abstract
本申请公开了一种游戏测试方法、装置、系统、设备及云平台,该方案基于云平台实现游戏测试,云平台上运行有测试控制程序以及至少一个测试进程,在通过测试控制程序获得机器人启动指令之后,根据该机器启动指令指示有游戏测试所需的测试机器人的目标数量,测试控制程序控制至少一个测试进程启动目标数量个测试机器人;在测试控制程序获取游戏测试指令之后,测试控制程序指示测试机器人执行该游戏测试指令指示的至少一个游戏动作;测试机器人执行用于模拟至少一个游戏动作的至少一个模拟逻辑,以模拟游戏客户端与游戏服务器通信,并模拟游戏客户端执行至少一个游戏动作。本申请的方案可以更为有效和可靠的实现游戏测试,并减少人力资源耗费。
Description
技术领域
本申请涉及云技术领域,尤其涉及一种游戏测试方法、装置、系统、设备及云平台。
背景技术
游戏测试是软件测试的一种情况。游戏测试的目的是测试游戏服务器对游戏用户输入的游戏动作等行为的响应情况,以检测出游戏中存在漏洞或者其他问题。
目前,在游戏测试过程中,一般需要大量用户利用游戏客户端登录游戏服务器,并通过游戏客户端向游戏服务器发送游戏动作的相关指令。该种方式耗费了大量的人力资源,而且还会出现由于无法真实反映游戏场景而无法有效实现游戏测试的情况。
发明内容
有鉴于此,本申请提供了一种游戏测试方法、装置、系统、设备及云平台,以更为有效和可靠的实现游戏测试,并减少人力资源耗费。
为实现上述目的,本申请提供了如下技术方案:
一方面,本申请提供了一种游戏测试方法,应用于云平台,所述云平台上运行有测试控制程序以及至少一个测试进程,包括:
所述测试控制程序获得机器人启动指令,所述机器启动指令指示有游戏测试所需的测试机器人的目标数量;
所述测试控制程序控制所述至少一个测试进程启动所述目标数量个测试机器人,所述测试机器人为用于模拟游戏客户端执行游戏动作的线程;
所述测试控制程序获取游戏测试指令,所述游戏测试指令指示有用于测试游戏服务器的至少一个游戏动作;
所述测试控制程序指示所述测试机器人执行所述至少一个游戏动作;
所述测试机器人执行用于模拟所述至少一个游戏动作的至少一个模拟逻辑,以模拟游戏客户端与所述游戏服务器通信,并模拟所述游戏客户端执行所述至少一个游戏动作。
在一种可能的情况中,所述云平台上还运行有网站服务器和/或接口开放程序;
所述测试控制程序获得机器人启动指令,包括:
所述测试控制程序通过所述网站服务器获得用户终端向所述云平台发送的机器人启动指令,其中,所述用户终端与所述网站服务器建立有通信连接;
或者,所述测试控制程序通过所述接口开放程序获得机器人启动指令,所述机器人启动指令为所述接口开放程序在接收到用户终端发送的启动调用指令后生成的,所述启动调用指令用于请求调用用于启动测试机器人的接口,且所述启动调用指令携带有请求启动的测试机器人的目标数量;
所述测试控制程序获取游戏测试指令,包括:
所述测试控制程序通过所述网站服务器获取所述用户终端向所述云平台发送的游戏测试指令;
或者,所述测试控制程序通过所述接口开放程序获得游戏测试指令,所述游戏测试指令为所述接口开放程序根据所述用户终端发送的动作调用指令生成的,所述动作调用指令为请求调用用于测试游戏服务器的至少一个游戏动作所对应的至少一个接口。
又一方面,本申请还提供了一种游戏测试方法,应用于用户终端,包括:
展现游戏测试界面;
获得所述游戏测试界面上输入的机器人启动指令,所述机器人启动指令指示有游戏测试所需的测试机器人的目标数量;
向云平台发送所述机器人启动指令,以使得云平台启动所述目标数量个测试机器人,所述测试机器人为用于模拟游戏客户端执行游戏动作的线程;
获得游戏测试界面上输入的游戏测试指令,所述游戏测试指令指示有用于测试游戏服务器的至少一个游戏动作,其中,所述至少一个游戏动作为所述游戏测试界面中显示的游戏动作列表中被选中的游戏动作;
向云平台发送所述游戏测试指令,以便所述云平台控制所述测试机器人模拟游戏客户端执行所述至少一个游戏动作,实现对所述游戏服务器的测试。
又一方面,本申请还提供了一种游戏测试系统,应用于云平台,所述云平台上运行有测试控制程序以及至少一个测试进程,包括:
第一指令获得单元,用于通过所述测试控制程序获得机器人启动指令,所述机器启动指令指示有游戏测试所需的测试机器人的目标数量;
机器人启动单元,用于通过所述测试控制程序控制所述至少一个测试进程启动所述目标数量个测试机器人,所述测试机器人为用于模拟游戏客户端执行游戏动作的线程;
第二指令获得单元,用于通过所述测试控制程序获取游戏测试指令,所述游戏测试指令指示有用于测试游戏服务器的至少一个游戏动作;
动作执行指示单元,用于通过所述测试控制程序指示所述测试机器人执行所述至少一个游戏动作;
游戏动作测试单元,用于通过所述测试机器人执行用于模拟所述至少一个游戏动作的至少一个模拟逻辑,以模拟游戏客户端与所述游戏服务器通信,并模拟所述游戏客户端执行所述至少一个游戏动作。
又一方面,本申请还提供了一种游戏测试装置,应用于用户终端,包括:
界面展现单元,用于展现游戏测试界面;
启动指令获得单元,用于获得所述游戏测试界面上输入的机器人启动指令,所述机器人启动指令指示有游戏测试所需的测试机器人的目标数量;
第一指令发送单元,用于向云平台发送所述机器人启动指令,以使得云平台启动所述目标数量个测试机器人,所述测试机器人为用于模拟游戏客户端执行游戏动作的线程;
测试指令获得单元,用于获得游戏测试界面上输入的游戏测试指令,所述游戏测试指令指示有用于测试游戏服务器的至少一个游戏动作,其中,所述至少一个游戏动作为所述游戏测试界面中显示的游戏动作列表中被选中的游戏动作;
第二指令发送单元,用于向云平台发送所述游戏测试指令,以便所述云平台控制所述测试机器人模拟游戏客户端执行所述至少一个游戏动作,实现对所述游戏服务器的测试。
又一方面,本申请还提供了一种云平台,包括:
控制服务器和至少一台云服务器;
所述控制服务器上运行有测试控制程序;
所述云服务器上运行有至少一个测试进程;
所述控制服务器,用于通过所述测试控制程序获得机器人启动指令,所述机器启动指令指示有游戏测试所需的测试机器人的目标数量;通过所述测试控制程序控制所述至少一个测试进程启动所述目标数量个测试机器人,所述测试机器人为用于模拟游戏客户端执行游戏动作的线程;通过所述测试控制程序获取游戏测试指令,所述游戏测试指令指示有用于测试游戏服务器的至少一个游戏动作;以及,通过所述测试控制程序指示所述测试机器人执行所述至少一个游戏动作;
所述云服务器,用于通过所述运行的测试进程启动测试机器人;通过所述测试机器人执行用于模拟所述至少一个游戏动作的至少一个模拟逻辑,以模拟游戏客户端与所述游戏服务器通信,并模拟所述游戏客户端执行所述至少一个游戏动作。
又一方面,本申请还提供了一种用户终端,包括:
处理器和存储器;
所述处理器,用于调用并执行所述存储器中存储的程序;
所述存储器用于存储所述程序,所述程序至少用于执行如上所述的游戏测试方法。
由以上内容可知,本申请中,云平台通过测试控制程序获取机器人启动指令之后,测试控制程序会根据机器人启动指令所指示的目标数量,控制云平台中运行的至少一个测试进程启动相应数量个测试机器人。在此基础上,如果测试控制程序获得了游戏测试指令,测试控制程序便可以指示云平台中测试机器人执行该游戏测试指令所指示的游戏动作,从而通过云平台中运行的测试机器人模拟该游戏客户端执行游戏动作便可以实现游戏测试,而无需耗费大量的人力资源来进行游戏测试。
而且,由于云平台可以根据实际需要启动不同数量的测试机器人,且每个测试机器人均可以模拟游戏客户端执行一个或者多个游戏动作,因此,本申请的方案对于需要多个游戏玩家或者多次重复执行游戏动作等复杂测试场景也能够适用,从而提高了游戏测试的有效性和可靠性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本申请的游戏测试方法所适用的一种场景的组成架构示意图;
图2示出了本申请的游戏测试方法的一种流程示意图;
图3示出了本申请的游戏测试方法的又一种流程示意图;
图4示出了本申请的游戏测试方法一种流程交互示意图;
图5示出了本申请提供的一种游戏测试界面的一种示意图;
图6示出了本申请一种游戏测试方法又一种流程交互示意图;
图7示出了本申请一种游戏测试系统的一种组成结构示意图;
图8示出了本申请一种游戏测试装置的一种组成结构示意图;
图9示出了本申请一种用户终端的一种组成结构示意图。
具体实施方式
本申请的游戏测试方法为基于云技术实现的游戏测试。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
本申请的游戏测试方法通过在云平台上部署智能机器人,可以利用分布式云计算动态扩展大规模的智能机器人,通过智能机器人模拟游戏玩家的游戏动作行为等。
其中,云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
按照逻辑功能划分,在IaaS(Infrastructure as a Service,基础设施即服务)层上可以部署PaaS(Platform as a Service,平台即服务)层,PaaS层之上再部署SaaS(Software as a Service,软件即服务)层,也可以直接将SaaS部署在IaaS上。PaaS为软件运行的平台,如数据库、web容器等。SaaS为各式各样的业务软件,如web门户网站、短信群发器等。一般来说,SaaS和PaaS相对于IaaS是上层。
为了便于理解本申请的方案,下面以本申请的方案所适用的一种场景为例进行说明。如图1所示,其示出了本申请的方案所适用的一种场景的组成架构示意图。
由图1可以看出,该场景包括云平台10。云平台(也可以称为云服务系统等)是由多台云服务器组成,云服务器之间具有通信连接。
其中,该云平台10中部署有测试控制程序和用于启动测试进程所需的至少一个程序包。其中,该测试控制程序可以部署在任意一台云服务器中,如,在图1中将部署有测试控制程序的云服务器称为控制服务器101。
同时,云平台除了该控制服务器之外,还包括部署有用于测试所需程序包的至少一台云服务器102。在云服务器上部署程序包之后,通过运行程序包启动测试进程。其中,根据实际需要,可以在每个云服务器上可以启动一个或者多个测试进程。测试进程启动后,可以注册到该控制服务器中的运行的测试控制程序,实现测试进程与测试控制程序之间的数据通信。
其中,测试进程用于启动至少一个测试机器人。测试机器人为用于模拟游戏客户端执行游戏动作的线程,通过测试机器人可以模拟游戏客户端与游戏服务器建立通信连接,并模拟游戏客户端执行游戏动作,从而可以模拟出游戏玩家的游戏动作行为。
在本申请实施例中,通过云平台运行的测试控制程序可以控制每个测试进程启动一个或者多个测试机器人,可以实现模拟出一个或者多个游戏玩家在游戏服务器上执行某些游戏动作行为的操作,从而获得游戏测试所需的游戏动作的执行结果数据。
如图1所示的场景中,云平台中运行的测试机器人可以与待测试的游戏服务器20建立通信连接,通过该测试机器人可以模拟游戏客户端登录游戏服务器以及模拟游戏客户端执行不同的游戏动作等。
作为一种可能的情况中,本申请可以通过用户终端向云平台发送控制指令,以控制云平台启动游戏测试所需的测试机器人的数量,以及控制测试机器人模拟游戏玩家的游戏动作等。如图1所示的场景中,还包括用户终端30。其中,该用户终端可以与云平台建立通信连接。
为了提高通过用户终端控制游戏测试的便捷性,该用户终端还可以显示有游戏测试界面,该游戏测试界面可以为web界面或者其他形式的界面。用户通过在该游戏测试界面中按键点击或者参数输入等操作,可以实现控制云平台启动测试机器人以及控制云平台中的测试机器人模拟游戏动作等。
在一种可能情况中,该游戏测试界面可以为云平台对外提供的统一界面。在该种情况下,该云平台还可以部署有网站服务器,该网站服务器可以为部署于云平台的云服务器上的程序,如,可以选择一台云服务器上部署网络服务器的相关程序,从而使得该云服务器作为云平台中的网站服务器,如图1所示,在云平台还包括网站服务器103。例如,该网站服务器可以为web服务器。
相应的,用户终端30在与网站服务器103建立通信连接后,获得网站服务器103返回的游戏测试界面,并基于用户在游戏测试界面中输入的指令,通过网站服务器向云平台的测试控制程序发送相应的指令。
在又一种可能的情况中,该云平台还可以部署有接口开放程序,如图1所示的场景中,云平台还包括接口开放服务器104,该接口开放服务器可以看成是一台物理服务器,也可以是多台云服务器组成的系统,通过该接口开放服务器可以运行接口开放程序。该接口开放程序中配置有该云平台实现游戏测试所需的各种接口,如,启动测试机器人的接口以及测试机器人执行不同游戏动作的接口等等。
在云平台部署有接口开放程序的情况下,用户终端可以根据实际需要自定义游戏测试界面,如,具体设置游戏测试界面中所能显示的可供选择的游戏动作的种类以及数量,游戏测试界面中各种操作选项的具体形式等等。在自定义的游戏测试界面中各种操作选项分别与接口开放程序中配置的不同接口建立有关联关系。相应的,在检测到用户点击该游戏测试界面中的操作选项之后,用户终端可以向接口开放程序提交调用该接口操作选项相关接口的调用指令,以通过调用相应接口指示出游戏测试中所需执行的操作。
为了便于理解,下面先从云平台侧对本申请的游戏测试方法进行介绍。
如图2所示,其示出了本申请的游戏测试方法的一种实现流程示意图,本实施例适用于云平台,如前面所述该云平台上运行有测试控制程序和至少一个测试进程,本实施例的方法可以包括:
S201,测试控制程序获得机器人启动指令。
其中,该机器启动指令指示有游戏测试所需的测试机器人的目标数量。该目标数量可以根据实际测试需要而有所不同,且不同时刻获得的机器启动指令中携带的目标数量也会有所不同。如,该目标数量为大于或者等于一的自然数。
可以理解的是,通过云平台上部署的程序包之后,为了实现游戏测试需要启动程序包对应的测试进程。其中,该程序包中配置了与测试控制程序通信所需的通信协议数据等,还配置有适用于模拟不同游戏动作的逻辑。在云平台启动的测试进程可以与测试控制程序建立数据通信,但此时,该云平台上尚未启动测试机器人,云平台需要根据机器人启动指令在云平台上启动相应数量的测试机器人。
其中,测试机器人为用于模拟游戏客户端执行游戏动作的线程。该测试机器人为由测试进程启动的线程,用于实现模拟游戏客户端与游戏服务器通信,并可以模拟游戏客户端执行各种游戏动作。如,模拟游戏客户端登录游戏服务器、控制游戏对象的移动或者跳跃等等游戏动作。
测试控制程序获得的机器人启动指令的方式可以有多种。如,在一种可能的情况下,测试控制程序可以获得用户终端向云平台发送的机器人启动指令。如,用户终端直接向测试控制程序或者测试控制程序所在的机器人启动指令发送给机器人启动指令。又如,用户终端通过云平台上的网站服务器向测试控制程序发送该机器人启动指令等,后续会分情况进行介绍。
当然,机器人启动指令也可以是测试控制程序所在的控制服务器直接获取到的用户输入的机器人启动指令,或者通过其他方式获得该机器人启动指令,对此不加限制。
需要说明的是,在云平台未运行有测试机器人的情况下,机器人启动指令可以指示启动目标数量个测试机器人,在云平台运行有测试机器人的情况下,还可以通过机器人启动指令实际上是请求在云平台上新增目标数量个测试机器人。
S202,测试控制程序控制至少一个测试进程启动目标数量个测试机器人。
其中,测试控制程序根据待启动的测试机器人的目标数量,从云平台运行的至少一个测试进程中选择部分或者全部测试进程来启动测试机器人。其中,不同测试进程启动的测试机器人的数量也可能会有所不同。
如,测试控制程序根据该目标数量,从该至少一个测试进程中确定需要启动测试机器人的至少一个目标测试进程,并确定每个目标测试进程所需启动的测试机器人的数量。然后,测试控制程序指示目标测试进程启动相应数量的测试机器人。其中,该至少一个测试机器人各自所需启动的测试机器人的总数量为该目标数量。
举例说明,假设目标数量为10,则测试控制程序可以控制测试进程1启动4个测试机器人,而控制测试进程2启动6个测试进程。
可以理解的是,在实际应用中,测试控制程序根据该目标数量,选择需要启动测试机器人的测试进程,以及控制选择出的测试进程启动测试机器人的数量的具体过程可以有多种实现方式,在此不加限制。
S203,测试控制程序获取游戏测试指令。
该游戏测试指令指示有用于测试游戏服务器的至少一个游戏动作。
可以理解的是,在游戏测试过程中,需要测试游戏服务器对于游戏玩家的游戏动作行为的响应情况,以检测是否存在游戏运行错误或者响应速度过慢等问题,因此,云平台可以获取游戏测试过程中所需要测试单个游戏动作或者多个游戏动作构成的游戏动作序列。
该游戏测试指令所指示的游戏动作可以为登录游戏服务器的动作行为,也可以是在登录游戏服务器之后所需执行的各种游戏行为。
其中,游戏测试指令中可以通过携带至少一个游戏动作的标识来指示出用于测试游戏服务器的至少一个游戏动作。可选的,在测试控制程序尚未控制测试机器人与待测试的游戏服务器建立连接的情况下,该游戏测试指令还可以携带有游戏服务器的标识信息,如游戏服务器的IP地址等。
如,在测试机器人尚未模拟游戏客户端与游戏服务器建立通信连接的情况下,也就是说,测试机器人尚未模拟游戏客户端的游戏玩家登陆游戏服务器的情况下,该游戏测试指令可以指示有待测试的游戏服务器的IP地址等标识信息和待测试的至少一个游戏动作的标识。
又如,在测试机器人已经模拟游戏客户端与游戏服务器建立通信连接的情况下,则游戏测试指令可以仅仅携带需要测试的至少一个游戏动作的标识。如,可能需要测试游戏服务器对于游戏玩家发出的游戏中对象的移动或者跳跃等各种游戏动作的响应情况,则该测试游戏指令可以携带移动或者跳跃等游戏动作的标识信息。
与步骤S201相似,该测试控制程序可以获取用户终端向云平台发送的游戏测试指令;当然,也可以是获取用户向测试控制程序所在的控制服务器输入的游戏测试指令。
S204,测试控制程序指示测试机器人执行至少一个游戏动作。
如,测试控制程序可以向测试进程发送用于指示执行该至少一个游戏动作的指令,以通过测试进程指示测试进程下的测试机器人执行该至少一个游戏动作。例如,测试控制程序通过测试进程向测试机器人发送该至少一个游戏动作的执行指令。
可以理解的是,在实际应用中,还可以根据需要控制已运行的测试机器人中的部分或者全部执行至少一个游戏动作。在该种情况下,该游戏测试指令还可以指示有待执行该至少一个游戏动作的至少一个测试机器人,该至少一个测试机器人属于云平台上已启动的该目标数量个测试机器人。
相应的,测试控制程序可以向该至少一个测试机器人发送动作模拟指令,该动作模拟指令用于指示测试机器人执行用于测试该游戏服务器的该至少一个游戏动作。
S205,测试机器人执行用于模拟该至少一个游戏动作的至少一个模拟逻辑,以模拟游戏客户端与游戏服务器通信,并模拟游戏客户端执行至少一个游戏动作。
其中,用于实现模拟游戏动作的模拟逻辑可以为实现模拟游戏动作的脚本或者代码等。
其中,不同游戏动作对应的模拟逻辑会有所不同。相应的,测试机器人可以先确定用于模拟该至少一个游戏动作的至少一个模拟逻辑。如,在一种可能的情况中,测试机器人可以从配置的不同游戏动作对应的模拟逻辑中,确定该至少一个游戏动作对应的至少一个模拟逻辑。
可以理解的是,在游戏测试过程中,可能还需要指示出游戏动作的动作参数,比如,游戏动作为对象移动,则可能还需要设定对象移动距离等。相应的,在本申请实施例中游戏测试指令还可以指示该至少一个游戏动作中各游戏动作的动作参数。相应的,测试控制程序会指示该测试机器人按照该至少一个游戏动作各自的动作参数执行该至少一个游戏动作。在此基础上,测试机器人针对每个游戏动作,会按照该游戏动作的动作参数,执行该游戏动作对应的模拟逻辑,以实现模拟出该动作参数匹配的游戏动作。
可以理解的是,在游戏测试指令仅仅指示了部分测试机器人执行游戏动作的情况下,则只有接收到测试控制程序发送的动作模拟指令的测试机器人才会响应动作模拟指令,并执行用于模拟所述至少一个游戏动作的模拟逻辑。
可以理解的是,为了便于分析或者查看游戏测试的测试结果,该测试控制程序还可以获取测试机器人反馈的动作执行结果,该动作执行结果为测试机器人模拟游戏客户端执行该至少一个游戏动作所产生的结果。如,测试控制程序还可以指示测试机器人返回游戏动作的执行结果,则测试机器人可以将游戏动作的执行结果数据返回给测试控制程序。
相应的,测试控制程序可以将获得的动作执行结果反馈给用户终端,以在用户终端展现出该动作执行结果。
由以上内容可知,本申请中,云平台通过测试控制程序获取机器人启动指令之后,测试控制程序会根据机器人启动指令所指示的目标数量,控制云平台中运行的至少一个测试进程启动相应数量个测试机器人。在此基础上,如果测试控制程序获得了游戏测试指令,并测试控制程序便可以指示云平台中已启动的测试机器人执行该游戏测试指令所指示的游戏动作,从而通过云平台中运行的多个测试机器人分别模拟该游戏客户端执行游戏动作便可以实现游戏测试,而无需耗费大量的人力资源来进行游戏测试。
而且,由于云平台可以根据实际需要启动不同数量的测试机器人,且每个测试机器人均可以模拟游戏客户端执行一个或者多个游戏动作,因此,本申请的方案对于测试多个游戏玩家或者多次游戏动作重复等复杂测试场景也同样适用,从而提高了游戏测试的有效性和可靠性。
为了便于理解本申请的好处,举例说明:
如,对于一些游戏测试场景,可能需要测试游戏中多人开房间的情况下,游戏服务器是否存在异常,在该种情况下,如果多个用户分别利用游戏客户端登录游戏服务器并执行进入某个房间的操作,则可能需要大量的人力;导致人力和物力的浪费,且测试次数有限。而通过本申请的方案,通过控制在云平台上开启多个测试机器人,并控制多个测试机器人分别模拟游戏客户端向游戏服务器申请进入某个游戏房间,则既可以保证进入房间的人数满足要求,提高测试有效性;也可以避免耗费大量的人力资源。
又如,在某款游戏中可能需要统计宝箱中开出物品的概率值,那么至少要进行几万次的开宝箱操作,如果想更接近的实际情况的话,可能要几万人分别通过游戏客户端模拟开宝箱操作,这样几乎是不可能实现的。而在本申请的方案中,却可以基于云平台快速和大量的扩展出测试机器人,并通过测试机器人模拟开宝箱动作,从而实现了现有通过真实用户无法实现的游戏测试,保证了游戏测试的可靠性和有效性。
由于由于本申请实施例中,测试机器人所能模拟的游戏动作可以预先通过协议完成开发配置,因此,根据不同类型游戏的测试需求,可以对启动测试进程的程序包进行开发配置,从而使得测试进程和测试机器人支持不同类型游戏的测试,从而使得本申请的方案适用于多种类型的游戏。
考虑到通过用户终端向云平台发送游戏测试相关的指令,可以更为便捷的实现游戏测试,因此,下面以基于用户终端控制云平台实现游戏测试的场景为例说明。首先从用户终端侧对本申请的游戏测试方法进行介绍。
如图3,其示出了本申请一种游戏测试方法又一种流程示意图,本实施例应用于用户终端,本实施例的方法可以包括:
S301,展现游戏测试界面。
其中,游戏测试界面为用户终端侧用于控制游戏测试的界面。该游戏测试界面中可以显示有用于控制云平台中运行的测试机器人以及待测试的游戏动作的选项和/或输入框等。
如,该游戏测试界面中可以显示有用于控制云平台中测试机器人的控制选项或者输入框,例如,游戏测试界面可以显示有用于控制启动、停止或者新增游戏测试所需的测试机器人的控制项以及用于输入启动、停止或者新增测试机器人数量的输入框等。
又如,该游戏测试界面可以显示有所需测试的游戏动作列表,该游戏动作列表中包括可供选择的多个游戏动作,还可以包括游戏动作序列,游戏动作序列包括多个需要依次执行的游戏动作。
游戏测试界面的具体形式可以有多种可能,对此不加限制。
S302,获得游戏测试界面上输入的机器人启动指令。
其中,该机器人启动指令指示有游戏测试所需的测试机器人的目标数量。且,该机器人启动指令用于指示云平台启动用于游戏测试的测试机器人。
如,响应于游戏测试界面中的机器人启动触发操作(如点击启动机器人的选项等),获取游戏测试界面中输入的测试机器人的目标数量,生成机器人启动指令。例如,用户在游戏测试界面中用于触发设置机器人启动数量的按键之后,用户可以在相应的输入框内选择或者输入测试机器人的目标数量,然后,用户点“确认”按键,则会触发用户终端生成或者接收到机器人启动指令。
S303,向云平台发送机器人启动指令,以使得云平台启动目标数量个测试机器人。
其中,测试机器人为用于模拟游戏客户端执行游戏动作的线程,具体可参见前面的相关介绍。
在本申请实施例中,用户终端向云平台发送机器人启动指令可以是直接向云平台中测试控制程序发送该机器人启动指令。
为了降低游戏测试界面的复杂度,在用户终端的用户可以更为便捷的触发机器人启动等操作,本申请的用户终端中的游戏测试界面可以为直观显示出各种可操作选项的界面,而无需用户输入特定的测试触发脚本或者计算机指令等,在该种情况下,用户终端可以是经过云平台中的网站服务器或者接口开放程序发送机器人启动指令,具体后续会分情况介绍。
其中,云平台获得该机器人启动指令后,启动测试机器人的过程可以参见前面的相关介绍,在此不再赘述。
S304,获得游戏测试界面上输入的游戏测试指令。
其中,游戏测试指令指示有用于测试游戏服务器的至少一个游戏动作。其中,该至少一个游戏动作为游戏测试界面中显示的游戏动作列表中被选中的游戏动作。
如,用户终端响应于游戏测试界面输入的测试触发操作,确定游戏测试界面中输入的用于测试游戏服务器的至少一个游戏动作,并根据用于测试游戏服务器的该至少一个游戏动作,生成游戏测试指令。其中,测试触发操作可以为用户在游戏测试界面中选择了待测试的游戏动作后,点击游戏测试界面中用于触发动作测试的选项的操作。
例如,游戏测试界面中可以显示有游戏测试列表,该游戏测试列表中显示有多个游戏动作,用户希望测试哪些游戏动作,则可以选择相应的游戏动作,并点击游戏测试界面中“执行动作”等触发案件,则用户终端会根据用户选择的游戏动作生成游戏测试指令。
可选的,游戏测试界面中还可以显示有用于输入游戏动作的动作参数的输入框,在该种情况下,用户还可以在选择出游戏动作之后,在游戏测试界面中输入游戏动作的动作参数,如游戏动作为移动,动作参数可以为移动的方向和距离等等参数。相应的,用户终端响应于游戏测试界面输入的测试触发操作,可以根据游戏测试界面中输入的用于测试游戏服务器的至少一个游戏动作以及该至少一个游戏动作各自的动作参数,生成游戏测试指令。在该种情况下,游戏测试指令不仅指示了测试游戏服务器的至少一个游戏动作,还指示出该至少一个游戏动作的动作参数。
其中,该游戏测试界面中显示的游戏动作列表中可以包括多个单独的游戏动作,也可以包括一个或者多个游戏动作序列,每个游戏动作序列包括多个具有先后顺序的游戏动作。在用户选择游戏动作列表中的游戏动作序列之后,则用户终端确定待测试的多个游戏动作构成的游戏动作序列。
可以理解的是,在游戏测试过程中,不同游戏动作所需测试的次数也会有所不同,因此,在指示待测试的游戏动作时,可能还需要指示出需要哪些测试机器人执行选择出的游戏动作。作为一种可选方式,云平台的测试控制程序启动了测试机器人之后,还可以将云平台中已运行的测试机器人的信息(如,测试机器人的标识)发送给用户终端。在该种情况下,用户终端的游戏测试界面中还可以显示有云平台中当前处于运行中的测试机器人的信息。
相应的,用户可以从游戏测试界面中显示的已启动的测试机器人中,选择用于执行该至少一个游戏动作的至少一个测试机器人。相应的,游戏测试指令中还会指示有待执行该至少一个游戏动作的至少一个测试机器人。如,用户终端响应于游戏测试界面输入的测试触发操作,确定游戏测试界面中输入的用于测试游戏服务器的至少一个游戏动作以及用于执行该至少一个游戏动作的至少一个测试机器人,并生成游戏测试指令。
S305,向云平台发送该游戏测试指令,以便云平台控制该测试机器人模拟游戏客户端执行该至少一个游戏动作,实现对游戏服务器的测试。
如,向云平台的测试控制程序发送该游戏测试指令。
可选的,用户终端可以通过向网站服务器或者接口开放程序所在的接口开放服务器发送该游戏测试指令,以使得的云平台中的测试控制程序可以通过网站服务器或者接口开放程序获取该游戏测试指令。
可选的,在云平台返回该至少一个游戏动作的动作执行结果之后,用户终端还可以在该游戏测试界面中展现出该动作执行结果,以便用户根据动作执行结果查看或者分析游戏测试情况。
可见,本申请实施例中,用户通过在用户终端侧展现的游戏测试界面进行信息输入或者选择,便可以实现控制云平台启动用于游戏测试的测试机器人,并通过测试机器人模拟游戏客户端执行游戏动作,从而实现对游戏服务器的测试,减少了真实用户利用游戏客户端对游戏服务器进行游戏测试而导致的人力资源耗费。而且,由于本申请可以通过用户终端控制云平台启动测试机器人的数量,因此,可以模拟真实场景中游戏客户端在游戏服务器上执行各种游戏动作的场景,使得游戏测试过程更为贴近实际情况,有利于提高游戏测试的有效性和可靠性。
下面以用户终端通过云平台上的网站服务器实现基于云平台进行游戏测试为例进行说明。如图4所示,其示出了本申请一种游戏测试方法的一种流程交互示意图,本实施例的方法可以包括:
S401,用户终端与云平台中的网站服务器建立通信连接。
如,该网站服务器可以为web服务器。
S402,用户终端展现网站服务器返回的游戏测试界面。
如,该游戏测试界面中展现有游戏测试所需的各种操作选项。例如,该游戏测试界面至少包括用于控制云平台中测试机器人的控制项;还可以包括用于控制待测试的游戏动作以及执行游戏动作的机器人的操作项。
为了便于理解,可以参见图5,其示出了本申请实施例中游戏测试界面的一种界面示意图。
由图5可以看出,该游戏测试界面50中显示有“启动机器人”、“停止机器人”、“增加机器人”、“执行动作”以及“查询机器人”等可点击的操作选项51。同时,该游戏测试界面50中还显示有“动作名”和“参数”等关联的编辑框52,在这些编辑框内可以输入动作名或者参数,还可以是通过下拉列表展现出可供选择的动作名或者参数等。
同时,该游戏测试界面还可以显示一些信息展现区。比如,信息展现去包括节点列表显示区53,该节点列表显示区内可以显示云平台中已启动的测试进程,还可以包括测试机器人的相关信息。如,该节点列表显示区可以显示云平台中测试进程的标识、启动状态等。
该游戏测试界面的信息展现区还可以机器人列表显示区54,该机器人列表显示区中可以显示出云平台中已启动的测试机器人的相关信息,如,测试机器人的标识、测试机器人所执行的游戏动作,游戏动作的执行结果等等。
S403,用户终端获得游戏测试界面上输入的机器人启动指令,并将机器人启动指令发送给网站服务器。
其中,该机器人启动指令指示有游戏测试所需的测试机器人的目标数量。
机器人启动指令可以是在云平台尚未启动任何测试机器人的前提下生成;也可以是在云平台已启动了部分测试机器人的情况下生成,以新增测试机器人数量,对此不加限制。
其中,该机器人启动指令可以为用户终端响应于该游戏测试界面中机器人启动选项的触发操作(如点击操作),生成的该机器人启动指令。
如,结合图5举例说明,在图5所示的游戏测试界面中可以在“增加机器人数量”的输入框内输入需要增加的机器人数量,在该基础上,点击“增加机器人”选项,便可以触发生成需要启动相应数量的测试机器人的机器人启动指令。又如,在游戏测试界面中“启动机器人”选项旁也可以设置机器人数量输入框,在输入机器人数量之后,可以点击“启动机器人”选项,以触发生成机器人启动指令。当然,此处仅仅是举例说明,实际应用中,根据游戏测试界面的不同,还可以有其他触发生成机器人启动指令的方式。
S404,网站服务器将机器人启动指令发送给云平台中的控制服务器,以使得控制服务器中的测试控制程序获得该机器人启动指令。
此处是以测试控制程序运行在云平台的控制服务器上为例说明。当然,在实际应用中,测试控制程序可以是运行于云平台的任意一台服务器中,如,测试控制程序可以与网站服务器处于同一台服务器中运行。
S405,测试控制服务器通过测试控制程序控制云平台中运行的至少一个测试进程启动该目标数量个测试机器人。
如,测试控制程序基于云平台的各台云服务器上运行的测试进程以及该目标数量,在确定出需要哪些云服务器上的测试机器人启动测试机器人以及该测试进程所需启动的测试机器人数量之后,向相应云服务器上的测试进程发送启动测试机器人以及测试机器人启动数量的指示。相应的,测试进程可以启动相应数量的测试机器人的线程。
S406,测试控制服务器通过测试控制程序从该至少一个测试进程获得云平台已启动的测试机器人的信息。
其中,云平台已启动的测试机器人的信息也就是该至少一个测试进程已启动的测试机器人的信息。
该测试机器人的信息至少可以包括测试机器人的标识,还可以包括测试机器人所在的云服务器的相关信息等。
S407,测试控制服务器通过测试控制程序将云平台已启动的测试机器人的信息返回给网站服务器。
S408,网站服务器将云平台已启动的测试机器人的信息发送给用户终端以使得用户终端在游戏测试界面中显示出该已启动的测试机器人的信息。
其中,网站服务器将云平台已启动的测试机器人的信息发送给用户终端可以是仅仅将已启动的测试机器人的信息发送给用户终端,以使得用户终端更新该游戏测试界面中已启动的测试机器人的信息。网站服务器还可以根据已启动的测试机器人的信息更新游戏测试界面,以使得游戏测试界面显示有已启动的测试机器人的信息;然后,网站服务器将更新后的游戏测试界面返回给用户终端。
用户终端在游戏测试界面显示已启动的测试机器人的信息,以便用户了解到云平台中在线的测试机器人,以及根据需要选择所需的测试机器人实现游戏测试等。
如,在图5所示的游戏测试界面中的机器人列表中显示出已启动的各个测试机器人的信息,则用户可以直观了解到哪些测试机器人可以用于模拟游戏玩家的游戏行为,并选择用于实现游戏测试的测试机器人。
S409,用户终端响应于游戏测试界面选择的至少一个游戏动作以及待执行该至少一个游戏动作的至少一个测试机器人,生成游戏测试指令。
游戏测试指令指示有用于测试游戏服务器的至少一个游戏动作以及待执行该至少一个游戏动作的至少一个测试机器人。当然,该游戏测试指令还可以携带该至少一个游戏动作对应的动作参数。
特别的,在游戏动作为登录游戏服务器的情况下,游戏动作的动作参数可以为游戏服务器的IP地址以及登录游戏服务器所需的各种参数。
该步骤S409为获得游戏测试界面输入的游戏测试指令的一种实现方式,对于前面提到的其他方式也适用于本实施例。
S410,用户终端将游戏测试指令经网站服务器发送给控制服务器的测试控制程序。
S411,控制服务器通过测试控制程序向该至少一个测试机器人发送动作模拟指令。
其中,该动作模拟指令用于指示测试机器人执行用于测试该游戏服务器的该至少一个游戏动作。
S412,云服务器上的测试机器人响应于接收到的动作模拟指令,执行用于模拟该至少一个游戏动作的模拟逻辑,以模拟出游戏玩家在游戏中执行该至少一个游戏动作。
该步骤S411和S412可以参见前面实施例的相关介绍,在此不再赘述。
可以理解的是,在本实施例中,在控制服务器模拟游戏客户端执行该至少一个游戏动作之后,控制服务器同样可以通过测试控制程序获取测试机器人执行该至少一个游戏动作的动作执行结果,并将动作执行结果经过网站服务器发送给用户终端,以在游戏测试界面中展现出该动作执行结果。
在本申请实施例中,由于用户终端侧的游戏测试界面中可以显示有用于实现游戏测试的控制选项,用户即使不懂代码开发或者程序也可以通过用户终端实现对云平台中测试机器人的控制,从而实现基于云平台上的测试机器人实现游戏测试,提高了游戏测试的便捷性。
下面以用户终端通过云平台上的开放接口程序与测试控制程序建立通信连接为例说明。如图6所示,其示出了本申请一种游戏测试方法的又一种流程交互示意图,本实施例可以包括:
S601,用户终端展现自定义的游戏测试界面。
在本实施例中,该游戏测试界面并未云平台提供的统一界面,在该种情况下,用户可以预先基于接口开放程序中提供的各个适用于游戏测试的接口,定义游戏测试界面,游戏测试界面的形式不限于web界面,还可以为其他任意形式。
在该游戏测试界面中不同操作选项均关联有接口开放程序中所提供的可调用接口。其中,不同接口可以实现游戏测试中不同的功能,如,接口1为用于实现游戏动作1的接口,接口2为启动测试机器人的接口等等。
S602,用户终端获得游戏测试界面上输入的启动调用指令。
该启动调用指令用于请求调用用于启动测试机器人的接口,且该启动调用指令携带有请求启动的测试机器人的目标数量。
在本实施例中,游戏测试界面可以与前面图4实施例的游戏测试界面类似,只不过本申请实施例中包含的操作选项的内容和数量可以有所不同,且各个操作选项的具体形式和位置排布等可以根据实际需要设定。相应的,获得启动调用指令的过程与前面从游戏测试界面获取机器人启动指令的过程相似。
如,用户终端响应于游戏测试界面上启动机器人触发操作,确定游戏测试界面中输入的待启动的测试机器人的目标数量,生成该启动调用指令。与图4实施例不同在于,该启动调用指令实际上是调用用于启动测试机器人的接口的接口调用指令。
S603,用户终端向云平台中接口开放服务器上的接口开放程序发送该启动调用指令。
S604,接口开放程序响应于该启动调用指令,生成机器人启动指令。
在接口开放程序在接收到用户终端发送的启动调用指令后,可以确定该启动调用指令需要调用用于启动测试机器人的接口,在该种情况下,为了使得云平台可以启动测试机器人,该接口开放程序会生成测试控制程序可识别的机器人启动指令。
相应的,该机器人启动指令可以携带启动测试机器人的目标数量。
S605,接口开放程序向控制服务器上的测试控制程序发送该机器人启动指令。
该机器人启动指令用于指示测试控制程序启动目标数量个测试机器人。
S606,控制服务器上的测试控制程序控制云平台上的该至少一个测试进程启动目标数量个测试机器人。
该测试机器人为用于模拟游戏客户端执行游戏动作的线程。
该步骤S605和S606可以参见前面实施例的相关介绍,在此不再赘述。
S607,用户终端获得游戏测试界面上输入的动作调用指令。
该动作调用指令用于请求调用云平台中用于测试游戏服务器的至少一个游戏动作所对应的至少一个接口。
如,用户终端响应于游戏测试界面中动作执行触发操作,获取游戏测试界面中被选中的至少一个游戏动作,并生成该动作调用指令。
S608,用户终端向接口开放服务器的接口开放程序发送该动作调用指令。
S609,接口开放程序响应于该动作调用指令,生成游戏测试指令。
与前面相似,该接口开放程序确定动作调用指令所请求调用的接口为执行游戏动作的接口后,可以生成用于指示执行该至少一个游戏动作的游戏测试指令,即,将动作调用指令转换为测试控制程序可识别的游戏测试指令。
S610,接口开放程序将该游戏测试指令发送给控制服务器上的测试控制程序。
S611,控制服务器上的测试控制程序指示云服务器上的测试机器人执行至少一个游戏动作。
S612,云服务器上的测试机器人执行用于模拟该至少一个游戏动作的至少一个模拟逻辑,以模拟游戏客户端与所述游戏服务器通信,并模拟游戏客户端执行该至少一个游戏动作。
以上步骤S610-S612可以参见前面实施例的相关介绍,在此不再赘述。
需要说明的是,在图6的场景中,除了用户终端向云平台发送机器人启动指令和游戏测试指令的过程与图4会有所差别,其余部分均可以参照图4实施例的相关介绍,在此不再赘述。
在本实施例中,由于云平台通过接口开放程序可以将云平台中实现游戏测试的相关接口提供给用户,使得用户可以预先自定义游戏测试界面,在保证可以基于云平台实现游戏测试的情况下,可以允许用户更为灵活的设置游戏测试界面,也就更有利于用户对游戏测试控制的灵活控制。
另外,本申请在基于云平台实现游戏测试的过程中,由于不需要真机进行操作,既可以减少人力资源耗费,也可以减少设备耗费;基于云平台随时可以模拟出多个游戏玩家在游戏服务器上进行游戏动作行为的场景。
同时,与现有的基于人工智能(Artificial Intelligence,AI)自动化和用户界面(User Interface,UI)自动化进行游戏测试进行对于,本申请的方案仍具有一定的优势,具体如下:
本申请基于云平台的游戏测试无需大量的真机(服务器等设备),而UI和AI自动化所需的真机数量与游戏测试所需模拟的游戏玩家的数量一致,需要大量的真机;
AI行为是通过学习的,需要某种场景很难固定,由于辅助测试要求按照固定场景进行模拟,所以没法满足要求。而UI自动化,能够满足辅助测试的要求,但是需要大量真机,而且UI变化会带来脚本维护成本高。
而本申请的方案中,除了不需要大量真机,协议相对变化小很多所以维护成本比较低。
又一方面,本申请还提供了一种游戏测试系统,如图7所示,其示出了本申请一种游戏测试系统的一种组成结构示意图。该游戏测试系统应用于云平台,云平台上运行有测试控制程序以及至少一个测试进程,包括:
第一指令获得单元701,用于通过测试控制程序获得机器人启动指令,机器启动指令指示有游戏测试所需的测试机器人的目标数量;
机器人启动单元702,用于通过测试控制程序控制至少一个测试进程启动目标数量个测试机器人,测试机器人为用于模拟游戏客户端执行游戏动作的线程;
第二指令获得单元703,用于通过测试控制程序获取游戏测试指令,游戏测试指令指示有用于测试游戏服务器的至少一个游戏动作;
动作执行指示单元704,用于通过测试控制程序指示测试机器人执行至少一个游戏动作;
游戏动作测试单元705,用于通过测试机器人执行用于模拟至少一个游戏动作的至少一个模拟逻辑,以模拟游戏客户端与游戏服务器通信,并模拟游戏客户端执行至少一个游戏动作。
在一种可能的实现方式中,游戏动作测试单元具体为,用于通过测试机器人从配置的不同游戏动作对应的模拟逻辑中,确定用于模拟至少一个游戏动作的至少一个模拟逻辑,并执行至少一个模拟逻辑。
在又一种可能的实现方式中,云平台上还运行有网站服务器和/或接口开放程序;
第一指令获得单元,包括:
第一启动指令获得单元,用于通过测试控制程序从网站服务器获得用户终端向云平台发送的机器人启动指令,其中,用户终端与网站服务器建立有通信连接;
或者,
第二启动指令获得单元,用于通过测试控制程序从接口开放程序获得机器人启动指令,机器人启动指令为接口开放程序在接收到用户终端发送的启动调用指令后生成的,启动调用指令用于请求调用用于启动测试机器人的接口,且启动调用指令携带有请求启动的测试机器人的目标数量;
相应的,第二指令获得单元,包括:
第一测试指令获得单元,用于通过测试控制程序从网站服务器获取用户终端向云平台发送的游戏测试指令;
或者,
第二测试指令获得单元,用于通过测试控制程序从接口开放程序获得游戏测试指令,该游戏测试指令为接口开放程序根据用户终端发送的动作调用指令生成的,该动作调用指令为请求调用用于测试游戏服务器的至少一个游戏动作所对应的至少一个接口。
在又一种可能的情况中,该游戏测试系统还可以包括:
结果获取单元,用于通过测试控制程序获取测试机器人反馈的动作执行结果,动作执行结果为测试机器人模拟游戏客户端执行至少一个游戏动作所产生的结果;
结果反馈单元,用于通过测试控制程序将动作执行结果反馈给用户终端,以便用户终端展现动作执行结果。
在又一种可能的情况中,游戏测试系统还可以包括:
启动信息获取单元,用于在测试控制程序控制至少一个测试进程启动目标数量个测试机器人之后,通过测试控制程序向用户终端反馈至少一个测试进程已启动的测试机器人的信息,以便用户终端的用户选择执行游戏动作所需的测试机器人;
相应的,该游戏测试指令还指示有待执行至少一个游戏动作的至少一个测试机器人,至少一个测试机器人属于已启动的测试机器人;
动作执行指示单元,具体为,用于通过测试控制程序向至少一个测试机器人发送动作模拟指令,动作模拟指令用于指示测试机器人执行用于测试游戏服务器的至少一个游戏动作;
游戏动作测试单元,具体为,用于通过测试机器人响应于动作模拟指令,执行用于模拟至少一个游戏动作的模拟逻辑。
又一方面,对应用户终端侧的游戏测试方法,本申请还提供了一种游戏测试装置。如图8,其示出了本申请一种游戏测试装置的一种组成结构示意图,该装置应用于用户终端,包括:
界面展现单元801,用于展现游戏测试界面;
启动指令获得单元802,用于获得游戏测试界面上输入的机器人启动指令,机器人启动指令指示有游戏测试所需的测试机器人的目标数量;
第一指令发送单元803,用于向云平台发送机器人启动指令,以使得云平台启动目标数量个测试机器人,测试机器人为用于模拟游戏客户端执行游戏动作的线程;
测试指令获得单元804,用于获得游戏测试界面上输入的游戏测试指令,游戏测试指令指示有用于测试游戏服务器的至少一个游戏动作,其中,至少一个游戏动作为游戏测试界面中显示的游戏动作列表中被选中的游戏动作;
第二指令发送单元805,用于向云平台发送游戏测试指令,以便云平台控制测试机器人模拟游戏客户端执行至少一个游戏动作,实现对游戏服务器的测试。
又一方面,本申请还提供了一种用户终端,该用户终端可以为个人计算机、笔记本电脑、手机等等。如图9所示,其示出了本申请一种用户终端的一种组成结构示意图,该用户终端至少包括处理器901和存储器902。
可选的,该用户终端还可以包括:通信接口903、输入单元904和显示器905和通信总线906。
其中,处理器901、存储器902、通信接口903、输入单元904和显示器905均通过通信总线906完成相互间的通信。
该处理器901,用于调用并执行存储器中存储的程序。
该存储器902用于存储该程序,该程序至少用于执行如上实施例中用户终端侧所执行的游戏测试方法。
当然,图9所示的用户终端的结构并不构成对本申请实施例中用户终端的限定,在实际应用中用户终端可以包括比图9所示的更多或更少的部件,或者组合某些部件。
另一方面,本申请还提供了一种存储介质,该存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上任意一个实施例中的游戏测试方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种游戏测试方法,其特征在于,应用于云平台,所述云平台上运行有测试控制程序以及至少一个测试进程,包括:
所述测试控制程序获得机器人启动指令,所述机器人启动指令指示有游戏测试所需的测试机器人的目标数量;
所述测试控制程序控制所述至少一个测试进程启动所述目标数量个测试机器人,所述测试机器人为用于模拟游戏客户端执行游戏动作的线程;
所述测试控制程序获取游戏测试指令,所述游戏测试指令指示有用于测试游戏服务器的至少一个游戏动作;
所述测试控制程序指示所述测试机器人执行所述至少一个游戏动作,包括:向所述至少一个测试进程发送用于指示执行至少一个游戏动作的指令,以通过所述至少一个测试进程指示所述至少一个测试进程下的所述测试机器人执行所述至少一个游戏动作;
所述测试机器人执行用于模拟所述至少一个游戏动作的至少一个模拟逻辑,以模拟游戏客户端与所述游戏服务器通信,并模拟所述游戏客户端执行所述至少一个游戏动作。
2.根据权利要求1所述的方法,其特征在于,所述测试机器人执行用于模拟所述至少一个游戏动作的至少一个模拟逻辑,包括:
所述测试机器人从配置的不同游戏动作对应的模拟逻辑中,确定用于模拟所述至少一个游戏动作的至少一个模拟逻辑,并执行所述至少一个模拟逻辑。
3.根据权利要求1所述的方法,其特征在于,所述云平台上还运行有网站服务器和/或接口开放程序;
所述测试控制程序获得机器人启动指令,包括:
所述测试控制程序通过所述网站服务器获得用户终端向所述云平台发送的机器人启动指令,其中,所述用户终端与所述网站服务器建立有通信连接;
或者,所述测试控制程序通过所述接口开放程序获得机器人启动指令,所述机器人启动指令为所述接口开放程序在接收到用户终端发送的启动调用指令后生成的,所述启动调用指令用于请求调用用于启动测试机器人的接口,且所述启动调用指令携带有请求启动的测试机器人的目标数量;
所述测试控制程序获取游戏测试指令,包括:
所述测试控制程序通过所述网站服务器获取所述用户终端向所述云平台发送的游戏测试指令;
或者,所述测试控制程序通过所述接口开放程序获得游戏测试指令,所述游戏测试指令为所述接口开放程序根据所述用户终端发送的动作调用指令生成的,所述动作调用指令为请求调用用于测试游戏服务器的至少一个游戏动作所对应的至少一个接口。
4.根据权利要求1或3所述的方法,其特征在于,还包括:
所述测试控制程序获取所述测试机器人反馈的动作执行结果,所述动作执行结果为测试机器人模拟游戏客户端执行所述至少一个游戏动作所产生的结果;
所述测试控制程序将所述动作执行结果反馈给用户终端,以便所述用户终端展现所述动作执行结果。
5.根据权利要求3所述的方法,其特征在于,在所述测试控制程序控制所述至少一个测试进程启动所述目标数量个测试机器人之后,还包括:
测试控制程序向所述用户终端反馈所述至少一个测试进程已启动的测试机器人的信息,以便所述用户终端的用户选择执行游戏动作所需的测试机器人;
所述游戏测试指令还指示有待执行所述至少一个游戏动作的至少一个测试机器人,所述至少一个测试机器人属于所述已启动的测试机器人;
所述测试控制程序指示所述测试机器人执行所述至少一个游戏动作,包括:
测试控制程序向所述至少一个测试机器人发送动作模拟指令,所述动作模拟指令用于指示测试机器人执行用于测试所述游戏服务器的所述至少一个游戏动作;
所述测试机器人执行用于模拟所述至少一个游戏动作的模拟逻辑,包括:
所述测试机器人响应于所述动作模拟指令,执行用于模拟所述至少一个游戏动作的模拟逻辑。
6.一种游戏测试方法,其特征在于,应用于用户终端,包括:
展现游戏测试界面;
获得所述游戏测试界面上输入的机器人启动指令,所述机器人启动指令指示有游戏测试所需的测试机器人的目标数量;
向云平台发送所述机器人启动指令,以使得云平台启动所述目标数量个测试机器人,所述测试机器人为用于模拟游戏客户端执行游戏动作的线程;
获得游戏测试界面上输入的游戏测试指令,所述游戏测试指令指示有用于测试游戏服务器的至少一个游戏动作,其中,所述至少一个游戏动作为所述游戏测试界面中显示的游戏动作列表中被选中的游戏动作;
向云平台发送所述游戏测试指令,以便所述云平台控制所述测试机器人模拟游戏客户端执行所述至少一个游戏动作,实现对所述游戏服务器的测试;
所述云平台控制所述测试机器人模拟游戏客户端执行所述至少一个游戏动作,包括:所述云平台中的测试控制程序向至少一个测试进程发送用于指示执行至少一个游戏动作的指令,以通过所述至少一个测试进程指示所述至少一个测试进程下的所述测试机器人执行所述至少一个游戏动作。
7.一种游戏测试系统,特征在于,应用于云平台,所述云平台上运行有测试控制程序以及至少一个测试进程,包括:
第一指令获得单元,用于通过所述测试控制程序获得机器人启动指令,所述机器人启动指令指示有游戏测试所需的测试机器人的目标数量;
机器人启动单元,用于通过所述测试控制程序控制所述至少一个测试进程启动所述目标数量个测试机器人,所述测试机器人为用于模拟游戏客户端执行游戏动作的线程;
第二指令获得单元,用于通过所述测试控制程序获取游戏测试指令,所述游戏测试指令指示有用于测试游戏服务器的至少一个游戏动作;
动作执行指示单元,用于通过所述测试控制程序指示所述测试机器人执行所述至少一个游戏动作,包括:向所述至少一个测试进程发送用于指示执行至少一个游戏动作的指令,以通过所述至少一个测试进程指示所述至少一个测试进程下的所述测试机器人执行所述至少一个游戏动作;
游戏动作测试单元,用于通过所述测试机器人执行用于模拟所述至少一个游戏动作的至少一个模拟逻辑,以模拟游戏客户端与所述游戏服务器通信,并模拟所述游戏客户端执行所述至少一个游戏动作。
8.一种游戏测试装置,其特征在于,应用于用户终端,包括:
界面展现单元,用于展现游戏测试界面;
启动指令获得单元,用于获得所述游戏测试界面上输入的机器人启动指令,所述机器人启动指令指示有游戏测试所需的测试机器人的目标数量;
第一指令发送单元,用于向云平台发送所述机器人启动指令,以使得云平台启动所述目标数量个测试机器人,所述测试机器人为用于模拟游戏客户端执行游戏动作的线程;
测试指令获得单元,用于获得游戏测试界面上输入的游戏测试指令,所述游戏测试指令指示有用于测试游戏服务器的至少一个游戏动作,其中,所述至少一个游戏动作为所述游戏测试界面中显示的游戏动作列表中被选中的游戏动作;
第二指令发送单元,用于向云平台发送所述游戏测试指令,以便所述云平台控制所述测试机器人模拟游戏客户端执行所述至少一个游戏动作,实现对所述游戏服务器的测试;
所述云平台控制所述测试机器人模拟游戏客户端执行所述至少一个游戏动作,包括:所述云平台中的测试控制程序向至少一个测试进程发送用于指示执行至少一个游戏动作的指令,以通过所述至少一个测试进程指示所述至少一个测试进程下的所述测试机器人执行所述至少一个游戏动作。
9.一种云平台,其特征在于,包括:
控制服务器和至少一台云服务器;
所述控制服务器上运行有测试控制程序;
所述云服务器上运行有至少一个测试进程;
所述控制服务器,用于通过所述测试控制程序获得机器人启动指令,所述机器人启动指令指示有游戏测试所需的测试机器人的目标数量;通过所述测试控制程序控制所述至少一个测试进程启动所述目标数量个测试机器人,所述测试机器人为用于模拟游戏客户端执行游戏动作的线程;通过所述测试控制程序获取游戏测试指令,所述游戏测试指令指示有用于测试游戏服务器的至少一个游戏动作;以及,通过所述测试控制程序指示所述测试机器人执行所述至少一个游戏动作,包括:向所述至少一个测试进程发送用于指示执行至少一个游戏动作的指令,以通过所述至少一个测试进程指示所述至少一个测试进程下的所述测试机器人执行所述至少一个游戏动作;
所述云服务器,用于通过所述运行的测试进程启动测试机器人;通过所述测试机器人执行用于模拟所述至少一个游戏动作的至少一个模拟逻辑,以模拟游戏客户端与所述游戏服务器通信,并模拟所述游戏客户端执行所述至少一个游戏动作。
10.一种用户终端,其特征在于,包括:
处理器和存储器;
所述处理器,用于调用并执行所述存储器中存储的程序;
所述存储器用于存储所述程序,所述程序至少用于执行如上权利要求6所述的游戏测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010186023.1A CN111400184B (zh) | 2020-03-17 | 2020-03-17 | 游戏测试方法、装置、系统、设备及云平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010186023.1A CN111400184B (zh) | 2020-03-17 | 2020-03-17 | 游戏测试方法、装置、系统、设备及云平台 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111400184A CN111400184A (zh) | 2020-07-10 |
CN111400184B true CN111400184B (zh) | 2021-10-29 |
Family
ID=71436325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010186023.1A Active CN111400184B (zh) | 2020-03-17 | 2020-03-17 | 游戏测试方法、装置、系统、设备及云平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111400184B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112100076B (zh) * | 2020-09-24 | 2022-11-11 | 腾讯科技(深圳)有限公司 | 游戏测试的方法、相关装置、设备及存储介质 |
CN112765041B (zh) * | 2021-02-04 | 2024-04-05 | 上海硬通网络科技有限公司 | 游戏自动化测试方法、装置及电子设备 |
CN112965868B (zh) * | 2021-04-07 | 2022-02-18 | 深圳市达实智控科技股份有限公司 | 游戏控制器的自动化测试方法、装置及可读介质 |
CN114191822B (zh) * | 2021-11-19 | 2023-07-25 | 腾讯科技(深圳)有限公司 | 一种测试方法、装置、计算机设备、存储介质和产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593294A (zh) * | 2013-11-21 | 2014-02-19 | 福建天晴数码有限公司 | 网络游戏性能测试方法及系统 |
US20170249785A1 (en) * | 2016-02-29 | 2017-08-31 | Vreal Inc | Virtual reality session capture and replay systems and methods |
CN110141864A (zh) * | 2019-04-30 | 2019-08-20 | 深圳市腾讯网域计算机网络有限公司 | 一种游戏自动测试方法、装置及终端 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105704166B (zh) * | 2016-04-27 | 2019-12-31 | 网易(杭州)网络有限公司 | 机器人系统及其实现方法、客户端、服务器以及游戏系统 |
CN109359003B (zh) * | 2018-10-29 | 2022-05-20 | 网易(杭州)网络有限公司 | 游戏服务器压力测试方法、装置及设备 |
CN110362474A (zh) * | 2019-06-13 | 2019-10-22 | 上海紫翊网络科技有限公司 | 一种分布式游戏测试方法、系统、装置及存储介质 |
-
2020
- 2020-03-17 CN CN202010186023.1A patent/CN111400184B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593294A (zh) * | 2013-11-21 | 2014-02-19 | 福建天晴数码有限公司 | 网络游戏性能测试方法及系统 |
US20170249785A1 (en) * | 2016-02-29 | 2017-08-31 | Vreal Inc | Virtual reality session capture and replay systems and methods |
CN110141864A (zh) * | 2019-04-30 | 2019-08-20 | 深圳市腾讯网域计算机网络有限公司 | 一种游戏自动测试方法、装置及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN111400184A (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111400184B (zh) | 游戏测试方法、装置、系统、设备及云平台 | |
US7587638B2 (en) | Method and system for generating and monitoring variable load on an application under test | |
Santi et al. | Jaca-android: An agent-based platform for building smart mobile applications | |
US20020165993A1 (en) | System and method of partitioning software components of a monolithic component-based application program to separate graphical user interface elements for local execution at a client system in conjunction with remote execution of the application program at a server system | |
CN110750255B (zh) | 一种小程序渲染方法和装置 | |
CN110032507A (zh) | 应用程序测试方法、装置、系统、电子设备及存储介质 | |
US11809882B2 (en) | Interface calling method and apparatus, and computer-readable storage medium | |
CN111866160B (zh) | 多机控制方法、装置、设备及存储介质 | |
KR20220058850A (ko) | 작업 처리 방법, 장치, 기기, 시스템 및 저장 매체 | |
CN112090079B (zh) | 游戏任务运行方法、装置、计算机设备和存储介质 | |
CN112925652A (zh) | 应用资源部署方法、装置、电子设备和介质 | |
CN115333787A (zh) | 5g工控网络系统自动化安全测试方法、系统及存储介质 | |
CN111427665A (zh) | 一种量子应用云平台及量子计算任务的处理方法 | |
CN112799970B (zh) | 测试数据处理方法、装置、电子设备及介质 | |
CN112486797A (zh) | 接口测试方法和装置 | |
CN108255547B (zh) | 一种应用程序控制方法及装置 | |
She et al. | Hermes: A tool for testing mobile device applications | |
CN113419818A (zh) | 基础组件部署方法、装置、服务器及存储介质 | |
CN112631939A (zh) | 用例配置方法、用例配置装置以及可读存储介质 | |
CN112764746A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN101969442B (zh) | 基于进程运行环境感知与迁移的网络模拟框架实现方法 | |
CN108874659B (zh) | 数字货币计算设备的测试方法、测试系统及服务器 | |
WO2022100075A1 (zh) | 性能检测方法、装置、电子设备和计算机可读介质 | |
CN112231231B (zh) | 云端服务的调试方法、系统及装置 | |
CN115202907A (zh) | 一种应用程序接口的运行方法、系统、计算机设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |