CN110083541A - 游戏测试方法、装置、计算机存储介质和电子设备 - Google Patents
游戏测试方法、装置、计算机存储介质和电子设备 Download PDFInfo
- Publication number
- CN110083541A CN110083541A CN201910360657.1A CN201910360657A CN110083541A CN 110083541 A CN110083541 A CN 110083541A CN 201910360657 A CN201910360657 A CN 201910360657A CN 110083541 A CN110083541 A CN 110083541A
- Authority
- CN
- China
- Prior art keywords
- test
- node
- tree
- module
- game
- 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.)
- Granted
Links
- 238000010998 test method Methods 0.000 title claims abstract description 39
- 238000012360 testing method Methods 0.000 claims abstract description 395
- 238000009227 behaviour therapy Methods 0.000 claims abstract description 133
- 238000000034 method Methods 0.000 claims abstract description 55
- 238000004891 communication Methods 0.000 claims abstract description 41
- 230000006399 behavior Effects 0.000 claims description 73
- 230000008569 process Effects 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012423 maintenance Methods 0.000 abstract description 10
- 230000003993 interaction Effects 0.000 abstract description 8
- 238000005516 engineering process Methods 0.000 abstract description 7
- 230000009471 action Effects 0.000 abstract description 2
- 238000011161 development Methods 0.000 abstract description 2
- 238000012545 processing Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 6
- 230000005291 magnetic effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000011017 operating method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 238000012956 testing procedure Methods 0.000 description 2
- 241000239290 Araneae Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000000275 quality assurance Methods 0.000 description 1
- 230000003014 reinforcing effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
- 230000009182 swimming Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
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/3684—Test management for test design, e.g. generating new test cases
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本公开涉及计算机技术领域,具体公开了一种游戏测试方法及装置、存储介质和电子设备。该方法包括:建立与测试模块之间的通信连接,其中所述测试模块置于游戏客户端内;加载行为树用例配置文件,以获得测试行为树;根据所述测试行为树的节点向所述测试模块发送测试指令,并接收所述测试模块返回的所述游戏客户端执行所述测试指令生成的执行信息,以实现对所述游戏客户端的测试。本公开通过将测试行为以行为树的模式进行开发管理,便于测试用例的维护,提高了测试用例的游戏逻辑性;同时,通过测试装置与测试模块的通信连接运行行为树的节点,以通过节点与测试模块之间的数据交互对测试行为树进行遍历,可实现复杂性高的游戏客户端的测试工作。
Description
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种游戏测试方法、游戏测试装置、计算机存储介质和电子设备。
背景技术
随着计算机和网络技术的发展,应用产品的种类越来越多,其中常见的应用产品有游戏,一款新的游戏吸引用户的因素有两个:可玩性和游戏的质量,游戏测试作为游戏开发中质量保证的最重要的环节之一,在游戏设计和开发的过程中发挥越来越重要的作用。
目前的游戏测试技术一方面是依赖于人工测试,但测试效率低;另一方面是游戏的自动化测试,其主要思路是根据事先录制的操作步骤编写测试用例,并按步骤执行测试用例,然而随着游戏逻辑复杂度的不断提高,仅仅依赖于预定的测试步骤进行测试工作,无法深入到复杂的游戏逻辑中,测试用例维护成本高,也难以实现对更为复杂的测试用例的测试工作;此外,面对测试过程中出现的问题缺乏在游戏逻辑上的定位排查能力,降低游戏测试的效率,进而可能导致延迟游戏的上市时间而错失大批用户。
因此,需要提供一种新的游戏测试方法。
需要说明的是,在上述背景技术部分发明的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种游戏测试方法及装置、计算机存储介质和电子设备,进而至少在一定程度上避免了游戏的自动化测试过程无法深入至复杂的游戏逻辑中、测试用例维护成本高和测试效率低等问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一个方面,提供一种游戏测试方法,应用于可执行测试行为的测试装置,所述方法包括:建立与测试模块之间的通信连接,其中所述测试模块置于游戏客户端内;加载行为树用例配置文件,以获得测试行为树;根据所述测试行为树的节点向所述测试模块发送测试指令,并接收所述测试模块返回的所述游戏客户端执行所述测试指令生成的执行信息,以实现对所述游戏客户端的测试。
在本公开的一种示例性实施例中,所述测试用例配置文件包括测试行为树中节点的名称、节点的参数以及节点之间的逻辑关系;所述加载行为树用例配置文件,以获得测试行为树,包括:将所述节点的名称、节点的参数以及节点之间的逻辑关系对应的数据结构,转换为测试用例对应的数据结构,以获得所述测试行为树。
在本公开的一种示例性实施例中,所述测试行为树的节点包括网络节点;所述建立与测试模块之间的通信连接,其中所述测试模块置于游戏客户端内,包括:根据所述网络节点的参数,在目标管理器中索引所述测试模块对应的网络管理对象;若索引到所述网络管理对象,则建立与所述网络管理对象的网络连接,以实现与所述测试模块之间的网络连接;若索引不到所述网络管理对象,则网络连接失败。
在本公开的一种示例性实施例中,所述根据所述测试行为树的节点向所述测试模块发送测试指令,并接收所述测试模块返回的所述游戏客户端执行所述测试指令生成的执行信息,以实现对所述游戏客户端的测试,包括:为所述测试行为树分配一主逻辑协程;基于所述主逻辑协程,以第一时间间隔循环遍历所述测试行为树中的各个节点,根据所述各个节点向所述测试模块发送所述测试指令。
在本公开的一种示例性实施例中,所述基于所述主逻辑协程,以第一时间间隔循环遍历所述测试行为树中的各个节点,根据所述各个节点向所述测试模块发送所述测试指令,包括:根据当前节点的参数,向所述测试模块发送接口调用指令,以使所述游戏客户端执行所述接口调用指令对应的测试行为;接收所述游戏客户端执行所述测试行为后生成的执行信息,并根据所述执行信息和节点之间的逻辑关系继续遍历所述测试行为树中的其它未遍历节点。
在本公开的一种示例性实施例中,所述基于所述主逻辑协程,以第一时间间隔循环遍历所述测试行为树中的各个节点,根据所述各个节点向所述测试模块发送所述测试指令,还包括:根据当前节点的参数,创建子逻辑协程;根据所述子逻辑协程对应的第二时间间隔,控制测试行为在所述主逻辑协程和所述子逻辑协程之间进行切换,以实现对所述测试行为树中的节点的遍历。
在本公开的一种示例性实施例中,所述行为树的节点包括阻塞节点和非阻塞节点;所述方法还包括:在当前节点为阻塞节点时,根据所述当前节点的参数,生成进程创建指令;根据所述进程创建指令创建子进程,并暂停所述主逻辑协程;监听所述子进程是否执行结束;若所述子进程执行结束,则恢复所述主逻辑协程,并根据所述子进程的执行结果和节点之间的逻辑关系继续遍历所述测试行为树中的其它未遍历节点。
在本公开的一种示例性实施例中,包括:根据创建的所述子进程,调用调试工具;通过所述调试工具控制所述游戏客户端执行测试行为,其中所述调试工具与所述游戏客户端所在设备通过预设接口连接。
在本公开的一种示例性实施例中,所述树节点包括模块节点;所述根据所述测试行为树的节点向所述测试模块发送测试指令,并接收所述测试模块返回的所述游戏客户端执行所述测试指令生成的执行信息,以实现对所述游戏客户端的测试,包括:当遍历至所述模块节点时,调用并遍历所述模块节点对应的子行为树中的节点。
在本公开的一种示例性实施例中,所述方法还包括:向用户提供行为树编辑数据;根据所述用户基于所述行为树编辑数据对测试用例的编辑操作,生成与所述测试用例对应的测试用例配置文件。
在本公开的一种示例性实施例中,所述方法还包括:将编辑和执行测试用例生成的数据保存至动态数据库中,以使所述测试行为树中各节点共享所述数据。
根据本公开的一个方面,提供一种游戏测试方法,应用于游戏客户端,所述游戏客户端内置一测试模块,所述方法包括:通过所述测试模块建立与测试装置之间的通信连接;接收所述测试装置根据测试行为树的节点发送的测试指令,并执行所述测试指令;将执行所述测试指令生成的执行信息通过所述测试模块发送至所述测试装置,以实现对所述测试行为树对应的测试行为的测试。
在本公开的一种示例性实施例中,所述通过所述测试模块建立与测试装置之间的通信连接,包括:通过所述测试模块发送目标设备标识信息至网络服务器,以使所述网络服务器根据所述目标设备标识信息在目标管理器中生成与所述测试模块对应的网络管理对象;当所述测试装置在所述目标管理器中索引到所述网络管理对象,则通过所述测试模块建立与所述测试装置之间的网络连接。
在本公开的一种示例性实施例中,所述接收所述测试装置根据测试行为树的节点发送的测试指令,并执行所述测试指令,包括:通过所述测试模块接收所述测试装置发送的接口调用指令,并通过所述测试模块调用与所述接口调用指令对应的目标接口;执行所述目标接口对应的测试行为,以生成所述执行信息。
根据本公开的一个方面,提供一种游戏测试装置,应用于可执行测试行为的测试装置,所述装置包括:通信连接模块,用于建立与测试模块之间的通信连接,其中所述测试模块置于游戏客户端内;用例管理模块,用于加载行为树用例配置文件,以获得测试行为树;执行模块,用于根据所述测试行为树的节点向所述测试模块发送测试指令,并接收所述测试模块返回的所述游戏客户端执行所述测试指令生成的执行信息,以实现对所述游戏客户端的测试。
根据本公开的一个方面,提供一种游戏测试装置,应用于游戏客户端,所述游戏客户端内置一测试模块,所述装置包括:通信连接模块,用于通过所述测试模块建立与测试装置之间的通信连接;执行模块,用于接收所述测试装置根据测试行为树的节点发送的测试指令,并执行所述测试指令;发送模块,用于将执行所述测试指令生成的执行信息通过所述测试模块发送至所述测试装置,以实现对所述测试行为树对应的测试行为的测试。
根据本公开的一个方面,提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的游戏测试方法。
根据本公开的一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的游戏测试方法。
本公开的示例性实施方式中的游戏测试方法,通过将测试行为以测试行为树的方式进行管理,并通过测试装置与测试模块的通信连接运行该测试行为树的节点,以通过节点与测试模块之间的数据交互实现对测试行为树的遍历,进而实现对游戏客户端的测试。一方面,将测试行为抽象为测试行为树进行管理,充分利用了行为树逻辑性强、扩展方便和易于维护等特点,提高了测试用例的游戏逻辑性,降低了测试用例的维护成本;同时,结合了测试装置与测试模块之间的数据交互,提高了测试的可操作性,能够实现复杂的测试行为;另一方面,面对测试过程中出现的问题,能基于测试行为树从游戏逻辑上进行问题的分析排查,有益于测试效率的提高。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
图1示意性示出了本公开的示例性实施方式的游戏测试方法的流程图;
图2示意性示出了本公开的示例性实施方式的测试装置与游戏客户端内的测试模块建立网络连接的流程图;
图3示意性示出了本公开的示例性实施方式的游戏测试方法的架构图;
图4示意性示出了本公开的示例性实施方式的测试行为树的节点与测试模块之间进行数据交互;
图5示意性示出了本公开的示例性实施方式的根据节点向测试模块发送测试指令的执行过程的流程图;
图6示意性示出了本公开的示例性实施方式的手游客户端中如何对玩家周围可攻击目标执行攻击行为的流程图;
图7示意性示出了本公开的示例性实施方式的执行阻塞节点时的流程图;
图8示意性示出了本公开的示例性实施方式的游戏测试装置的结构示意图;
图9示意性示出了本公开的另一示例性实施方式的游戏测试装置的结构示意图;
图10示意性示出了本公开的示例性实施方式的存储介质的示意图;以及
图11示意性示出了本公开的示例性实施方式的电子设备的框图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
现在将参考附图更全面地描述示例性实施方式。然而,示例性实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施例使得本公开将更加全面和完整,并将示例性实施方式的构思全面地传达给本领域的技术人员。图中相同的附图标记表示相同或类似的结构,因而将省略它们的详细描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个软件硬化的模块中实现这些功能实体或功能实体的一部分,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
在本领域的相关技术中,一方面,人工测试通常需要用户在客户端登录需要测试的游戏后,通过随机按键操作游戏并根据操作结果获取测试结果;另一方面通过预先在游戏客户端进行操作录制,并基于录制结果编写测试用例,以便后续基于该测试用例进行自动化测试工作。
相应的,相关技术中的游戏测试方法存在如下缺陷:测试效率作为影响游戏测试过程最重要的因素之一,人工测试方法无法实现高效测试,通过用户的随机按键也难以保证游戏的逻辑流程顺利进行;而按照预先录制的操作步骤编写的测试用例执行自动化测试,测试过程停留在既定的步骤,无法深入至游戏本身的逻辑中,难以实现复杂的测试工作;同时,由于测试用例是按照操作步骤编写,测试用例的维护成本较高。
基于此,在本示例实施方式中,首先提供了一种游戏测试方法。图1示出了本公开示例性实施方式的游戏测试方法,该方法应用于可执行测试行为的测试装置。参考图1,该游戏测试方法包括以下步骤:
步骤S110:建立与测试模块之间的通信连接,其中测试模块置于游戏客户端内;
步骤S120:加载行为树用例配置文件,以获得测试行为树;
步骤S130:根据测试行为树的节点向测试模块发送测试指令,并接收测试模块返回的游戏客户端执行测试指令生成的执行信息,以实现对游戏客户端的测试。
根据本示例性实施方式中的游戏测试方法,一方面,将测试行为抽象为测试行为树进行管理,充分利用了行为树逻辑性强、扩展方便和易于维护等特点,提高了测试用例的游戏逻辑性,降低了测试用例的维护成本;同时,结合了测试装置与测试模块之间的数据交互,提高了测试的可操作性,能够实现复杂的测试行为;另一方面,面对测试过程中出现的问题,能基于测试行为树从游戏逻辑上进行问题的分析排查,有益于测试效率的提高。
下面将结合图1对本公开示例性实施方式中的游戏测试方法进行详细阐述,该方法的执行主体为可执行测试行为的测试装置,其中测试装置为能与游戏客户端进行远程通信的装置,可以部署在一机器中,其中包括但不限于用户的办公电脑中。
在步骤S110中,建立与测试模块之间的通信连接,其中测试模块置于游戏客户端内。
在本公开的示例性实施方式中,测试装置与游戏客户端内置的测试模块可以直接进行端对端通信,也可以通过中转服务器进行转发通信;其中,游戏客户端为向用户提供本地服务的程序,通过游戏测试发现游戏客户端的问题并改正问题,可以提高用户体验;测试模块为负责处理游戏客户端与测试装置的网络连接与信息交互的模块,例如可以辅助测试开发维护和调用测试接口等,相应的,测试模块中包括一个网络单元,用以实现与测试装置的通信连接。本公开通过在测试行为树中通过添加网络节点的方式,实现测试装置与测试模块的网络连接,可以提高游戏测试过程的灵活性和可操性。
图2示出了测试装置与游戏客户端内的测试模块建立网络连接的流程图,如图2所示,该过程包括如下步骤:
在步骤S210中,游戏客户端通过测试模块发送目标设备标识信息至网络服务器,以使网络服务器根据该目标设备标识信息在目标管理器中生成与测试模块对应的网络管理对象。
在本公开的示例性实施方式中,目标设备为游戏客户端对应的终端设备,包括但不限于平板电脑、手机和台式电脑等;目标设备标识信息为终端设备的唯一标识信息,通常游戏网络运行商可以通过该目标设备标识信息识别用户,并对用户活动进行跟踪,例如可以为手机的UDID(Unique Device identifier,唯一设备标识符)等。网络服务器可以为独立于测试装置的服务器,也可以作为网络服务器置于测试装置内,本公开对此不做具体限定。
在步骤S220中,测试装置根据网络节点的参数,在目标管理器中索引测试模块对应的网络管理对象,若索引到测试模块对应的网络管理对象,则建立与网络管理对象的网络连接,以实现与测试模块之间的网络连接;若索引不到网络管理对象,则网络连接失败。
在本公开的示例性实施方式中,网络节点的参数为用户预先配置的参数信息,包括测试模块对应的目标设备标识信息(例如UDID),测试装置根据该参数在目标管理器中索引测试模块对应的网络管理对象;其中,若索引到网络管理对象,则建立与网络管理对象的网络连接,即实现了与测试模块的网络连接。需要说明的是,在通过网络节点建立了测试装置与测试模块之间的网络连接后,可以在目标管理器中将网络连接关系进行标记,避免后续遍历该网络节点时进行重复的网络连接工作。
具体而言,图3示出了本公开的一示例性实施方式中的游戏测试方法的架构图,如图3所示,测试装置包括测试用例执行模块、测试用例管理模块、动态数据库、子进程管理模块和行为树编辑器。其中,测试用例执行模块用于执行设置好的测试行为树;测试用例管理模块用于加载行为树用例配置文件,以转化为可执行的测试用例数据结构;动态数据库用于将遍历测试行为树的过程中生成的交互数据和中间运行数据进行保存;子进程管理模块用于遍历测试行为树的过程中创建和监听子进程;行为树编辑器用于为用户提供可视化的行为树编辑,并通过导出编辑结果生成行为树用例配置文件。同时,测试模块中包括一个用以实现与测试装置通信连接的网络单元;网络服务器和目标管理器独立于测试装置。下面结合图3对本公开中的建立测试装置与测试模块之间的通信连接进行说明,其中在建立通信连接前需要在测试装置和游戏客户端所在移动设备部署测试环境。
首先,测试模块内的网络单元连接至网络服务器,并发送目标设备标识信息至网络服务器,以使网络服务器在目标管理器中创建网络单元的网络管理对象,即测试模块对应的网络管理对象;同时,以目标设备标识信息作为该网络管理对象的索引参数;其中,在测试模块发送目标设备标识信息至网络服务器之前,测试模块内的网络单元可以通过网络监听测试装置所在机器的IP地址(Internet Protocol,互联网协议地址)以及配置端口,并根据该IP地址和配置端口与网络服务器进行连接。
然后,由于预先配置的网络节点的参数为目标设备标识信息,因此基于目标设备标识信息,测试装置通过网络服务器在目标管理器中索引测试模块对应的网络管理对象,若索引到网络管理对象,则通过网络服务器建立测试装置和网络管理对象的网络连接,即建立测试装置和测试模块的网络连接。该过程是通过在测试行为树中添加并执行网络节点的方式,实现测试装置和测试模块的网络连接,操作简单,也方便了测试行为树的编辑和管理,维护成本低。
最后,在建立测试装置和测试模块的网络连接后,通过网络节点将网络连接结果返回至相应的父节点,以使父节点根据网络节点的执行结果继续遍历测试行为树的其它节点。
需要说明的是,图3所示的游戏测试方法的架构图中的网络服务器和目标管理器置于测试装置外,在公开另一示例性实施方式中,网络服务器和目标管理器还可以置于测试装置中,用以实现测试模块建立网络连接,并在测试过程中实时与测试模块进行数据交互,本公开对网络服务器和目标管理器的位置不做具体要求。
在步骤S120中,加载行为树用例配置文件,以获得测试行为树。
在本公开的示例性实施方式中,测试用例以行为树的方式实现,其中行为树为由一系列节点组成的多叉树,节点类型包括逻辑节点、条件判断节点和行为节点等。逻辑节点包括表示逻辑含义的节点;条件判断节点包括AI(Artificial Intelligence,人工智能)行为执行前的条件判断节点,例如判断游戏客户端当前是否符合释放技能的条件的节点、判断某位置是否可以进行移动的节点,等等;行为节点包括AI行为中执行行为的节点,例如:使游戏客户端执行攻击的节点和移动玩家到某预设位置的节点,等等。在执行测试行为树时,从根节点开始遍历测试行为树,每一节点执行完毕后向对应的父节点返回执行结果,父节点则根据返回的执行结果判断是否继续执行其它未执行的节点或直接向该父节点对应的父节点返回执行结果,当根节点接收到返回结果时,本次对测试行为树的遍历结束。
在本公开的示例性实施方式中,根据用户编辑的行为树生成行为树用例配置文件,包括测试行为树中节点的名称、节点的参数以及节点之间的逻辑关系。其中,配置文件的格式包括但不限于json(JavaScript Object Notation,JavaScript对象)或xml(Extensible Markup Language,可扩展标记语言)格式,行为树用例配置文件和测试行为树是一一对应的;节点的参数类型可以为常量数据(如字符串、数字、布尔值以及计算机语言中的常用数据结构等),也可以为动态变量,当遍历至节点的参数类型为动态变量时,可以通过在动态数据库中索引与动态变量对应的实际参数内容。
其中,通过测试装置中的行为树编辑器,用户可以进行行为树用例的编辑,一方面,可以通过行为树编辑器将某一个测试行为对应的数据结构封装为一个行为树的节点,并将节点添加到行为树中;另一方面,还可以将若干行为树节点对应的数据结构组合成一个子行为树,并以模块节点的方式添加至行为树中,当遍历至模块节点时,调用并遍历模块节点对应的子行为树中的节点。该过程通过添加模块节点的方式提高了行为树的可读性和可维护性,此外,还可以将编辑好的行为树的节点(包括模块节点)进行保存,以便于用户通过直接调用节点添加至行为树,基于此,用户无需对多次添加的节点进行重复编辑,提高了行为树的编辑效率,也降低了编辑行为树的复杂度。需要说明的是,当用户通过行为树编辑器将某节点进行编辑保存后,添加了该节点的行为树也会相应的同步更新,用户无需对引用该节点的行为树进行分别编辑更新,方便了行为树用例的管理;同时,通过行为树的方式可以管理各类复杂的测试行为,提高了游戏测试的测试深度。
进一步的,继续参照图3所示的游戏测试方法的架构图,通过测试装置内的测试用例管理模块加载行为树用例配置文件,以将节点的名称、节点的参数以及节点之间的逻辑关系对应的数据结构,转换为测试用例对应的数据结构,获得测试行为树。需要说明的是,当用户通过行为树编辑器修改和添加行为树的节点时,将会重新生成行为树用例配置文件。此外,还可以通过在测试装置中提供一可视化模块,向用户提供节点的名称,节点参数的类型、使用说明和供用户调用的参数等,以便根据用户的操作完成行为树编辑和确定要执行的行为树。
综上可知,通过将测试行为抽象为测试行为树进行管理,充分利用了行为树逻辑性强、扩展方便和易于维护等特点,提高了测试用例的游戏逻辑性,测试用例的代码可读性强,进而降低了测试用例的维护成本。
在步骤S130中,根据测试行为树的节点向测试模块发送测试指令,并接收测试模块返回的游戏客户端执行测试指令生成的执行信息,以实现对游戏客户端的测试。
在本公开的示例性实施方式中,通过测试行为树的节点向测试模块发送信息查询指令或测试指令,并接收测试模块返回的游戏客户端根据该测试指令生成的执行信息,进而实现对游戏客户端的自动化测试工作。图4示出了测试行为树的节点与测试模块之间进行数据交互的流程图,如图4所示,该过程包括如下步骤:
在步骤S410中,为测试行为树分配一主逻辑协程。
在本公开的示例性实施方式中,继续操作图3所示的游戏测试方法的架构图,测试装置内的测试用例执行模块为测试行为树分配一主逻辑协程,主逻辑协程以第一时间间隔循环遍历测试行为树,每一次循环过程从测试行为树的根节点开始遍历,遍历完毕后,主逻辑协程将会从根节点开始重新遍历测试行为树。其中,第一时间间隔可以根据测试的实际情况设置,本公开对此不做具体限定。
需要说明的是,在没有触发退出节点或接收外部停止操作时,将会基于主逻辑协程循环遍历测试行为树,也就是说,在遍历完一次测试行为树时,下一次将重新从根节点开始继续遍历测试行为树。其中,由于本次遍历测试行为树是根据上一次的执行结果对应的状态数据进行的,因此本次遍历测试行为树所执行的行为树分支可能与上一次存在差异,这也是测试用例以行为树的方式实现的优势所在,即不会受限于既定的测试步骤,测试过程可以深入至游戏逻辑本身。
在步骤S420中,基于主逻辑协程,以第一时间间隔循环遍历测试行为树中的各个节点,根据各个节点向测试模块发送测试指令。
在本公开的示例性实施方式中,在基于主逻辑协程遍历测试行为树时,通过各个行为树节点向测试模块发送测试指令,以实现对游戏客户端的测试。图5示出了根据节点向测试模块发送测试指令的执行过程的流程图,如图5所示,该过程包括:
在步骤S510中,根据当前节点的参数,向测试模块发送接口调用指令,以使游戏客户端执行接口调用指令对应的测试行为。
在本公开的示例性实施方式中,当前节点的参数包括调用的接口名称、接口对应的参数以及存储变量的名称,其中存储变量用于存储接收到的执行信息。接口调用指令包括当前节点的参数和本次调用指令对应的网络请求序号。具体而言,首先,测试装置通过网络服务器将接口调用指令发送至网络请求序号对应的测试模块(即对应的游戏客户端);然后,测试模块中的网络单元解析该接口调用指令,并调用与接口调用指令对应的目标接口;最后,游戏客户端执行与目标接口对应的测试行为,并生成执行信息。
在步骤S520中,接收游戏客户端执行测试行为后生成的执行信息,并根据执行信息和节点之间的逻辑关系继续遍历测试行为树中的其它未遍历节点。
在本公开的示例性实施方式中,在测试装置将接口调用指令发送至测试模块后,为了避免协程之间的逻辑干扰,测试装置内的测试用例执行模块将暂停主逻辑协程,并实时监测是否存在返回信息。当接收到游戏客户端执行接口调用指令后生成的执行信息后,测试用例执行模块将恢复主逻辑协程,将执行信息保存至当前节点对应的存储变量中,并返回至对应的父节点,以使父节点根据该执行信息判断是否进行遍历测试行为树中的其它未遍历节点。
下面结合图6以手游客户端中如何对玩家周围可攻击目标执行攻击行为为例,对本公开中的通过执行测试行为树实现对游戏客户端的测试过程进行详细阐述,其中的Sequence(数列)和Selector(选择器)为测试行为树中表示逻辑含义的节点的部分示例,实际的测试行为树中的逻辑节点要更丰富。
在步骤S610中,通过网络节点实现测试装置与测试模块(游戏客户端)的通信连接。若成功建立通信连接,则向对应的父节点返回成功,并继续执行步骤S620;若通信连接失败,则本次行为树分支执行结束;
在步骤S620中,测试装置根据当前节点的参数,向测试模块发送获取可攻击目标的接口调用指令,并接收测试模块返回的游戏客户端生成的目标列表,并保存至当前节点对应的存储变量内,同时向对应的父节点返回成功的信息,继续执行步骤S630;若接收目标列表失败,则本次行为树分支执行结束;
在步骤S630中,当前节点从步骤S620中获得的目标列表中随机确定一可攻击对象,并保存至该节点对应的储存变量内,同时向对应的父节点返回成功的信息,继续执行步骤S640;
在步骤S640中,测试装置根据当前节点的参数,向测试模块发送判断该可攻击对象是否符合可攻击条件的指令,并将接收到的测试模块返回的信息保存对应的存储变量内,并向对应的父节点返回成功的信息,继续执行步骤S650;若接收失败,则本次行为树分支执行结束;
在步骤S650中,当前节点判断在步骤S640中确定的可攻击对象是否正确,并根据判断结果确定是否通过测试装置向测试模块发送执行攻击指令;其中若判断可攻击对象为错误的,则继续根据步骤S660和步骤S670,通过节点与测试模块之间的数据交互,控制玩家进行移动并根据移动位置确定对可攻击对象的攻击,对此本公开不再赘述。
需要说明的是,上述的当前节点为当前测试过程遍历的节点的统称,并不限于某一个当前节点;此外,上述的基于测试行为树对游戏客户端进行测试的过程,均是基于测试行为树的节点、节点的参数以及节点之间的逻辑关系等进行,具体的测试执行过程随当前节点的节点参数和逻辑关系的不同存在差异,本公开对测试行为树的其它节点执行过程不再赘述。
在本公开的示例性实施方式中,在基于主逻辑协程,以第一时间间隔循环遍历测试行为树中的各个节点的过程中,还可以根据当前节点的参数,通过测试装置中的测试用例执行模块创建子逻辑协程,以使子逻辑协程与主逻辑协程之间独立运行,避免子逻辑协程与主逻辑协程之间互相干扰。例如,对于游戏测试过程中的定时行为,如定时采集游戏客户端的性能参数、定时收集游戏客户端的运行日志等行为。具体而言,可以根据实际测试情况,创建一个或多个子逻辑协程,根据子逻辑协程对应的第二时间间隔,控制测试行为在主逻辑协程和子逻辑协程之间进行切换,以实现对测试行为树中的节点的遍历。其中,可以将定时行为对应的数据封装为一个节点添加至测试行为树中,当遍历至该节点时,通过测试用例执行模块根据该节点的参数创建子逻辑协程,以使该子逻辑协程独立进行相应的定时行为。
举例而言,当基于主逻辑协程遍历至定时节点Q时,通过测试用例执行模块创建与定时节点Q对应的子逻辑协程N,由于同一时刻仅可以执行一个协程,那么将主逻辑协程和其它子逻辑协程暂停,待子逻辑协程N执行完毕后,将主逻辑协程和其它子逻辑协程恢复执行,这样避免了各协程之间的逻辑干扰。其中,在子逻辑协程N对应的第二时间间隔后,再次暂停主逻辑协程和其它子逻辑协程,以便于执行下一次的子逻辑协程N。相应的,若测试行为树中包括多个定时节点,则根据各个定时节点的子逻辑协程的时间间隔,通过测试用例执行模块控制协程之间的切换,具体切换过程与子逻辑协程N的处理方式相同,本公开对此不再赘述。
需要说明的是,执行主逻辑协程和子逻辑协程过程中生成的数据均存储于动态数据库中,以使各协程之间实现数据共享,由于各协程不存在并发情况,从而避免了协程并发导致的数据竞争,提高了游戏测试的执行效率。
在本公开的另一示例性实施方式中,行为树的节点包括阻塞节点和非阻塞节点,其中非阻塞节点包括行为树中的数据访问、运算、赋值和逻辑判断等节点;阻塞节点包括上述的定时节点等。图7示出了执行阻塞节点的流程图,如图7所示,该过程包括如下步骤:
在步骤S710中,在当前节点为阻塞节点时,根据当前节点的参数,生成进程创建指令。
在本公开的示例性实施方式中,继续参考图3,通过测试装置内的子进程管理模块根据当前节点的参数,生成与该参数对应的进程创建指令。
在步骤S720中,根据进程创建指令创建子进程,并暂停主逻辑协程。
在本公开的示例性实施方式中,子进程管理模块根据进程创建指令创建子进程,并暂停主逻辑协程直至子进程执行完毕。
在步骤S730中,监听子进程是否执行结束。
在本公开的示例性实施方式中,子进程管理模块根据子进程对应的标识监听子进程执行情况。
在步骤S740中,若子进程执行结束,则恢复主逻辑协程,并根据子进程的执行结果和节点之间的逻辑关系继续遍历测试行为树中的其它未遍历节点。
在本公开的示例性实施方式中,测试装置内的测试用例执行模块恢复主逻辑协程,并通过子进程管理模块获取子进程的执行结果,以将执行结果返回至对应的父节点,进而确定是否继续遍历测试行为树中的其它未遍历节点。
举例而言,可以根据创建的子进程,调用调试工具,并通过调试工具控制游戏客户端执行测试行为,其中调试工具与游戏客户端对应的目标设备通过预设接口连接。举例而言,继续参考图3,可以通过将测试装置与游戏客户端所在设备通过USB接口(UniversalSerial Bus,通用串行总线)连接,通过测试装置中的子进程管理模块创建子进程,以调用调试工具(例如移动设备操作系统官方调试工具等),控制游戏客户端执行相应的测试行为,例如包括但不限于启动游戏客户端、获取游戏客户端的运行日志和执行对游戏客户端的点击操作等。
综上可知,将测试装置与测试模块(游戏客户端)进行通信连接的方式有两种:网络连接和接口连接。在实现测试装置与测试模块(游戏客户端)的通信连接后,可以通过执行测试行为树的节点,通过节点与测试模块之间的数据交互,实现对游戏客户端的自动化测试,提高了的测试效率;此外,基于测试行为树实现对游戏客户端测试,使测试过程深入至游戏逻辑,同时也方便了用户对测试用例的管理,例如当测试出现问题时,可以基于测试行为树进行问题定位,降低了测试用例的维护难度。
此外,在本公开的示例性实施方式中,还提供了一种游戏测试装置,应用于可执行测试行为的测试装置。参考图8所示,该游戏测试装置800包括通信连接模块810、用例管理模块820和执行模块830。具体地,
通信连接模块810,用于建立与测试模块之间的通信连接,其中所述测试模块置于游戏客户端内;
用例管理模块820,用于加载行为树用例配置文件,以获得测试行为树;
执行模块830,用于根据所述测试行为树的节点向所述测试模块发送测试指令,并接收所述测试模块返回的所述游戏客户端执行所述测试指令生成的执行信息,以实现对所述游戏客户端的测试。
图9示出了本公开另一示例性实施方式的游戏测试装置,应用于游戏客户端,该游戏测试装置900包括通信连接模块910、执行模块920和发送模块930。具体地,
通信连接模块910,用于通过所述测试模块建立与测试装置之间的通信连接;
执行模块920,用于接收所述测试装置根据测试行为树的节点发送的测试指令,并执行所述测试指令;
发送模块930,用于将执行所述测试指令生成的执行信息通过所述测试模块发送至所述测试装置,以实现对所述测试行为树对应的测试行为的测试。
上述装置中各模块/单元的具体细节在方法部分的实施方式中已经详细说明,因此不再赘述。
此外,在本公开的示例性实施方式中,还提供了一种能够实现上述方法的计算机存储介质。其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的步骤。
参考图10所示,描述了根据本公开的示例性实施方式的用于实现上述方法的程序产品1000,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施例、完全的软件实施例(包括固件、微代码等),或硬件和软件方面结合的实施例,这里可以统称为“电路”、“模块”或“系统”。
下面参照图11来描述根据本公开的这种实施例的电子设备1100。图11显示的电子设备1100仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图11所示,电子设备1100以通用计算设备的形式表现。电子设备1100的组件可以包括但不限于:上述至少一个处理单元1110、上述至少一个存储单元1120、连接不同系统组件(包括存储单元1120和处理单元1110)的总线1130、显示单元1140。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1110执行,使得所述处理单元1110执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的步骤。
存储单元1120可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)1121和/或高速缓存存储单元1122,还可以进一步包括只读存储单元(ROM)1123。
存储单元1120还可以包括具有一组(至少一个)程序模块1125的程序/实用工具1124,这样的程序模块1125包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1130可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备1100也可以与一个或多个外部设备1200(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1100交互的设备通信,和/或与使得该电子设备1100能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1150进行。并且,电子设备1100还可以通过网络适配器1160与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1160通过总线1130与电子设备1100的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1100使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。
Claims (18)
1.一种游戏测试方法,其特征在于,包括:
建立与测试模块之间的通信连接,其中所述测试模块置于游戏客户端内;
加载行为树用例配置文件,以获得测试行为树;
根据所述测试行为树的节点向所述测试模块发送测试指令,并接收所述测试模块返回的所述游戏客户端执行所述测试指令生成的执行信息,以实现对所述游戏客户端的测试。
2.根据权利要求1所述的游戏测试方法,其特征在于,所述测试用例配置文件包括测试行为树中节点的名称、节点的参数以及节点之间的逻辑关系;
所述加载行为树用例配置文件,以获得测试行为树,包括:
将所述节点的名称、节点的参数以及节点之间的逻辑关系对应的数据结构,转换为测试用例对应的数据结构,以获得所述测试行为树。
3.根据权利要求1所述的游戏测试方法,其特征在于,所述测试行为树的节点包括网络节点;
所述建立与测试模块之间的通信连接,其中所述测试模块置于游戏客户端内,包括:
根据所述网络节点的参数,在目标管理器中索引所述测试模块对应的网络管理对象;
若索引到所述网络管理对象,则建立与所述网络管理对象的网络连接,以实现与所述测试模块之间的网络连接;
若索引不到所述网络管理对象,则网络连接失败。
4.根据权利要求3所述的游戏测试方法,其特征在于,所述根据所述测试行为树的节点向所述测试模块发送测试指令,并接收所述测试模块返回的所述游戏客户端执行所述测试指令生成的执行信息,以实现对所述游戏客户端的测试,包括:
为所述测试行为树分配一主逻辑协程;
基于所述主逻辑协程,以第一时间间隔循环遍历所述测试行为树中的各个节点,根据所述各个节点向所述测试模块发送所述测试指令。
5.根据权利要求4所述的游戏测试方法,其特征在于,所述基于所述主逻辑协程,以第一时间间隔循环遍历所述测试行为树中的各个节点,根据所述各个节点向所述测试模块发送所述测试指令,包括:
根据当前节点的参数,向所述测试模块发送接口调用指令,以使所述游戏客户端执行所述接口调用指令对应的测试行为;
接收所述游戏客户端执行所述测试行为后生成的执行信息,并根据所述执行信息和节点之间的逻辑关系继续遍历所述测试行为树中的其它未遍历节点。
6.根据权利要求4所述的游戏测试方法,其特征在于,所述基于所述主逻辑协程,以第一时间间隔循环遍历所述测试行为树中的各个节点,根据所述各个节点向所述测试模块发送所述测试指令,还包括:
根据当前节点的参数,创建子逻辑协程;
根据所述子逻辑协程对应的第二时间间隔,控制测试行为在所述主逻辑协程和所述子逻辑协程之间进行切换,以实现对所述测试行为树中的节点的遍历。
7.根据权利要求4所述的游戏测试方法,其特征在于,所述行为树的节点包括阻塞节点和非阻塞节点;所述方法还包括:
在当前节点为阻塞节点时,根据所述当前节点的参数,生成进程创建指令;
根据所述进程创建指令创建子进程,并暂停所述主逻辑协程;
监听所述子进程是否执行结束;
若所述子进程执行结束,则恢复所述主逻辑协程,并根据所述子进程的执行结果和节点之间的逻辑关系继续遍历所述测试行为树中的其它未遍历节点。
8.根据权利要求7所述的游戏测试方法,其特征在于,包括:
根据创建的所述子进程,调用调试工具;
通过所述调试工具控制所述游戏客户端执行测试行为,其中所述调试工具与所述游戏客户端所在设备通过预设接口连接。
9.根据权利要求1所述的游戏测试方法,其特征在于,所述行为树的节点包括模块节点;
所述根据所述测试行为树的节点向所述测试模块发送测试指令,并接收所述测试模块返回的所述游戏客户端执行所述测试指令生成的执行信息,以实现对所述游戏客户端的测试,包括:
当遍历至所述模块节点时,调用并遍历所述模块节点对应的子行为树中的节点。
10.根据权利要求1至9任一项所述的游戏测试方法,其特征在于,所述方法还包括:
向用户提供行为树编辑数据;
根据所述用户基于所述行为树编辑数据对测试用例的编辑操作,生成与所述测试用例对应的测试用例配置文件。
11.根据权利要求1至9任一项所述的游戏测试方法,其特征在于,所述方法还包括:
将编辑和执行测试用例生成的数据保存至动态数据库中,以使所述测试行为树中各节点共享所述数据。
12.一种游戏测试方法,其特征在于,包括:
通过测试模块建立与测试装置之间的通信连接;
接收所述测试装置根据测试行为树的节点发送的测试指令,并执行所述测试指令;
将执行所述测试指令生成的执行信息通过所述测试模块发送至所述测试装置,以实现对所述测试行为树对应的测试行为的测试。
13.根据权利要求12所述的游戏测试方法,其特征在于,所述通过测试模块建立与测试装置之间的通信连接,包括:
通过所述测试模块发送目标设备标识信息至网络服务器,以使所述网络服务器根据所述目标设备标识信息在目标管理器中生成与所述测试模块对应的网络管理对象;
当所述测试装置在所述目标管理器中索引到所述网络管理对象,则通过所述测试模块建立与所述测试装置之间的网络连接。
14.根据权利要求12所述的游戏测试方法,其特征在于,所述接收所述测试装置根据测试行为树的节点发送的测试指令,并执行所述测试指令,包括:
通过所述测试模块接收所述测试装置发送的接口调用指令,并通过所述测试模块调用与所述接口调用指令对应的目标接口;
执行所述目标接口对应的测试行为,以生成所述执行信息。
15.一种游戏测试装置,其特征在于,所述装置包括:
通信连接模块,用于建立与测试模块之间的通信连接,其中所述测试模块置于游戏客户端内;
用例管理模块,用于加载行为树用例配置文件,以获得测试行为树;
执行模块,用于根据所述测试行为树的节点向所述测试模块发送测试指令,并接收所述测试模块返回的所述游戏客户端执行所述测试指令生成的执行信息,以实现对所述游戏客户端的测试。
16.一种游戏测试装置,其特征在于,所述装置包括:
通信连接模块,用于通过测试模块建立与测试装置之间的通信连接;
执行模块,用于接收所述测试装置根据测试行为树的节点发送的测试指令,并执行所述测试指令;
发送模块,用于将执行所述测试指令生成的执行信息通过所述测试模块发送至所述测试装置,以实现对所述测试行为树对应的测试行为的测试。
17.一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据权利要求1至14中任一项所述的游戏测试方法。
18.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至14中任一项所述的游戏测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910360657.1A CN110083541B (zh) | 2019-04-30 | 2019-04-30 | 游戏测试方法、装置、计算机存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910360657.1A CN110083541B (zh) | 2019-04-30 | 2019-04-30 | 游戏测试方法、装置、计算机存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110083541A true CN110083541A (zh) | 2019-08-02 |
CN110083541B CN110083541B (zh) | 2024-02-02 |
Family
ID=67418099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910360657.1A Active CN110083541B (zh) | 2019-04-30 | 2019-04-30 | 游戏测试方法、装置、计算机存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110083541B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110457218A (zh) * | 2019-08-07 | 2019-11-15 | Oppo广东移动通信有限公司 | 游戏引擎测试方法、装置、存储介质及电子设备 |
CN110688301A (zh) * | 2019-08-22 | 2020-01-14 | 浙江口碑网络技术有限公司 | 服务器测试方法、装置、存储介质及计算机设备 |
CN110795336A (zh) * | 2019-09-25 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 应用程序的控制方法、装置、设备及可读存储介质 |
CN112433953A (zh) * | 2020-12-11 | 2021-03-02 | 杭州电魂网络科技股份有限公司 | 基于网络游戏客户端的嵌入式自动化测试方法、装置、设备及介质 |
CN112799959A (zh) * | 2021-02-24 | 2021-05-14 | 网易(杭州)网络有限公司 | 接口测试方法、装置、存储介质和电子装置 |
CN112882930A (zh) * | 2021-02-04 | 2021-06-01 | 网易(杭州)网络有限公司 | 自动化测试方法、装置、存储介质及电子设备 |
CN113835433A (zh) * | 2021-09-28 | 2021-12-24 | 国汽智控(北京)科技有限公司 | 自动驾驶控制方法、装置、设备、存储介质及程序产品 |
CN114398286A (zh) * | 2022-01-19 | 2022-04-26 | 腾讯科技(深圳)有限公司 | 自动化测试方法、装置、电子设备及存储介质 |
CN114584500A (zh) * | 2022-02-25 | 2022-06-03 | 网易(杭州)网络有限公司 | 异步通信的测试方法、装置及电子设备 |
CN115333984A (zh) * | 2022-08-17 | 2022-11-11 | 卡斯柯信号有限公司 | 一种安全协议通信性能测试系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020116507A1 (en) * | 2001-02-20 | 2002-08-22 | Manjure Samir B. | Distributed testing of an implementation of a remote access protocol |
CN107085519A (zh) * | 2017-05-04 | 2017-08-22 | 网易(杭州)网络有限公司 | 行为树调试处理方法、装置、系统、存储介质和处理器 |
CN108255727A (zh) * | 2018-01-18 | 2018-07-06 | 网易(杭州)网络有限公司 | 数据接收、发送方法及装置,测试系统,存储介质 |
-
2019
- 2019-04-30 CN CN201910360657.1A patent/CN110083541B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020116507A1 (en) * | 2001-02-20 | 2002-08-22 | Manjure Samir B. | Distributed testing of an implementation of a remote access protocol |
CN107085519A (zh) * | 2017-05-04 | 2017-08-22 | 网易(杭州)网络有限公司 | 行为树调试处理方法、装置、系统、存储介质和处理器 |
CN108255727A (zh) * | 2018-01-18 | 2018-07-06 | 网易(杭州)网络有限公司 | 数据接收、发送方法及装置,测试系统,存储介质 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110457218A (zh) * | 2019-08-07 | 2019-11-15 | Oppo广东移动通信有限公司 | 游戏引擎测试方法、装置、存储介质及电子设备 |
CN110688301A (zh) * | 2019-08-22 | 2020-01-14 | 浙江口碑网络技术有限公司 | 服务器测试方法、装置、存储介质及计算机设备 |
CN110795336A (zh) * | 2019-09-25 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 应用程序的控制方法、装置、设备及可读存储介质 |
CN112433953A (zh) * | 2020-12-11 | 2021-03-02 | 杭州电魂网络科技股份有限公司 | 基于网络游戏客户端的嵌入式自动化测试方法、装置、设备及介质 |
CN112882930B (zh) * | 2021-02-04 | 2023-09-26 | 网易(杭州)网络有限公司 | 自动化测试方法、装置、存储介质及电子设备 |
CN112882930A (zh) * | 2021-02-04 | 2021-06-01 | 网易(杭州)网络有限公司 | 自动化测试方法、装置、存储介质及电子设备 |
CN112799959A (zh) * | 2021-02-24 | 2021-05-14 | 网易(杭州)网络有限公司 | 接口测试方法、装置、存储介质和电子装置 |
CN113835433A (zh) * | 2021-09-28 | 2021-12-24 | 国汽智控(北京)科技有限公司 | 自动驾驶控制方法、装置、设备、存储介质及程序产品 |
CN113835433B (zh) * | 2021-09-28 | 2024-09-06 | 国汽智控(北京)科技有限公司 | 自动驾驶控制方法、装置、设备、存储介质及程序产品 |
CN114398286A (zh) * | 2022-01-19 | 2022-04-26 | 腾讯科技(深圳)有限公司 | 自动化测试方法、装置、电子设备及存储介质 |
CN114584500A (zh) * | 2022-02-25 | 2022-06-03 | 网易(杭州)网络有限公司 | 异步通信的测试方法、装置及电子设备 |
CN114584500B (zh) * | 2022-02-25 | 2024-03-22 | 网易(杭州)网络有限公司 | 异步通信的测试方法、装置及电子设备 |
CN115333984A (zh) * | 2022-08-17 | 2022-11-11 | 卡斯柯信号有限公司 | 一种安全协议通信性能测试系统及方法 |
CN115333984B (zh) * | 2022-08-17 | 2023-10-31 | 卡斯柯信号有限公司 | 一种安全协议通信性能测试系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110083541B (zh) | 2024-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110083541A (zh) | 游戏测试方法、装置、计算机存储介质和电子设备 | |
CN105868111B (zh) | 移动终端游戏自动测试方法和装置 | |
CN109802852B (zh) | 应用于网络靶场的网络仿真拓扑的构建方法及系统 | |
CN106055470B (zh) | 游戏程序的性能测试方法、装置及系统 | |
CN108255727A (zh) | 数据接收、发送方法及装置,测试系统,存储介质 | |
CN108322551A (zh) | 基于家长端app对学习机端的管控方法及其管控系统 | |
CN112153010B (zh) | 一种网络安全靶场系统及其运行方法 | |
CN106528395A (zh) | 测试用例的生成方法及装置 | |
CN114338418B (zh) | 一种虚实结合的信息网络验证平台 | |
CN109413678A (zh) | 一种Wi-Fi模块自动测试方法及测试系统 | |
CN110989547A (zh) | 一种智能变电站一键顺控系统的检测方法及系统 | |
CN108399303A (zh) | 一种充电桩的模拟方法和装置 | |
CN103544095A (zh) | 服务器程序的监控方法及其系统 | |
CN108802511A (zh) | 一种电池管理单元的测试方法及系统 | |
CN105988904A (zh) | 一种自适应测试方法及系统 | |
CN109186666A (zh) | 设备的检测方法、装置、计算机设备和存储介质 | |
US20100057657A1 (en) | Intelligent problem tracking electronic system for optimizing technical support | |
CN107395456A (zh) | 分布式文件系统流直存测试方法及平台 | |
CN110471654A (zh) | 通信协议的云端开发系统及计算机软件程序产品 | |
CN109799385A (zh) | 硬件设备的功耗测试方法及系统 | |
CN109618148A (zh) | 基于机顶盒大屏自动化测试方法 | |
Fu et al. | Design of experiment platform for digital substation based on IEC 61850 | |
CN103701662A (zh) | 自动化测试终端仿真方法及仿真系统 | |
CN116737560A (zh) | 基于智能导控的智慧训练系统 | |
CN106470070B (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 |