CN112860579A - 业务测试方法、装置、存储介质及设备 - Google Patents
业务测试方法、装置、存储介质及设备 Download PDFInfo
- Publication number
- CN112860579A CN112860579A CN202110286976.XA CN202110286976A CN112860579A CN 112860579 A CN112860579 A CN 112860579A CN 202110286976 A CN202110286976 A CN 202110286976A CN 112860579 A CN112860579 A CN 112860579A
- Authority
- CN
- China
- Prior art keywords
- game
- test
- play
- character
- match
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 828
- 238000000034 method Methods 0.000 claims abstract description 226
- 230000008569 process Effects 0.000 claims abstract description 101
- 238000004088 simulation Methods 0.000 claims abstract description 81
- 238000004458 analytical method Methods 0.000 claims description 76
- 238000004891 communication Methods 0.000 claims description 39
- 238000011156 evaluation Methods 0.000 claims description 35
- 238000006243 chemical reaction Methods 0.000 claims description 34
- 238000004590 computer program Methods 0.000 claims description 13
- 239000011159 matrix material Substances 0.000 claims description 12
- 230000000452 restraining effect Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 34
- 239000013598 vector Substances 0.000 description 15
- 230000006870 function Effects 0.000 description 14
- 230000006378 damage Effects 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 7
- 230000015572 biosynthetic process Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000002068 genetic effect Effects 0.000 description 5
- 238000007405 data analysis Methods 0.000 description 4
- 238000012216 screening Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 208000027418 Wounds and injury Diseases 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 208000014674 injury Diseases 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000010998 test method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010223 real-time analysis Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/3684—Test management for test design, e.g. generating new test cases
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
本申请实施例公开了一种业务测试方法、存储介质及设备。方法包括:获取与游戏业务相关联的测试配置数据,根据测试配置数据对游戏业务中所包含的虚拟角色和角色技能进行组合,生成M个游戏对局测试用例;通过游戏业务对应的主进程,将M个游戏对局测试用例分发至N个子进程,通过游戏业务关联的模拟游戏组件,对N个子进程中的游戏对局测试用例进行测试,生成M个游戏对局测试用例分别对应的游戏对局测试结果。通过本申请,可以降低测试的人工成本,并提高测试效率。
Description
技术领域
本申请涉及测试技术领域,尤其涉及一种业务测试方法、装置、存储介质及设备。
背景技术
随着娱乐应用的飞速发展,游戏娱乐应用已经成为目前娱乐的一种主流应用,一款游戏娱乐应用在研发、运行等的过程中,对其提供的游戏业务服务进行测试,确定出现的缺陷并进行改善是必不可少的,以此更好的为游戏玩家提高较高的游戏体验感。
但目前游戏业务服务测试过程中通常采用人工测试的方法,对游戏中的虚拟角色进行人工组合,并为每个组合编写对应的测试用例,对于每个测试用例均需要进行人工测试。然而,由于游戏中的虚拟角色数量较多,使用人工方式对其进行组合时,需要花费大量的时间,进而造成测试的成本过高,且测试效率较低。
发明内容
本申请实施例所要解决的技术问题在于,提供一种业务测试方法、装置、存储介质及设备,可以降低人工成本,并提高测试效率。
本申请实施例一方面提供一种业务测试方法,包括:
获取与游戏业务相关联的测试配置数据,根据测试配置数据对游戏业务中所包含的虚拟角色和角色技能进行组合,生成M个游戏对局测试用例;
通过游戏业务对应的主进程,将M个游戏对局测试用例分发至N个子进程;主进程与N个子进程之间具有进程间通信通道,M、N均为正整数;
通过游戏业务关联的模拟游戏组件,对N个子进程中的游戏对局测试用例进行测试,生成M个游戏对局测试用例分别对应的游戏对局测试结果;游戏对局测试结果为虚拟角色和角色技能之间的匹配提供参考依据。
其中,获取与游戏业务相关联的测试配置数据,根据测试配置数据对游戏业务中所包含的虚拟角色和角色技能进行组合,生成M个游戏对局测试用例,包括:
响应测试页面中的上传操作,获取上传操作所确定的测试配置数据,在测试配置数据中获取与游戏业务相关联的虚拟角色和角色技能;
根据测试配置数据中的测试参数信息,对虚拟角色和角色技能进行随机组合,生成M个游戏对局测试用例。
其中,根据测试配置数据中的测试参数信息,对虚拟角色和角色技能进行随机组合,生成M个游戏对局测试用例,包括:
根据测试配置数据中的测试参数信息,对虚拟角色和角色技能进行随机组合,得到Q个候选游戏对局组合;Q为大于或等于M的正整数;
获取游戏业务对应的游戏对局条件,将Q个候选游戏对局组合中满足游戏对局条件的候选游戏对局组合,确定为M个游戏对局组合;
将M个游戏对局组合进行代码转换,生成M个游戏对局组合分别对应的游戏对局测试用例。
其中,根据测试配置数据对游戏业务中所包含的虚拟角色和角色技能进行组合,生成M个游戏对局测试用例,包括:
获取测试配置数据中的虚拟角色所对应的角色特征,获取测试配置数据中的角色技能所对应的技能特征;
将测试配置数据中的测试参数信息转换为测试参数特征,将角色特征、技能特征以及测试参数特征拼接为输入特征矩阵;
将输入特征矩阵输入至对局生成模型,通过对局生成模型输出虚拟角色和角色技能之间的组合评估值;
根据组合评估值,获取虚拟角色和角色技能之间的M个游戏对局组合,对M个游戏对局组合进行代码转换,生成M个游戏对局组合分别对应的游戏对局测试用例。
其中,通过游戏业务对应的主进程,将M个游戏对局测试用例分发至N个子进程,包括:
启动游戏业务对应的主进程,通过主进程创建并启动由测试用例数量M所确定的N个子进程;
根据主进程中的数据格式,对M个游戏对局测试用例分别进行数据转换,得到格式转换后的M个游戏对局测试用例;
通过主进程和N个子进程之间的进程间通信通道,将格式转换后的M个游戏对局测试用例,分发至N个子进程中的子线程;一个子线程对应一个游戏对局测试用例。
其中,通过游戏业务关联的模拟游戏组件,对N个子进程中的游戏对局测试用例进行测试,生成M个游戏对局测试用例分别对应的游戏对局测试结果,包括:
基于测试配置数据中的测试环境配置数据,对初始模拟组件进行环境更新,得到与游戏业务相匹配的模拟游戏组件;
通过模拟游戏组件对N个子进程中的游戏对局测试用例进行测试;
当主进程监听到N个子进程中的游戏对局测试用例处于结束状态时,通过主进程和N个子进程之间的进程间通信通道,从N个子进程中获取M个游戏对局测试用例分别对应的游戏对局测试结果。
其中,方法包括:
获取游戏业务对应的分析指标,根据分析指标对游戏对局测试结果进行分析,得到游戏对局测试结果对应的对局统计数值;分析指标至少包括胜利概率、优平率、战损比、虚拟角色出现次数、克制对手数量;
若对局统计数值满足统计阈值,则将满足统计阈值的对局统计数值所对应的游戏对局测试用例中的虚拟角色和角色技能,确定为有效游戏对局组合;
若对局统计数值不满足统计阈值,则将不满足统计阈值的对局统计数值所对应的游戏对局测试用例中的虚拟角色和角色技能,确定为无效游戏对局组合,在游戏业务中为无效游戏对局组合设置告警标识。
本申请实施例一方面提供一种业务测试装置,包括:
第一生成模块,用于获取与游戏业务相关联的测试配置数据,根据测试配置数据对游戏业务中所包含的虚拟角色和角色技能进行组合,生成M个游戏对局测试用例;
分发模块,用于通过游戏业务对应的主进程,将M个游戏对局测试用例分发至N个子进程;主进程与N个子进程之间具有进程间通信通道,M、N均为正整数;
第二生成模块,用于通过游戏业务关联的模拟游戏组件,对N个子进程中的游戏对局测试用例进行测试,生成M个游戏对局测试用例分别对应的游戏对局测试结果;游戏对局测试结果为虚拟角色和角色技能之间的匹配提供参考依据。
其中,第一生成模块包括:
第一获取单元,用于响应测试页面中的上传操作,获取上传操作所确定的测试配置数据,在测试配置数据中获取与游戏业务相关联的虚拟角色和角色技能;
第一生成单元,用于根据测试配置数据中的测试参数信息,对虚拟角色和角色技能进行随机组合,生成M个游戏对局测试用例。
其中,第一生成单元包括:
根据测试配置数据中的测试参数信息,对虚拟角色和角色技能进行随机组合,得到Q个候选游戏对局组合;Q为大于或等于M的正整数;
获取游戏业务对应的游戏对局条件,将Q个候选游戏对局组合中满足游戏对局条件的候选游戏对局组合,确定为M个游戏对局组合;
将M个游戏对局组合进行代码转换,生成M个游戏对局组合分别对应的游戏对局测试用例。
其中,第一生成模块包括:
第二获取单元,用于获取测试配置数据中的虚拟角色所对应的角色特征,获取测试配置数据中的角色技能所对应的技能特征;
输入单元,用于将测试配置数据中的测试参数信息转换为测试参数特征,将角色特征、技能特征以及测试参数特征拼接为输入特征矩阵;
输出单元,用于将输入特征矩阵输入至对局生成模型,通过对局生成模型输出虚拟角色和角色技能之间的组合评估值;
第二生成单元,用于根据组合评估值,获取虚拟角色和角色技能之间的M个游戏对局组合,对M个游戏对局组合进行代码转换,生成M个游戏对局组合分别对应的游戏对局测试用例。
其中,分发模块包括:
启动单元,用于启动游戏业务对应的主进程,通过主进程创建并启动由测试用例数量M所确定的N个子进程;
数据转换单元,用于根据主进程中的数据格式,对M个游戏对局测试用例分别进行数据转换,得到格式转换后的M个游戏对局测试用例;
分发单元,用于通过主进程和N个子进程之间的进程间通信通道,将格式转换后的M个游戏对局测试用例,分发至N个子进程中的子线程;一个子线程对应一个游戏对局测试用例。
其中,第二生成模块包括:
更新单元,用于基于测试配置数据中的测试环境配置数据,对初始模拟组件进行环境更新,得到与游戏业务相匹配的模拟游戏组件;
测试单元,用于通过模拟游戏组件对N个子进程中的游戏对局测试用例进行测试;
第三获取单元,用于当主进程监听到N个子进程中的游戏对局测试用例处于结束状态时,通过主进程和N个子进程之间的进程间通信通道,从N个子进程中获取M个游戏对局测试用例分别对应的游戏对局测试结果。
其中,装置还包括:
分析模块,用于获取游戏业务对应的分析指标,根据分析指标对游戏对局测试结果进行分析,得到游戏对局测试结果对应的对局统计数值;分析指标至少包括胜利概率、优平率、战损比、虚拟角色出现次数、克制对手数量;
第一确定模块,用于若对局统计数值满足统计阈值,则将满足统计阈值的对局统计数值所对应的游戏对局测试用例中的虚拟角色和角色技能,确定为有效游戏对局组合;
第二确定模块,用于若对局统计数值不满足统计阈值,则将不满足统计阈值的对局统计数值所对应的游戏对局测试用例中的虚拟角色和角色技能,确定为无效游戏对局组合,在游戏业务中为无效游戏对局组合设置告警标识。
本申请一方面提供了一种计算机设备,包括:处理器及存储器;
其中,存储器用于存储计算机程序,处理器用于调用上述计算机程序,以执行如下步骤:
获取与游戏业务相关联的测试配置数据,根据测试配置数据对游戏业务中所包含的虚拟角色和角色技能进行组合,生成M个游戏对局测试用例;
通过游戏业务对应的主进程,将M个游戏对局测试用例分发至N个子进程;主进程与N个子进程之间具有进程间通信通道,M、N均为正整数;
通过游戏业务关联的模拟游戏组件,对N个子进程中的游戏对局测试用例进行测试,生成M个游戏对局测试用例分别对应的游戏对局测试结果;游戏对局测试结果为虚拟角色和角色技能之间的匹配提供参考依据。
本申请实施例一方面提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,计算机程序当被处理器执行时,以执行如下步骤:
获取与游戏业务相关联的测试配置数据,根据测试配置数据对游戏业务中所包含的虚拟角色和角色技能进行组合,生成M个游戏对局测试用例;
通过游戏业务对应的主进程,将M个游戏对局测试用例分发至N个子进程;主进程与N个子进程之间具有进程间通信通道,M、N均为正整数;
通过游戏业务关联的模拟游戏组件,对N个子进程中的游戏对局测试用例进行测试,生成M个游戏对局测试用例分别对应的游戏对局测试结果;游戏对局测试结果为虚拟角色和角色技能之间的匹配提供参考依据。
本申请一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面中的方法。
本申请实施例中,通过获取与游戏业务相关联的测试配置数据,根据测试配置数据对游戏业务中所包含的虚拟角色和角色技能进行组合,生成M个游戏对局测试用例。通过游戏业务对应的主进程,将M个游戏对局测试用例分发至N个子进程,这样可以同时进行大量的游戏对局测试用例的测试,提高测试效率,并且可以降低人工成本。通过游戏业务关联的模拟游戏组件,对N个子进程中的游戏对局测试用例进行测试,生成M个游戏对局测试用例分别对应的游戏对局测试结果,通过模拟实际游戏运行环境生成模拟游戏组件,在模拟游戏组件便可以实现对游戏对局测试用例的测试,而不用外发至实际游戏客户端,可以提高测试效率和降低测试成本。通过本申请,可以降低人工成本,并提高测试效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种业务测试***的架构示意图;
图2是本申请实施例提供的一种业务测试方法的流程示意图;
图3是本申请实施例提供的一种获取测试配置数据方法的示意图;
图4是本申请实施例提供的一种获取测试配置数据的示意图;
图5是本申请实施例提供的一种生成游戏对局测试用例的示意图;
图6是本申请实施例提供的一种生成M个游戏对局测试用例分别对应的游戏对局测试结果的示意图;
图7是本申请实施例提供的一种业务测试方法的示意图;
图8是本申请实施例提供的一种业务测试的流程示意图;
图9是本申请实施例提供的一种获得游戏对局测试结果的示意图;
图10是本申请实施例提供的一种游戏对局测试结果对应的分析结果的示意图;
图11是本申请实施例提供的一种业务测试方法的示意图;
图12是本申请实施例提供的一种对游戏对局测试结果进行分析的示意图;
图13是本申请实施例提供的一种分析指标的示意图;
图14是本申请实施例提供的一种游戏对局测试结果分析方法的示意图;
图15是本申请实施例提供的一种优平率分析的示意图;
图16是本申请实施例提供的一种战损值分析的示意图;
图17是本申请实施例提供的一种游戏对局测试结果分析方法的示意图;
图18是本申请实施例提供的一种业务测试装置的结构示意图;
图19是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
见图1,图1是本申请实施例提供的一种业务测试***的结构示意图。如图1所示,该业务测试***可以包括服务器10和用户终端集群。该用户终端集群可以包括一个或者多个用户终端,这里将不对用户终端的数量进行限制。如图1所示,具体可以包括用户终端100a、用户终端100b、用户终端100c、…、用户终端100n。如图1所示,用户终端100a、用户终端100b、用户终端100c、…、用户终端100n可以分别与上述服务器10进行网络连接,以便于每个用户终端可以通过该网络连接与服务器10进行数据交互。
其中,该用户终端集群中的每个用户终端均可以包括:智能手机、平板电脑、笔记本电脑、桌上型电脑、可穿戴设备、智能家居、头戴设备等具有业务测试的智能终端。应当理解,如图1所示的用户终端集群中的每个用户终端均可以安装有目标应用(即应用客户端),当该应用客户端运行于各用户终端中时,可以分别与上述图1所示的服务器10之间进行数据交互。
其中,如图1所示,服务器10可以根据用户终端发送的与游戏业务相关联的测试配置数据,对游戏业务中所包含的虚拟角色和角色技能进组合,生成M个游戏对局测试用例。服务器10还可以通过游戏业务对应的主进程,将M个游戏对局测试用例分发至N个子进程,并通过游戏业务对应的模拟游戏组件,对N个子进程中的游戏对局测试用例进行测试,生成M个游戏对局测试用例分别对应的游戏对局测试结果。该服务器10可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
为便于理解,本申请实施例可以在图1所示的多个用户终端中选择一个用户终端作为目标用户终端,该目标用户终端可以包括:智能手机、平板电脑、笔记本电脑、桌上型电脑、智能电视等携带业务测试功能的智能终端。例如,本申请实施例可以将图1所示的用户终端100a作为目标用户终端,该目标用户终端中可以集成有具备该业务测试功能的应用客户端(此时的应用客户端可以理解为测试工具)。其中,目标用户终端(例如,用户终端100a)可以为测试人员所使用的用户终端。举例来说,用户终端100a可以响应测试人员在应用客户端中的上传操作,将测试人员上传的材料确定为与游戏业务相关联的测试配置数据,即获取上传操作所确定的测试配置数据。用户终端100a获取到测试配置数据后,可以将测试配置数据发送至服务器10,此时的服务器10可以理解为上述应用客户端对应的后台服务器,即测试工具对应的后台服务器。服务器10接收到用户终端100a发送的测试配置数据后,可以根据测试配置数据对游戏业务中所包含的虚拟角色和角色技能进行组合,生成M个游戏对局测试用例。服务器10还可以通过游戏业务对应的主进程,将M各游戏对局测试用例分发至N个子进程,通过与游戏业务关联的模拟游戏组件,对N个子进程中的游戏对局测试用例进行测试,生成M个游戏对局测试用例分别对应的游戏对局测试结果。
请参见图2,图2是本申请实施例提供的一种业务测试方法的流程示意图。该业务测试方法可由计算机设备执行,该计算机设备可以为服务器(如上述图1中的服务器10),或者用户终端(如上述图1的用户终端集群中的任一用户终端),或者为服务器和用户终端组成的***,本申请对此不做限定。如图2所示,该业务测试方法可以包括步骤S101-S103。
S101,获取与游戏业务相关联的测试配置数据,根据测试配置数据对游戏业务中所包含的虚拟角色和角色技能进行组合,生成M个游戏对局测试用例。
具体的,在游戏应用的开发过程中,不管是全新的游戏应用,还是更新游戏版本,均需要对其进行测试,以减少游戏应用中的缺陷。在游戏应用的测试过程中,测试人员可以对计算机设备中所集成的测试工具(如上述应用客户端)执行启动操作,计算机设备响应针对测试工具的启动操作,启动该计算机设备中的测试工具并进入该测试工具的测试页面,测试人员可以将与游戏业务相关联的测试配置数据上传至上述测试页面。当测试配置数据上传成功后,计算机设备可以获取测试人员上传的与游戏业务相关联的测试配置数据,该测试配置数据可以包括测试环境配置数据(即游戏业务运行所需要的运行环境配置数据),以及与游戏业务相关的虚拟角色和角色技能,还可以包括测试任务类型、测试任务名称、测试次数以及虚拟角色与角色技能之间组合的数量等等测试参数信息。
计算机设备可以根据测试配置数据对游戏业务中所包含的虚拟角色和角色技能进行组合,生成M个游戏对局测试用例。其中,虚拟角色可以是指由游戏玩家在进行游戏娱乐时,在游戏场景中控制的虚拟的角色,如游戏玩家可以控制某游戏场景中的“妲己”角色向前移动,该“妲己”为虚拟角色,角色技能是指虚拟角色可以携带的技能,如“妲己”携带一个“点控”的技能时,在游戏场景中,妲己可以使用该技能控制住对手,使对手被冻住且不能发出任何技能。其中,一个游戏对局测试用例中可以包括至少两个战队,每个战队可以包括一个或者多个虚拟角色和角色技能,每个战队之间为竞争或者对决关系。例如,测试配置数据规定每个组合中的虚拟角色数量为6个,一个组合包括两个战队,两个战队均包括3个虚拟角色,每个虚拟角色包括a个角色技能,其中,a可以为正整数,如a可以取值为1,2,3,…..;这样,便可以对测试配置数据所提供的所有虚拟角色和所有角色技能,按照上述规定进行组合,生成多个游戏对局测试用例。
可选的,生成M个游戏对局测试用例的具体方式可以包括:响应测试页面中的上传操作,获取上传操作所确定的测试配置数据,在测试配置数据中获取与游戏业务相关联的虚拟角色和角色技能。根据测试配置数据中的测试参数信息,对虚拟角色和角色技能进行随机组合,生成M个游戏对局测试用例。
具体的,测试人员可以在本申请实施例所提供的测试页面中上传与游戏业务相关联的测试配置数据,计算机设备可以响应测试人员在测试页面中的上传操作,获取该上传操作所确定的测试配置数据,在测试配置数据中获取与游戏业务相关联的虚拟角色以及角色技能。根据测试配置数据中的测试参数信息,对虚拟角色和角色技能进行随机组合,生成M个游戏对局测试用例。该测试参数信息可以包括测试任务类型、测试任务名称、测试次数以及虚拟角色与角色技能之间组合的数量等信息。如游戏对局测试用例中每个战队中所包含的虚拟角色的数量为6个,以及每个虚拟角色可以携带的角色技能可以为3个等参数信息。
如图3所示,图3是本申请实施例提供的一种获取测试配置数据方法的示意图,如图3所示,测试页面中展示了测试人员添加的测试任务的相关信息,在图3展示的测试页面中,测试人员可以实施上传与游戏业务相关联的测试配置数据的上传操作,如点击“添加转测版本(测试配置数据)”按钮,本申请实施例中的计算机设备可以响应测试人员在测试页面中的上传操作,获取上传操作所确定的测试配置数据,即生成新的测试任务。如图3所示,测试页面中还提供了测试人员创建完成的测试任务,如版本号为“548”对应的版本名为小范围-*****,其对应的版本说明为“数值平衡性分析”,以及其创建时间为“2020.12.10”,“548”是一个测试任务对应的版本号,为测试人员创建的一次测试任务。如图3所示,测试人员可以在测试页面中实施针对“548”测试任务启动的触发操作,即点击“任务开始”,本申请实施例中的计算机设备可以响应测试人员的触发操作,对“548”测试任务进行测试,得到测试结果。当然,当不需要测试任务时,测试人员也可以点击“删除”触键,将测试任务“548”测试任务删除。
如图4所示,图4是本申请实施例提供的一种获取测试配置数据的示意图,如图4所示,当测试人员在图3中实施上传测试配置数据的上传操作后,即点击“添加转测版本”后,计算机设备可以进行页面跳转,跳转至如图4所示的测试页面,测试人员可以在如图4所示的测试页面中输入与游戏业务相关联的测试配置数据的具体信息。如图4所示,测试人员可以选定当前测试任务对应的任务类型,如制定阵容PK(对决)、启动分析或者**测试,还可以设置当前任务对应的名称备注等等测试参数信息,该测试参数信息可以根据具体需求进行设置。测试人员还可以触发“+上传配置文件”触键,上传与游戏业务相关联的测试配置数据,该测试配置数据中包括了游戏业务的运行环境以及游戏业务中所包含的虚拟角色以及角色技能等等相关信息。当测试人员添加完所有的测试配置数据后,可以触发“确定并生成任务”触键,计算机设备可以测试人员输入的测试配置数据生成一次测试任务。并根据该测试任务,在测试配置数据中获取与游戏业务相关联的虚拟角色和角色技能,根据测试配置数据中的测试参数信息,对虚拟角色和角色技能进行随机组合,生成M个游戏对局测试用例。
可选的,计算机设备根据测试配置数据中的测试参数信息,对虚拟角色和角色技能进行随机组合,生成M个游戏对局测试用例的具体方式可以包括:根据测试配置数据中的测试参数信息,对虚拟角色和角色技能进行随机组合,得到Q个候选游戏对局组合,Q为大于或等于M的正整数。获取游戏业务对应的游戏对局条件,将Q个候选游戏对局组合中满足游戏对局条件的候选游戏对局组合,确定为M个游戏对局组合,将M个游戏对局组合进行代码转换,生成M个游戏对局组合分别对应的游戏对局测试用例。
具体的,计算机设备可以根据测试配置数据中的测试参数信息,对游戏业务中的虚拟角色以及角色技能进行随机组合,得到Q个候选游戏对局组合,并获取游戏业务对应的游戏对局条件,将Q个候选游戏对局组合中满足游戏对局条件的候选游戏对局组合,确定为M个游戏对局组合。该游戏对局条件可以是指本次测试任务中只关注的游戏对局组合条件,如本次测试任务只关注某种方式的游戏对局组合,则可以将出某种方式的游戏对局组合之外的游戏对局组合剔除,可以有效提高测试效率,此时的游戏对局条件可以是指基于具体游戏场景或特定测试目的进行自定义设置的筛选条件。计算机设备得到M个游戏对局组合,将M个游戏对局组合进行代码转换,生成M个游戏对局组合分别对应的游戏对局测试用例。其中,计算机设备可以通过自动化测试用例生成工具,生成M个游戏对局测试用例。
例如,计算机设备可以采用Blob编码,对M个游戏对局组合进行代码转换,生成M个游戏对局组合分别对应的游戏对局测试用例,以此压缩游戏对局测试用例的大小,便于传输并节省存储空间。Blob是指一个不可变、原始数据的类文件对象,它的数据可以按文本或二进制的格式进行读取,也可以转换成数据接口来用于数据操作。如计算机设备可以通过计算机编程语言实现自动化测试用例生成工具,并在自动化测试用例生成工具中,将游戏业务中的虚拟角色以及角色技能,根据游戏对局条件,生成M个游戏对局测试用例。其中,计算机编程语言可以包括Python(一种计算机编程语言,可以用于编写测试任务的运行脚本)、C语言(一种面向过程的、抽象化的通用程序设计语言)、Java(一种静态面向对象编程语言)等等。
例如,测试配置数据中包括虚拟角色J和虚拟角色P两个角色,还包括角色技能1和角色技能2,若测试配置数据中规定每个游戏对局组合包括两个战队,每个战队均包括一个虚拟角色,每个虚拟角色包括1个角色技能,则根据测试配置数据中的规定,对测试配置数据中所有的虚拟角色和角色技能进行随机组合,得到多个游戏对局测试用例。其中,对测试配置数据中所有的虚拟角色和角色技能进行随机组合,即对虚拟角色J、虚拟角色P、角色技能1、角色技能2进行随机组合,得到游戏对局组合(J-1,J-1),(J-1,J-2),(J-2,J-1),(J-2,J-2),(P-1,P-1),(P-1,P-2),(P-2,P-1),(P-2,P-2),(J-1,P-1),(J-2,P-1),(J-1,P-2),(J-2,P-2)16个候选游戏对局组合。若根据游戏业务对应的游戏对局条件确定候选游戏对局组合(J-1,J-1)、(J-2,J-2)、(P-1,P-1)、(P-2,P-2)不符合要求,则将16个候选游戏对局组合中满足游戏对局条件的候选游戏对局组合(J-1,J-2),(J-2,J-1),(P-1,P-2),(P-2,P-1),(J-1,P-1),(J-2,P-1),(J-1,P-2),(J-2,P-2),(J-2,P-2)确定为游戏对局组合,将12个游戏对局组合进行代码转换,生成12个游戏对局组合分别对应的游戏对局测试用例。其中,游戏对局组合(J-1,J-2)包括战队J-1和战队J-2,战队J-1包括携带角色技能1的虚拟角色J,战队J-2包括携带角色技能2的虚拟角色J。
如图5所示,图5是本申请实施例提供的一种生成游戏对局测试用例的示意图,图5展示了一个游戏对局测试用例中一个队伍的虚拟角色以及角色技能之间的组合以及ID(标识号)等等相关信息。其中,一个游戏对局测试用例中可以包括两只队伍,该两只队伍为竞争或者对决关系,如图5所示,每只队伍中包括三个虚拟角色,每个虚拟角色可以包括2个技能。如图5所示,可以设置对应的编码值为“等级”,对应的“值检查”设置为“不检查”,这样在测试的时候可以不考虑每个虚拟角色的等级,对每个虚拟角色以及每个虚拟角色的技能设置为检查,这样在进行测试的时候,可以对每个虚拟角色以及角色技能进行检查,确定是否符合游戏对局条件,以此对游戏业务中的虚拟角色以及角色技能进行组合以及设置相关信息,生成游戏对局测试用例。
可选的,生成M个游戏对局测试用例的具体方式还可以包括:获取测试配置数据中的虚拟角色所对应的角色特征,获取测试配置数据中的角色技能所对应的技能特征。将测试配置数据中的测试参数信息转换为测试参数特征,将角色特征、技能特征以及测试参数特征拼接为输入特征矩阵,将输入特征矩阵输入至对局生成模型,通过对局生成模型输出虚拟角色和角色技能之间的组合评估值。根据组合评估值获取虚拟角色和角色技能之间的M个游戏对局组合,对M个游戏对局组合进行代码转换,生成M个游戏对局组合分别对应的游戏对局测试用例。其中,对局生成模型是采用大量样本游戏对局组合数据,以及大量样本游戏对局组合分别对应的标签数据训练完成的,样本游戏对局组合所对应的标签数据可以包括0和1,当标签数据为0时,对应的样本游戏对局组合可以为无效游戏对局组合;当标签数据为1时,对应的样本游戏对局组合可以为有效游戏对局组合,训练完成的对局生成模型可以用于预测虚拟角色和角色技能之间的组合评估值;当然,样本游戏对局组合对应的标签数据还可以使用其余的数字或符号进行表示,本申请对标签数据的类型不做具体限定。
其中,计算机设备可以获取测试配置数据中所包含的虚拟角色和所有角色技能,由于测试配置数据中的虚拟角色和角色技能是以编号的形式进行表示的,因此需要将虚拟角色和角色技能均转换为向量形式,将虚拟角色转换为向量形式后,可以将此时的向量形式称为角色特征;将角色技能转换为向量形式后,此时的向量形式可以称为技能特征。其中,对虚拟角色和角色技能进行向量转换的方式可以包括但不限于:采用独热码(one-hotcode)对虚拟角色和角色技能进行向量转换,得到虚拟角色所对应的角色特征,以及角色技能所对应的技能特征,独热码是指只有一个比特位为1,其他比特位全为0的一种码制,即使用N位状态寄存器来对N个状态进行编码,每个状态都为独立的寄存器位,并且在任意时候,其中只有一位有效。另外,计算机设备还可以LabelEncoder编码,对虚拟角色和角色技能进行向量转换,得到虚拟角色所对应的角色特征,以及角色技能所对应的技能特征。LabelEncoder编码可以对虚拟角色和角色技能进行编码,得到的编码值在0到n-1之间,这里n是一个列表的不同取值的个数,可以认为是某个特征(如虚拟角色或者角色技能)的所有不同取值的个数。同理,可以采用上述相同的方式,将测试配置数据中的测试参数信息转换为测试参数特征。进而可以将角色特征、技能特征以及测试参数特征拼接为输入特征矩阵,将输入特征矩阵输入至对局生成模型,通过对局生成模型输出虚拟角色和角色技能之间的组合评估值,根据组合评估值对由虚拟角色和角色技能所确定的组合进行筛选,即将组合评估值小于第一阈值的组合进行删除,仅保留组合评估值大于或等于第一阈值的组合,以得到M个游戏对局组合。
其中,组合评估值可以是指对局生成模型输出的针对虚拟角色和角色技能之间的组合概率,该组合评估值可以作为对虚拟角色和角色技能之间进行组合的参考依据,用于对虚拟角色和角色技能之间的组合进行初步筛选;组合评估值越大,可以表示为该组合评估值所对应的组合在实际游戏中的玩家体验感可能越强,如该组合评估值所对应的组合中的两个战队的能力可能比较平均;组合评估值越小,可以表示为该组合评估值所对应的组合在实际游戏中的玩家体验感较差,如该组合评估值所对应的组合中的一个战队在多次测试(如100次)中可能总是赢,另一个战队可能总是输。
如上述举例,测试配置数据中包括虚拟角色J和虚拟角色P两个角色,以及角色技能1和角色技能2两个技能,计算机设备可以将虚拟角色J和虚拟角色P分别对应的角色特征向量、角色技能1和角色技能2分别对应的技能特征向量、以及测试配置数据中的测试参数信息对应的测试参数特征向量,输入对局生成模型中,在对局生成模型中可以对虚拟角色和角色技能进行组合,并输出每个组合分别对应组合评估值,如测试参数信息中规定每个组合包括两个战队,一个战队包括一个虚拟角色,一个虚拟角色可以携带一个角色技能,通过对局生成模型可以输出上述16个候选游戏对局组合分别对应的组合评估值,进而可以根据组合评估值确定对局游戏组合。假设将如候选游戏对局组合(J-1,J-1)的组合评估值为0.1,候选游戏对局组合(J-1,P-1)的组合评估值为0.7,当第一阈值设置为0.5(可以根据具体需求进行人为设置)时,由于候选游戏对局组合(J-1,J-1)的组合评估值0.1小于第一阈值0.5,可以确定候选游戏对局组合(J-1,J-1)为无效游戏对局组合,即可以将候选游戏对局组合(J-1,J-1)进行删除;由于候选游戏对局组合(J-1,P-1)的组合评估值0.7大于第一阈值0.5,可以确定候选游戏对局组合(J-1,P-1)为有效游戏对局组合(即上述M个游戏对局组合中的其中一个)。
可选的,计算机设备可以将测试配置数据中所包含的所有虚拟角色和角色技能进行随机组合,得到Q个候选游戏对局组合,进而可以将每个候选游戏对局组合中的虚拟角色对应的角色特征向量和角色技能对应的技能特征向量进行拼接,得到每个候选游戏对局组合分别对应的输入向量,将输入向量输入至对局生成模型,通过对局生成模型输出每个候选游戏对局组合分别对应的组合评估值,根据组合评估值对Q个候选游戏对局组合进行筛选(将组合评估值小于上述第一阈值的候选游戏对局组合进行删除),得到M个游戏对局组合。
可选的,计算机设备还可以通过遗传算法对虚拟角色和角色技能进行组合,得虚拟角色与角色技能之间的M个游戏对局组合。使用遗传算法生成M个游戏对局组合的具体过程为:计算机设备可以对游戏业务中的虚拟角色以及角色技能进行编码(如二进制编码),得到编码后的虚拟角色和角色技能,即仿照生物遗传算法的基因编码。根据测试参数信息,以及模拟生物遗传学中的交叉、变异,对编码后的虚拟角色以及角色技能进行组合,得到Q个候选游戏对局组合,并通过适应性函数对Q个候选游戏对局组合进行适应性评估,得到每个游戏对局组合对应的组合适应度。其中,若虚拟角色以及角色技能之间的游戏对局组合存在历史对局记录时,可以根据历史对局记录确定虚拟角色与角色技能之间的适应性函数。根据虚拟角色和角色技能之间的组合适应度,通过组合选择函数对虚拟角色和角色技能之间的Q个候选游戏对局组合进行剔除,如将虚拟角色和角色技能之间的组合适应度,作为组合选择函数中的一个变量值进行计算,得到虚拟角色与角色技能之间的参考值。
具体的,计算机设备确定虚拟角色与角色技能之间的参考值后,根据虚拟角色与角色技能之间的参考值,对Q个候选游戏对局组合进行筛选,得到M个游戏对局测试用例。如当虚拟角色与角色技能之间的参考值小于第二阈值(可以根据具体需求进行设置)时,则将其剔除,如虚拟角色B与角色技能c之间的参考值小于0.05时,则将该虚拟角色B与角色技能c对应的游戏对局组合剔除;若虚拟角色与角色技能之间的参考值大于或者等于第二阈值(可以根据具体需求进行设置)时,则将虚拟角色与角色技能之间的游戏对局组合确定游戏对局测试用例;若虚拟角色与角色技能之间的参考值小于第二阈值(可以根据具体需求进行设置)时,则将虚拟角色与角色技能之间的游戏对局组合剔除,如虚拟角色B与角色技能c之间的参考值为0.7时,大于第二阈值0.4,则将该虚拟角色B与角色技能c对应的游戏对局组合确定为游戏对局测试用例;若虚拟角色B与角色技能c之间的参考值为0.05时,小于第二阈值0.4,则将该虚拟角色B与角色技能c对应的游戏对局组合剔除。
S102,通过游戏业务对应的主进程,将M个游戏对局测试用例分发至N个子进程。
具体的,计算机设备确定M个游戏对局测试用例后,可以通过游戏业务对应的主进程,将M个游戏对局测试用例分发至主进程中的N个子进程,以使N个子进程对M个游戏对局测试用例进行测试,得到测试结果。其中,主进程与N个子进程之间具有进程间通信通道,如主进程与子进程之间共享同一内存空间,并通过共享内存空间进行通信。
可选的,计算机设备通过游戏业务对应的主进程,将M个游戏对局测试用例分发至N个子进程的具体方式可以包括:启动游戏业务对应的主进程,通过主进程创建并启动由测试用例数量M所确定的N个子进程。根据主进程中的数据格式,对M个游戏对局测试用例分别进行数据转换,得到格式转换后的M个游戏对局测试用例。通过主进程和N个子进程之间的进程间通信通道,将格式转换后的M个游戏对局测试用例,分发至N个子进程中的子线程,一个子线程对应一个游戏对局测试用例。
具体的,计算机设备生成M个游戏对局测试用例后,可以启动游戏业务对应的主进程,游戏业务对应的主进程启动后,可以根据M个游戏对局测试用例对应的测试用例数量M确定需要启动的子进程的数量N,根据需要启动的子进程的数量N,创建用于执行M个游戏对局测试用例的N个子进程。同时,可以根据主进程中的数据格式,对M个游戏对局测试用例进行解析,对解析后的M个游戏对局测试用例分别进行数据转换,得到格式转换后的M个游戏对局测试用例。如在自动化测试用例生成工具中,采用Blob的二进制编码对M个游戏对局测组合进行编码,对M个游戏对局组合进行压缩,生成M个游戏对局测试用例,当主进程接收到M个游戏对局测试用例后,需要对该M个游戏对局测试用例进行解析,并将编码压缩后的M个游戏对局测试用例,数据转换为主进程可以识别的格式转换后的M个游戏对局测试用例。
游戏业务对应的主进程可以通过主进程与N个子进程之间的进程间通信通道,将格式转换后的M个游戏对局测试用例,分发至N个子进程。N个子进程中的每个子进程可以根据其包含游戏对局测试用例的数量,创建各个子进程中的子线程,并将游戏对局测试用例分发给各个子线程,一个子线程对应一个游戏对局测试用例。如主进程根据子进程的运行负载相关信息,将6个游戏对局测试用例分发给子进程P,子进程P根据游戏对局测试用例的数量“6”创建6个子线程,将将6个游戏对局测试用例分发给6个子线程,即一个游戏对局测试用例对应的一个子线程。其中,主进程与N个子进程之间可以通过共享内存进行通信,主进程可以定时获取N个子进程对游戏对局测试用例的执行状态(如通过共享内存获取),并通过测试页面向测试人员进行展示。
后续主进程还可以通过Websocket(一种在单个TCP(Transmission ControlProtocol,是一种面向连接的、可靠的、基于字节流的传输层通信协议)连接上进行通信的协议,可以使客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据),或者通过DB(Data Base,是按一定结构组织并长期存储在计算机内的、可共享的大量数据的有机集合),实时向计算机设备对应的控制端(用于监控各个进程执行游戏对局测试用例的执行进度)发送当前执行游戏对局测试用例的执行情况。
S103,通过与游戏业务关联的模拟游戏组件,对N个子进程中的游戏对局测试用例进行测试,生成M个游戏对局测试用例分别对应的游戏对局测试结果。
具体的,计算机设备可以通过与游戏业务关联的模拟游戏组件,对N个子进程中的游戏对局测试用例进行测试,生成M个游戏对局测试用例分别对应的游戏对局测试结果。与游戏业务关联的模拟游戏组件包括模拟游戏业务对应的运行环境,可以模拟实际游戏玩家的操作,在模拟游戏组件提供的游戏运行环境中对游戏测试用例进行测试,得到测试结果。该模拟游戏组件是根据测试人员输入的测试配置数据中获得,并根据每次测试任务的需求,在计算机设备对应的后台进行更新。需要说明的是,本申请实施例中的模拟游戏组件是本申请实施例中的计算机设备中,模拟实际游戏运行服务器生成的模拟运行环境,即模拟的客户端,在计算机设备中执行游戏对局测试用例的测试,即在计算机设备所处的客户端执行游戏对局测试用例的测试,并不是外部的客户端,为计算机设备中内部的虚拟客户端。
可选的,计算机设备过游戏业务关联的模拟游戏组件,对N个子进程中的游戏对局测试用例进行测试,生成M个游戏对局测试用例分别对应的游戏对局测试结果的具体方式可以包括:基于测试配置数据中的测试环境配置数据,对初始模拟组件进行环境更新,得到与游戏业务相匹配的模拟游戏组件。通过模拟游戏组件对N个子进程中的游戏对局测试用例进行测试,当主进程监听到N个子进程中的游戏对局测试用例处于结束状态时,通过主进程和N个子进程之间的进程间通信通道,从N个子进程中获取M个游戏对局测试用例分别对应的游戏对局测试结果。
具体的,计算机设备可以基于测试配置数据中的测试环境配置数据,即游戏业务对应的测试运行环境数据(如游戏业务对应的安装数据包),对初始模拟组件进行环境更新,得到与游戏业务相匹配的模拟游戏组件,即将初始模拟组件更换成本次测试任务所需要的模拟游戏组件。通过模拟游戏组件对N个子进程中的游戏对局测试用例进行测试,当主进程监听到N个子进程中的游戏对局测试用例的执行情况处于结束状态时,通过主进程与N个子进程之间的进程间通信通道(如通过共享内存),从N个子进程中获取M个游戏对局测试用例分别对应的游戏对局测试结果。
具体的,计算机设备通过模拟游戏组件对N个子进程中的游戏对局测试用例进行测试时,可以根据模拟游戏组件对应的运行负载情况,对N个子进程中的游戏对局测试用例进行测试。即N个子进程按顺序向模拟游戏组件进行发包,若当前发包的模拟游戏组件的负载已满或者即将用满时,则向下一个模拟游戏组件进行发包,直到将N个游戏对局测试用例发包完成。如当前有100个子进程,每个模拟游戏组件对应的运行负载为10个子进程,则需要10个模拟游戏组件对100个子进程中的游戏对局测试用例进行测试。当然,也可以根据具体情况确定子进程与模拟游戏组件之间的对应关系。当模拟游戏组件对游戏对局测试用例测试结束时,对应的子进程可以从模拟游戏组件中获取游戏对局测试用例对应的游戏对局测试结果,并将该游戏对局测试结果通过通信通道发送给主进程,以此获得M个游戏对局测试用例对应的游戏对局测试结果。其中,计算机设备可以对游戏对局测试结果进行分析,为游戏业务中的虚拟角色以及角色技能之间的匹配提供参考依据。
如图6所示,图6是本申请实施例提供的一种生成M个游戏对局测试用例分别对应的游戏对局测试结果的示意图,如图6所示,当计算机设备生成M个游戏对局测试用例时,并启动游戏业务对应的主进程,主进程根据游戏对局测试用例的数量M创建并启动N个子进程,并将M个游戏对局测试用例分发至N个子进程。如图6所示,N个子进程中每个子进程根据各自所拥有的游戏对局测试用例的数量创建对应的连接(即子线程),一个游戏对局测试用例对应一个连接(即子线程)。子进程可以根据其创建的连接(即子进程)向模拟游戏组件(即计算机设备内部的模拟游戏客户端)发包,并接受模拟游戏组件对游戏对局测试用例的测试结果。主进程可以通过通信通道实时监控各个子进程执行游戏对局测试用例的情况,当每个子进程中对应的游戏对局测试用例测试完成时,主进程可以通过通信通道对N个子进程中游戏对局测试用例对应的游戏对局测试结果进行汇总。
如图7所示,图7是本申请实施例提供的一种业务测试方法的示意图,如图7所示,计算机设备获取游戏业务对应的测试配置数据后,可以通过自动化用例生成器,通过根据测试配置数据中的测试环境配置数据以及测试参数信息,对测试配置数据中的虚拟角色以及角色技能进行组合,生成Q个候选游戏对局组合,并对该Q个候选游戏对局组合进行筛选,生成M个游戏对局组合。通过自动化用例生成器,对M个游戏对局组合进行编码,生成M个游戏对局测试用例。生成M个游戏对局测试用例后,可以通过用例高并发执行器中的用例解析器,对该M个游戏对局测试用例进行解析,将M个游戏对局测试用例转换为高并发执行器可以识别的数据格式,并通过高并发发包器,对M个游戏对局测试用例进行发包,将M个游戏对局测试用例发送至模拟游戏组件(该模拟游戏组件为计算机设备内部的模拟游戏运行端),通过模拟游戏组件,正常模拟游戏业务对应的对局战斗,剥离多余的战斗逻辑(即不执行与本次任务不相关的战斗逻辑)、减少前置操作(即操作执行一些游戏战斗上下文和战斗实际无关的判断条件,比如判断虚拟角色是否需要足有体力,是否需要有特定战斗道具等限制战斗进入条件,但是该判断条件和实际战斗数值无关)。
当游戏对局测试用例测试完毕时,将游戏对局测试用例对应的游戏对局测试结果返回给对应的子进程,当主进程通过通信通道监听到各个子进程对游戏对局测试用例执行完毕,则对各个子进程中游戏对局测试用例对应的游戏对局测试结果进行汇总,获得M个游戏对局测试用例对应的游戏对局测试结果。计算机设备可以通过数据分析平台,根据数据分析平台中设置的分析指标,对M个游戏对局测试结果进行分析,得到分析结果,并对该分析结果进行可视化,即向测试人员展示该分析结果,以使测试人员或者相关设备根据该分析结果为虚拟角色和角色技能之间的匹配提供参考依据。
其中,本申请实施例的可扩展性强,可以灵活部署,各个组件(如自动化用例生成器、高并发执行器、模拟游戏组件、数据分析平台)之间相互独立,可以通过网络协议进行通信。同时本申请实施例还可以实现消息队列,同时进行大量的游戏对局测试用例的执行,以及对每个游戏对局测试用例的执行状态进行可视化,如创建守护监听进程,发包工具(如主进程、子进程)与监听守护进程之间通过TCP(Transmission Control Protocol,是一种面向连接的、可靠的、基于字节流的传输层通信协议)实现双向通信,守护监听进程通过Websocket(一种在单个TCP(Transmission Control Protocol,是一种面向连接的、可靠的、基于字节流的传输层通信协议)连接上进行通信的协议,可以使客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据)与测试页面实现双向通信,以此将游戏对局测试用例的测试状态向测试人员进行显示。
其中,由于游戏业务中游戏对局组合较多,本申请实施例利用高并发执行器可以高性能、高并发、可扩展,可以提高游戏业务测试效率。同时,在游戏对局测试用例对应的测试包较多时,可能发包的过程较长,在特殊情况下,可以暂停发包,也可以中断发包,在合适的时候继续,避免由于特殊原因(如服务器宕机、网络中断),需要重新执行已执行过的游戏对局测试用例。另外,本方案实施例还可以对发包的速率进行调控,如在外网可能出现安全限制,或者流量限制,可以对发包的速率进行调控。另外,本申请实施例能够支持任意游戏协议(即与游戏业务相关联的测试环境配置数据)的协议,可以根据任意游戏协议对初始模拟组件进行更新,得到与游戏业务相匹配的模拟游戏组件,即每次游戏协议更新后,只需要在后台替换掉原来的游戏协议,而不用编写代码、编译工程。本方案该可以支持TCP、UDP(User Datagram Protocol,一种无需建立连接就可以进行发包的通信协议)等通信协议,也可以自由配置。其中,不同测试任务所对应不同版本的Protobuf协议,本申请实施例可以支持至少Protobuf2协议和Protobuf3协议,Protobuf协议是指是一种语言无关、平台无关、可扩展的序列化结构数据的方法,用于(数据)通信协议、数据存储等。Protobuf协议可用于对本方案生成的游戏对局测试用例等数据,进行结构数据或对象转换成能够被存储和传输(例如网络传输)的格式,如可以将M个游戏对局测试用例进行数据结构转换,将M个游戏对局测试用例转换成能够被存储和传输(例如网络传输)的格式,以此将格式转换后的M个游戏对局测试用例分发至N个子进程中,并在虚拟游戏组件中,对格式转换后的M个游戏对局测试用例进行测试,得到M个游戏对局测试用例对应的测试结果。
如图8所示,图8是本申请实施例提供的一种业务测试的流程示意图,如图8所示,测试人员在对应的测试页面中,上传游戏业务对应的测试配置数据至测试服务器(即计算机设备),并启动测试任务后,测试服务器可以根据测试人员输入的测试配置数据生成测试任务,在对象1中,根据相关算法(如遗传算法,可以参看步骤S101所描述的具体内容),生成游戏对局测试用例。并启动主进程,通过主进程中的子进程对游戏对局测试用例进行测试,并通过共享内存(即数据库)检查游戏对局测试用例是否执行。对象1将游戏对局测试用例以及游戏测试协议(即游戏环境配置数据)发送给对象2,对象2可以基于游戏测试协议对初始模拟组件进行更新,得到与游戏业务匹配的模拟游戏组件,并在模拟游戏组件中,生成游戏对局测试用例对应的游戏对局测试结果。主进程可以实时获取各个子进程中游戏对局测试用例的执行进度,并将该执行进度上报给测试服务器,实时对游戏对局测试用例的执行情况进行监听。对象2得到游戏对局测试用例对应的游戏对局测试结果后,将游戏对局测试结果发送给对象1,由对象1对游戏对局测试结果进行分析,并通过测试服务器,对游戏对局测试结果进行存储、展示,测试人员可以在服务器提供的测试页面中查看游戏对局测试结果。
如图9所示,图9是本申请实施例提供的一种获得游戏对局测试结果的示意图,如图9所示,计算机设备可以获取测试人员输入的测试配置数据901,通过对测试配置数据中虚拟角色以及角色技能进行组合,生成游戏对局测试组合,并对游戏对局测试进行筛选902,生成游戏对局测试用例。生成游戏对局测试用例后,对测试配置数据中的游戏协议(即游戏环境配置数据)进行填充903,即填写游戏协议中默认的值,如虚拟角色标识、角色技能标识以及虚拟角色等级等等,补充游戏协议中需要完善的值,生成测试包。计算机设备可以对该测试包进行发包904,在模拟游戏组件中对游戏对局测试用例进行测试,生成游戏对局测试用例对应的游戏对局测试结果,进行收包905。计算机设备可以对游戏对局测试结果进行存储和分析906,为虚拟角色以及角色技能之间的匹配提供参考依据。
如图10所示,图10是本申请实施例提供的一种游戏对局测试结果对应的分析结果的示意图,图10展示了3个游戏队伍对应的测试结果,如图10所示,T0(游戏队伍T0)进行战斗的数量为36次,占比(即占总数量的比例)为47%,最低胜率为60%,最高胜率为73%;T1(游戏队伍T1)进行战斗的数量为6次,占比(即占总数量的比例)为8%,最低胜率为51%,最高胜率为58%;T2(游戏队伍T2)进行战斗的数量为34次,占比(即占总数量的比例)为45%,最低胜率为0.3%,最高胜率为49%。如图10所示,还展示了三个游戏队伍每场对局的战损比(KD,是剩余兵力/敌方剩余兵力之间的一个比例值,比例值越高说明战损小,队伍能力越强)和优平胜率(即赢的场次+平局的场次)/总场次)的折线图和矩形图,更能直观的展示各个队伍对应的游戏对局测试结果。这样,测试人员或者相关设备可以根据该分析结果,对虚拟角色和角色技能进行的匹配。
其中,本申请实施例可以应用于策略类游戏场景和卡牌类游戏场景,在相关技术中,采用人工对测试用例进行执行,但策略类游戏场景和卡牌类游戏场景中的虚拟角色、角色技能较多,组合变量影响大,采用单一的低频人工测试,效率低,且不能提供大量的有效准确的测试结果,往往导致测试数据分析阶段得到评估值不准确。而本方案通过自动化用例生成工具,根据测试配置数据对游戏业务中所包含的虚拟角色和角色技能进行组合,生成M个游戏对局测试用例。通过游戏业务对应的主进程,将M个游戏对局测试用例分发至N个子进程,并在游戏业务关联的模拟游戏组件,对N个子进程中的游戏对局测试用例进行测试,生成M个游戏对局测试用例分别对应的游戏对局测试结果,可以降低游戏业务测试的人工成本,并提高测试效率,同时可以高效率的产生大量的、全面的测试结果,为虚拟角色以及角色技能之间的匹配提供更准确的参考依据。
本申请实施例中,通过获取与游戏业务相关联的测试配置数据,根据测试配置数据对游戏业务中所包含的虚拟角色和角色技能进行组合,生成M个游戏对局测试用例;通过游戏业务对应的主进程,将M个游戏对局测试用例分发至N个子进程,通过游戏业务对应的主进程,对M个游戏对局测试用例进行分发,这样可以同时进行大量的游戏对局测试用例,提供测试效率,并且可以降低人工成本。通过游戏业务关联的模拟游戏组件,对N个子进程中的游戏对局测试用例进行测试,生成M个游戏对局测试用例分别对应的游戏对局测试结果,通过模拟实际游戏运行环境生成模拟游戏组件,通过模拟游戏组件便可以实现对游戏对局测试用例的测试,而不用外发至实际游戏客户端,可以提高测试效率和降低测试成本。通过本申请,可以降低人工成本,并提高测试效率,同时可以高效率的产生大量的、全面的测试结果,为虚拟角色以及角色技能之间的匹配提供更准确的参考依据。
如图11所示,图11是本申请实施例提供的一种业务测试方法的示意图,该方法可由计算机设备来执行,该方法可由计算机设备来执行,该计算机设备可以为服务器(如上述图1中的服务器10),或者目标用户终端(如上述图1的目标用户终端集群中的任一目标用户终端),或者为服务器和目标用户终端组成的***,本申请对此不做限定。如图11所述,该业务测试方法的步骤包括S201-206。
S201,获取与游戏业务相关联的测试配置数据,根据测试配置数据对游戏业务中所包含的虚拟角色和角色技能进行组合,生成M个游戏对局测试用例。
S202,通过游戏业务对应的主进程,将M个游戏对局测试用例分发至N个子进程。
S203,通过游戏业务关联的模拟游戏组件,对N个子进程中的游戏对局测试用例进行测试,生成M个游戏对局测试用例分别对应的游戏对局测试结果。
步骤S201-S206的具体内容可以参看图1所描述的内容,本申请实施例在此不再累述。
S204,获取游戏业务对应的分析指标,根据分析指标对游戏对局测试结果进行分析,得到游戏对局测试结果对应的对局统计数值。
具体的,计算机设备生成M个游戏对局测试用例分别对应的游戏对局测试结果,可以获取游戏业务对应的分析指标,根据该分析指标对游戏对局测试结果进行分析,得到游戏对局测试结果对应的对局统计数值。其中,分析指标至少包括胜利概率、优平率、战损比、虚拟角色出现次数、克制对手数量、技能出现次数、等级或者星级等等。可以根据对局统计数值,为虚拟角色和角色技能之间的匹配提供参考依据,即确定哪些虚拟角色之间可以组合在一起,哪些虚拟角色之间不可以组合在一起,哪些虚拟角色和角色技能之间可以组合,以及哪些角色技能之间不可以组合在一起等等。
S205,若对局统计数值满足统计阈值,则将满足统计阈值的对局统计数值所对应的游戏对局测试用例中的虚拟角色和角色技能,确定为有效游戏对局组合。
S206,若对局统计数值不满足统计阈值,则将不满足统计阈值的对局统计数值所对应的游戏对局测试用例中的虚拟角色和角色技能,确定为无效游戏对局组合,在游戏业务中为无效游戏对局组合设置告警标识。
具体的,计算机设备得到游戏对局测试结果对应的对局统计数值后,若确定对局统计数值满足统计阈值,则将满足统计阈值的对局统计数值所对应游戏对局测试用例中的虚拟角色和角色技能,确定有效游戏对局组合。若对局统计数值不满足所述统计阈值,则将不满足统计阈值的对局统计数值所对应的游戏对局测试用例中的虚拟角色和角色技能,确定为无效游戏对局组合,在游戏业务中为无效游戏对局组合设置告警标识。其中,有效游戏对局组合可以是指在实际游戏玩家进行游戏体验时,可以以有效游戏对局组合对应的战队形式(即虚拟角色和角色技能之间的组合形式)进行游戏体验。无效游戏对局组合可以是指在实际游戏玩家进行游戏体验时,不可以以无效游戏对局组合对应战队形式(即虚拟角色和角色技能之间的组合形式)进行游戏体验,在游戏业务中为无效游戏对局组合设置告警标识,即游戏玩家组合后的战队为无效游戏对局组合时,会向用户发出“该组合形式为无效组合”,即不允许游戏玩家以无效游戏对局组合的形式进行游戏体验。
如可以根据M个游戏对局测试用例分别对应的游戏对局测试结果,统计每个战队对应的胜利概率,每个游戏对局测试用例中可以包括两个战队且存在对立关系。这样,得到每个游戏对局测试用例中每个战队对应的胜利概率,若游戏对局测试用例对应的战队的胜利概率满足统计阈值,则将胜利概率满足统计阈值的战队为有效游戏对局组合,即在实际游戏玩家进行游戏体验时,可以以有效游戏对局组合对应的战队形式(即虚拟角色和角色技能之间的组合形式)进行游戏体验;若游戏对局测试用例对应的战队的胜利概率不满足统计阈值,则将胜利概率不满足统计阈值的战队为无效游戏对局组合,即在实际游戏玩家进行游戏体验时,不可以以无效游戏对局组合对应战队形式(即虚拟角色和角色技能之间的组合形式)进行游戏体验。
例如,当计算机设备分析指标为优平率(即赢的场次+平局的场次)/总场次),对游戏对局测试用例对应的游戏对局测试结果进行分析,得到每个游戏对局测试用例中每个战队对应的优平率(即对局统计数值)。这样,当游戏对局测试用例对应的战队的优平率满足统计阈值,则将优平率满足统计阈值的战队为有效游戏对局组合;当游戏对局测试用例对应的战队的优平率不满足统计阈值,则将优平率满足统计阈值的战队为无效游戏对局组合。同样的,当计算机设备分析指标为战损比(即剩余兵力/敌方剩余兵力之间的一个比例值,比例值越高说明战损小,队伍能力越强),对游戏对局测试用例对应的游戏对局测试结果进行分析,得到每个游戏对局测试用例中每个战队对应的战损比(即对局统计数值)。这样,当游戏对局测试用例对应的战队的战损比满足统计阈值,则将战损比满足统计阈值的战队为有效游戏对局组合;当游戏对局测试用例对应的战队的战损比不满足统计阈值,则将优平率满足统计阈值的战队为无效游戏对局组合。
同样的,当计算机设备分析指标为虚拟角色出现次数、克制对手数量、技能出现次数、等级或者星级等等时,根据分析指标对游戏对局测试结果进行分析,得到游戏对局测试结果对应的对局统计数值,再通过判断对局统计数值是否满足统计阈值,决定游戏对局测试用例中的虚拟角色和角色技能,为有效游戏对局组合或者为无效游戏对局组合。
如图12所示,图12是本申请实施例提供的一种对游戏对局测试结果进行分析的示意图,如图12所示,在策略类游戏(SLG,Simulation Game,回合制策略游戏)中,计算机设备可以确定每个游戏对局测试用例中的战队阵容为3个虚拟角色和6个角色技能,每个虚拟角色对应2个技能,以此得到多个游戏对局测试用例后,该对多个游戏对局测试用例进行测试,得到游戏对局测试结果。计算机设备可以对该游戏对局测试结果进行分析,即进行阵容分析,计算得到每个游戏对局测试用例中每个战队对应的优平率(即赢的场次+平局的场次)/总场次)、战损值(即剩余兵力/敌方剩余兵力之间的一个比例值,比例值越高说明战损小,队伍能力越强)、克制队伍数等等分析指标对应的对局统计数值。还可以对每个战队中所包括的虚拟角色以及角色技能为哪些、出现频率、星级匹配、类型匹配、属性匹配等等进行分析,最后算出每只队伍的贡献度(即根据多个对局统计数据得到的数值),得到角色技能的伤害占比、虚拟角色的整体伤害占比,以此来分析游戏对局测试用例中的虚拟角色和角色技能,为有效游戏对局组合或者为无效游戏对局组合。如根据对局统计数值得到战队1的队伍能力太强,几乎没有克制队伍,在实际游戏运行的时候,会影响游戏运行的公平性,影响游戏玩家的体验感。因此战队1为无效游戏对局组合,即战队1中虚拟角色与角色技能之间匹配形式不允许存在。
如图13所示,图13是本申请实施例提供的一种分析指标的示意图,如图13所示,计算机设备对游戏对局测试结果进行分析的分析层次可以包括:阵容分析、虚拟角色分析以及角色技能分析。如图13所示,当以阵容分析为分析层次对游戏对局测试结果进行分析时,若游戏对局测试用例中的战队存在“队伍能力太强”、“国家队T度”、“队伍能力太弱”3种告警类型时,可以将存在该3种告警类型的战队确定为无效游戏对局组合。如图13所示,当战队的告警类型为“队伍能力太强”时,对应的参考指标(即分析指标)为克制队伍数量(即确定当前告警战队对应的克制队伍数量)、优平率、KD战损比,判断当前战队是否为“队伍能力太强”告警类型的详细标准描述为:1、没有克制队伍,2、******等等。当战队的告警类型为“国家队T度”时,对应的参考指标(即分析指标)为优平率,判断当前战队是否为“国家队T度”告警类型的详细标准描述为:1、优胜率有明显的跳变,如跳变率大于10%等等。当战队的告警类型为“队伍能力太弱”时,对应的参考指标(即分析指标)为优平率、KD战损比,判断当前战队是否为“队伍能力太弱”告警类型的详细标准描述为:1、阵容优平率靠后,2、相对于之间的队伍有明显的下降等等。
如图13所示,当以虚拟角色分析为分析层次对游戏对局测试结果进行分析时,若游戏对局测试用例中的战队存在“虚拟角色能力太强”、“虚拟觉得星级不匹配”2种告警类型时,可以将存在该2种告警类型的战队确定为无效游戏对局组合。当战队的告警类型为“虚拟角色能力太强”时,对应的参考指标(即分析指标)为虚拟角色出现次数、优平率,判断当前战队是否为“队伍能力太强”告警类型的详细标准描述为:1、虚拟角色排名前30中出现的次数太多,2、优平率高等等。当战队的告警类型为“虚拟角色星级不匹配”时,对应的参考指标(即分析指标)为虚拟角色出现次数、星级,判断当前战队是否为“队伍能力太强”告警类型的详细标准描述为:1、组合中星级相差太大等等。以角色技能分析为分析层次对游戏对局测试结果进行分析时,若游戏对局测试用例中的战队存在“角色技能能力太强”告警类型时,可以将“角色技能太强”对应的战队确定为无效游戏对局组合。当战队的告警类型为“角色技能能力太强”时,对应的参考指标(即分析指标)为技能出现次数、优平率,判断当前战队是否为“角色技能太强”告警类型的详细标准描述为:1、角色技能排名前30中出现的次数太多等等。以此,根据多个分析层次、参考指标以及判断标准详细描述,确定游戏对局测试用例中的战队是否属于告警类型,若战队为告警类型时,则确定告警类型对应的战队中虚拟角色以及角色技能之间的组合为无效游戏对局组合,即在实际游戏运行时禁止游戏玩家,以无效游戏对局组合进行游戏体验。
例如,如图14所示,图14是本申请实施例提供的一种游戏对局测试结果分析方法的示意图,如图14所示,本方案可以应用于策略类游戏场景中,计算机设备对游戏对局测试用例中战队D的测试结果进行分析,得到战队D为“队伍能力太弱”的分析路径为:首先根据多个分析层次和参考依据,对战队D的测试结果进行分析,获得战队D对应的分析概要页面。计算机设备可以对战队D的阵容进行分析,确定战队D当前存在哪些问题,并获取战队D对应的优平率小于25%的战斗记录列表,再进行KD(战损比)对比,得到战损比参考图,最后对战队D晋西鞥阵容确定定位,如根据上述分析确定战队D为“队伍能力太弱”警告类型。
如图15所示,图15是本申请实施例提供的一种优平率分析的示意图,如图15所示,展示了游戏对局测试用例中的战队对应的优平率对比,从图15中可以看出,战队D对应的优平率为14.45,优平率较低,且与前面战队的优平率相比,跳变较大(低于前面队伍的10%)。
如图16所示,图16是本申请实施例提供的一种战损值分析的示意图,如图16所示,展示了游戏对局测试用例中的战队对应的战损值对比,如图15所示,战队D对应的战损值为0.073,远远低于其他战队的战损值,因此由图15和图16所示,战队D可以确定为“队伍能力太弱”告警类型,在游戏实际运行时,当游戏玩家对应的战队组合形式为战队D对应的组合形式时,可以输入告警信息,提供该战队组合形式太弱,请重新组合等等提示信息。
如图17所示,图17是本申请实施例提供的一种游戏对局测试结果分析方法的示意图,如图17所示,本方案可以应用于棋牌类游戏业务中,如图17所示,计算机设备可以获取测试人员在测试页面中输入的棋牌类游戏业务对应的测试配置数据,该棋牌类游戏业务对应的测试配置数据中可以包括棋牌类游戏业务对应的运行环境配置数据(即游戏运行安装包),以及棋牌类游戏业务中包括的虚拟角色(即游戏玩家代表)以及角色技能(如角色权限),根据棋牌类游戏业务对应的测试参数信息,对虚拟角色以及角色技能进行组合,生成测试用例。其中,测试配置数据中的测试参数信息可以包括每个游戏对局测试用例中战队的个数,以及每个战队中虚拟角色的数量,以及每个虚拟角色拥有哪些角色技能(如角色权限)如游戏对局测试用例K中可以包括四个战队,每一个战队包括一个虚拟角色,每个虚拟角色拥有2个角色技能。
其中,计算机设备根据测试配置数据中的测试参数信息,对游戏业务中所包含的所有虚拟角色以及所有的角色技能进行随机组合,得到Q个候选游戏对局组合。根据默认的组合筛选条件,对Q候选个游戏对局组合进行筛选,得到M个游戏对局组合,再对M个游戏对局组合进行编码,得到M个游戏对局组合对应的M个游戏对局测试用例。计算机设备可以根据测试配置数据中运行环境配置数据,对初始模拟组件进行更新,得到与棋牌类游戏业务相匹配的模拟游戏组件,并在该模拟游戏组件中,对生成的M个游戏对局测试用例进行执行,得到棋牌类游戏业务对应的M个游戏对局测试用例的测试结果。根据相关的分析指标(如战损值、胜率数量等等)对测试结果进行分析,确定每个战队的对局统计数值,根据每个战队的对局统计数值,确定游戏对局测试用例中的战队是否为无效游戏对局组合。
可选的,本申请实施例Druid对本方案产生的M个游戏对局测试用例,以及M个游戏对局测试用例对应的M个游戏对局测试结果,以及M个游戏对局测试结果对应的分析结果进行存储。Druid是一个开源的、分布式的、列存储***,特别适用于大数据上实时分析统计,且具有较好的稳定性(Highly Available),其相对比较轻量级,文档非常完善。同时,Druid可以将本方案中所产生的数据经过压缩后,加入到索引结构中,压缩增加了数据存储能力,更便于传输,可以使相关设备快速存取。
本申请实施例中,通过获取与游戏业务相关联的测试配置数据,根据测试配置数据对游戏业务中所包含的虚拟角色和角色技能进行组合,生成M个游戏对局测试用例;通过游戏业务对应的主进程,将M个游戏对局测试用例分发至N个子进程,通过游戏业务对应的主进程,对M个游戏对局测试用例进行分发,这样可以同时进行大量的游戏对局测试用例,提供测试效率,并且可以降低人工成本。通过游戏业务关联的模拟游戏组件,对N个子进程中的游戏对局测试用例进行测试,生成M个游戏对局测试用例分别对应的游戏对局测试结果,通过模拟实际游戏运行环境生成模拟游戏组件,通过模拟游戏组件便可以实现对游戏对局测试用例的测试,而不用外发至实际游戏客户端,可以提高测试效率和降低测试成本。获取游戏业务对应的分析指标,根据分析指标对游戏对局测试结果进行分析,得到游戏对局测试结果对应的对局统计数值。若对局统计数值满足统计阈值,则将满足统计阈值的对局统计数值所对应的游戏对局测试用例中的虚拟角色和角色技能,确定为有效游戏对局组合;若对局统计数值不满足统计阈值,则将不满足统计阈值的对局统计数值所对应的游戏对局测试用例中的虚拟角色和角色技能,确定为无效游戏对局组合,在游戏业务中为无效游戏对局组合设置告警标识。这样,通过多个分析指标,对游戏对局测试结果进行分析,可以得到大数据对局结果参考,有效评估游戏对局测试结果,更好的确定游戏业务中虚拟角与角色技能之间的匹配,完善游戏业务的服务,为游戏玩家提供更新好的游戏体验。通过本申请,可以降低人工成本,并提高测试效率,同时可以高效率的产生大量的、全面的测试结果,为虚拟角色以及角色技能之间的匹配提供更准确的参考依据。
请参见图18,图18是本申请实施例提供的一种业务测试装置的结构示意图。上述业务测试装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该业务测试装置为一个应用软件;该装置可以用于执行本申请实施例提供的业务测试方法中的相应步骤。如图18所示,该业务测试装置可以包括:第一生成模块11、分发模块12、第二生成模块13、分析模块14、第一确定模块15、第二确定模块16。
第一生成模块11,用于获取与游戏业务相关联的测试配置数据,根据测试配置数据对游戏业务中所包含的虚拟角色和角色技能进行组合,生成M个游戏对局测试用例;
分发模块12,用于通过游戏业务对应的主进程,将M个游戏对局测试用例分发至N个子进程;主进程与N个子进程之间具有进程间通信通道,M、N均为正整数;
第二生成模块13,用于通过游戏业务关联的模拟游戏组件,对N个子进程中的游戏对局测试用例进行测试,生成M个游戏对局测试用例分别对应的游戏对局测试结果;游戏对局测试结果为虚拟角色和角色技能之间的匹配提供参考依据。
其中,第一生成模块11包括:
第一获取单元1101,用于响应测试页面中的上传操作,获取上传操作所确定的测试配置数据,在测试配置数据中获取与游戏业务相关联的虚拟角色和角色技能;
第一生成单元1102,用于根据测试配置数据中的测试参数信息,对虚拟角色和角色技能进行随机组合,生成M个游戏对局测试用例。
其中,第一生成单元1102包括:
根据测试配置数据中的测试参数信息,对虚拟角色和角色技能进行随机组合,得到Q个候选游戏对局组合;Q为大于或等于M的正整数;
获取游戏业务对应的游戏对局条件,将Q个候选游戏对局组合中满足游戏对局条件的候选游戏对局组合,确定为M个游戏对局组合;
将M个游戏对局组合进行代码转换,生成M个游戏对局组合分别对应的游戏对局测试用例。
其中,第一生成模块11包括:
第二获取单元1103,用于获取测试配置数据中的虚拟角色所对应的角色特征,获取测试配置数据中的角色技能所对应的技能特征;
输入单元1104,用于将测试配置数据中的测试参数信息转换为测试参数特征,将角色特征、技能特征以及测试参数特征拼接为输入特征矩阵;
输出单元1105,用于将输入特征矩阵输入至对局生成模型,通过对局生成模型输出虚拟角色和角色技能之间的组合评估值;
第二生成单元1106,用于根据组合评估值,获取虚拟角色和角色技能之间的M个游戏对局组合,对M个游戏对局组合进行代码转换,生成M个游戏对局组合分别对应的游戏对局测试用例。
其中,分发模块12包括:
启动单元1201,用于启动游戏业务对应的主进程,通过主进程创建并启动由测试用例数量M所确定的N个子进程;
数据转换单元1202,用于根据主进程中的数据格式,对M个游戏对局测试用例分别进行数据转换,得到格式转换后的M个游戏对局测试用例;
分发单元1203,用于通过主进程和N个子进程之间的进程间通信通道,将格式转换后的M个游戏对局测试用例,分发至N个子进程中的子线程;一个子线程对应一个游戏对局测试用例。
其中,第二生成模块13包括:
更新单元1301,用于基于测试配置数据中的测试环境配置数据,对初始模拟组件进行环境更新,得到与游戏业务相匹配的模拟游戏组件;
测试单元1302,用于通过模拟游戏组件对N个子进程中的游戏对局测试用例进行测试;
第三获取单元1303,用于当主进程监听到N个子进程中的游戏对局测试用例处于结束状态时,通过主进程和N个子进程之间的进程间通信通道,从N个子进程中获取M个游戏对局测试用例分别对应的游戏对局测试结果。
其中,装置还包括:
分析模块14,用于获取游戏业务对应的分析指标,根据分析指标对游戏对局测试结果进行分析,得到游戏对局测试结果对应的对局统计数值;分析指标至少包括胜利概率、优平率、战损比、虚拟角色出现次数、克制对手数量;
第一确定模块15,用于若对局统计数值满足统计阈值,则将满足统计阈值的对局统计数值所对应的游戏对局测试用例中的虚拟角色和角色技能,确定为有效游戏对局组合;
第二确定模块16,用于若对局统计数值不满足统计阈值,则将不满足统计阈值的对局统计数值所对应的游戏对局测试用例中的虚拟角色和角色技能,确定为无效游戏对局组合,在游戏业务中为无效游戏对局组合设置告警标识。
根据本申请的一个实施例,图2所示的业务测试方法所涉及的步骤可由图18所示的业务测试装置中的各个模块来执行。例如,图2中所示的步骤S101可由图18中的第一生成模块11来执行,图2中所示的步骤S102可由图18中的分发摸12来执行,图2中所示的步骤S102可由图18中的第二生成模块13来执行等等。
根据本申请的一个实施例,图18所示的业务测试装置中的各个模块可以分别或全部合并为一个或若干个单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个子单元,可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述模块是基于逻辑功能划分的,在实际应用中,一个模块的功能也可以由多个单元来实现,或者多个模块的功能由一个单元实现。在本申请的其它实施例中,测试装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
本申请实施例中,通过获取与游戏业务相关联的测试配置数据,根据测试配置数据对游戏业务中所包含的虚拟角色和角色技能进行组合,生成M个游戏对局测试用例;通过游戏业务对应的主进程,将M个游戏对局测试用例分发至N个子进程,通过游戏业务对应的主进程,对M个游戏对局测试用例进行分发,这样可以同时进行大量的游戏对局测试用例,提供测试效率,并且可以降低人工成本。通过游戏业务关联的模拟游戏组件,对N个子进程中的游戏对局测试用例进行测试,生成M个游戏对局测试用例分别对应的游戏对局测试结果,通过模拟实际游戏运行环境生成模拟游戏组件,通过模拟游戏组件便可以实现对游戏对局测试用例的测试,而不用外发至实际游戏客户端,可以提高测试效率和降低测试成本。获取游戏业务对应的分析指标,根据分析指标对游戏对局测试结果进行分析,得到游戏对局测试结果对应的对局统计数值。若对局统计数值满足统计阈值,则将满足统计阈值的对局统计数值所对应的游戏对局测试用例中的虚拟角色和角色技能,确定为有效游戏对局组合;若对局统计数值不满足统计阈值,则将不满足统计阈值的对局统计数值所对应的游戏对局测试用例中的虚拟角色和角色技能,确定为无效游戏对局组合,在游戏业务中为无效游戏对局组合设置告警标识。这样,通过多个分析指标,对游戏对局测试结果进行分析,可以得到大数据对局结果参考,有效评估游戏对局测试结果,更好的确定游戏业务中虚拟角与角色技能之间的匹配,完善游戏业务的服务,为游戏玩家提供更新好的游戏体验。通过本申请,可以降低人工成本,并提高测试效率,同时可以高效率的产生大量的、全面的测试结果,为虚拟角色以及角色技能之间的匹配提供更准确的参考依据。
请参见图19,图19是本申请实施例提供的一种计算机设备的结构示意图。如图19所示,上述计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还可以包括:目标用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,目标用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选目标用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非易失性的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图19所示,作为一种计算机可读存储介质的存储器1005中可以包括操作***、网络通信模块、目标用户接口模块以及设备控制应用程序。
在图19所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而目标用户接口1003主要用于为目标用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
可选的,处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取与游戏业务相关联的测试配置数据,根据测试配置数据对游戏业务中所包含的虚拟角色和角色技能进行组合,生成M个游戏对局测试用例;
通过游戏业务对应的主进程,将M个游戏对局测试用例分发至N个子进程;主进程与N个子进程之间具有进程间通信通道,M、N均为正整数;
通过游戏业务关联的模拟游戏组件,对N个子进程中的游戏对局测试用例进行测试,生成M个游戏对局测试用例分别对应的游戏对局测试结果;游戏对局测试结果为虚拟角色和角色技能之间的匹配提供参考依据。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图2或者图11所对应实施例中对上述业务测试方法的描述,也可执行前文图18中所对应的业务测试装置的描述,在此不再赘述。
本申请实施例中,通过获取与游戏业务相关联的测试配置数据,根据测试配置数据对游戏业务中所包含的虚拟角色和角色技能进行组合,生成M个游戏对局测试用例;通过游戏业务对应的主进程,将M个游戏对局测试用例分发至N个子进程,通过游戏业务对应的主进程,对M个游戏对局测试用例进行分发,这样可以同时进行大量的游戏对局测试用例,提供测试效率,并且可以降低人工成本。通过游戏业务关联的模拟游戏组件,对N个子进程中的游戏对局测试用例进行测试,生成M个游戏对局测试用例分别对应的游戏对局测试结果,通过模拟实际游戏运行环境生成模拟游戏组件,通过模拟游戏组件便可以实现对游戏对局测试用例的测试,而不用外发至实际游戏客户端,可以提高测试效率和降低测试成本。获取游戏业务对应的分析指标,根据分析指标对游戏对局测试结果进行分析,得到游戏对局测试结果对应的对局统计数值。若对局统计数值满足统计阈值,则将满足统计阈值的对局统计数值所对应的游戏对局测试用例中的虚拟角色和角色技能,确定为有效游戏对局组合;若对局统计数值不满足统计阈值,则将不满足统计阈值的对局统计数值所对应的游戏对局测试用例中的虚拟角色和角色技能,确定为无效游戏对局组合,在游戏业务中为无效游戏对局组合设置告警标识。这样,通过多个分析指标,对游戏对局测试结果进行分析,可以得到大数据对局结果参考,有效评估游戏对局测试结果,更好的确定游戏业务中虚拟角与角色技能之间的匹配,完善游戏业务的服务,为游戏玩家提供更新好的游戏体验。通过本申请,可以降低人工成本,并提高测试效率,同时可以高效率的产生大量的、全面的测试结果,为虚拟角色以及角色技能之间的匹配提供更准确的参考依据。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备可执行前文图2或者图11所对应实施例中对业务测试方法的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
作为示例,上述程序指令可被部署在一个计算机设备上执行,或者被部署位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备可以组成区块链网络。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁盘、光盘、只读存储器(Read-Only Memory,ROM)或随机存储器(Random Access Memory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (10)
1.一种业务测试方法,其特征在于,包括:
获取与游戏业务相关联的测试配置数据,根据所述测试配置数据对所述游戏业务中所包含的虚拟角色和角色技能进行组合,生成M个游戏对局测试用例;
通过所述游戏业务对应的主进程,将所述M个游戏对局测试用例分发至N个子进程;所述主进程与所述N个子进程之间具有进程间通信通道,M、N均为正整数;
通过所述游戏业务关联的模拟游戏组件,对所述N个子进程中的游戏对局测试用例进行测试,生成所述M个游戏对局测试用例分别对应的游戏对局测试结果;所述游戏对局测试结果为所述虚拟角色和所述角色技能之间的匹配提供参考依据。
2.根据权利要求1所述的方法,其特征在于,所述获取与游戏业务相关联的测试配置数据,根据所述测试配置数据对所述游戏业务中所包含的虚拟角色和角色技能进行组合,生成M个游戏对局测试用例,包括:
响应测试页面中的上传操作,获取所述上传操作所确定的测试配置数据,在所述测试配置数据中获取与所述游戏业务相关联的虚拟角色和角色技能;
根据所述测试配置数据中的测试参数信息,对所述虚拟角色和所述角色技能进行随机组合,生成M个游戏对局测试用例。
3.根据权利要求2所述的方法,其特征在于,所述根据所述测试配置数据中的测试参数信息,对所述虚拟角色和所述角色技能进行随机组合,生成M个游戏对局测试用例,包括:
根据所述测试配置数据中的测试参数信息,对所述虚拟角色和所述角色技能进行随机组合,得到Q个候选游戏对局组合;Q为大于或等于M的正整数;
获取所述游戏业务对应的游戏对局条件,将所述Q个候选游戏对局组合中满足所述游戏对局条件的候选游戏对局组合,确定为M个游戏对局组合;
将所述M个游戏对局组合进行代码转换,生成所述M个游戏对局组合分别对应的游戏对局测试用例。
4.根据权利要求1所述的方法,其特征在于,所述根据所述测试配置数据对所述游戏业务中所包含的虚拟角色和角色技能进行组合,生成M个游戏对局测试用例,包括:
获取所述测试配置数据中的虚拟角色所对应的角色特征,获取所述测试配置数据中的角色技能所对应的技能特征;
将所述测试配置数据中的测试参数信息转换为测试参数特征,将所述角色特征、所述技能特征以及所述测试参数特征拼接为输入特征矩阵;
将所述输入特征矩阵输入至对局生成模型,通过所述对局生成模型输出所述虚拟角色和所述角色技能之间的组合评估值;
根据所述组合评估值,获取所述虚拟角色和所述角色技能之间的M个游戏对局组合,对所述M个游戏对局组合进行代码转换,生成所述M个游戏对局组合分别对应的游戏对局测试用例。
5.根据权利要求1所述的方法,其特征在于,所述通过所述游戏业务对应的主进程,将所述M个游戏对局测试用例分发至N个子进程,包括:
启动所述游戏业务对应的主进程,通过所述主进程创建并启动由测试用例数量M所确定的N个子进程;
根据所述主进程中的数据格式,对所述M个游戏对局测试用例分别进行数据转换,得到格式转换后的M个游戏对局测试用例;
通过所述主进程和所述N个子进程之间的进程间通信通道,将所述格式转换后的M个游戏对局测试用例,分发至所述N个子进程中的子线程;一个子线程对应一个游戏对局测试用例。
6.根据权利要求1所述的方法,其特征在于,所述通过所述游戏业务关联的模拟游戏组件,对所述N个子进程中的游戏对局测试用例进行测试,生成所述M个游戏对局测试用例分别对应的游戏对局测试结果,包括:
基于测试配置数据中的测试环境配置数据,对初始模拟组件进行环境更新,得到与所述游戏业务相匹配的模拟游戏组件;
通过所述模拟游戏组件对所述N个子进程中的游戏对局测试用例进行测试;
当所述主进程监听到所述N个子进程中的游戏对局测试用例处于结束状态时,通过所述主进程和所述N个子进程之间的进程间通信通道,从所述N个子进程中获取所述M个游戏对局测试用例分别对应的游戏对局测试结果。
7.根据权利要求1所述的方法,其特征在于,所述方法包括:
获取所述游戏业务对应的分析指标,根据所述分析指标对所述游戏对局测试结果进行分析,得到所述游戏对局测试结果对应的对局统计数值;所述分析指标至少包括胜利概率、优平率、战损比、虚拟角色出现次数、克制对手数量;
若所述对局统计数值满足统计阈值,则将满足所述统计阈值的对局统计数值所对应的游戏对局测试用例中的虚拟角色和角色技能,确定为有效游戏对局组合;
若所述对局统计数值不满足所述统计阈值,则将不满足所述统计阈值的对局统计数值所对应的游戏对局测试用例中的虚拟角色和角色技能,确定为无效游戏对局组合,在所述游戏业务中为所述无效游戏对局组合设置告警标识。
8.一种业务测试装置,其特征在于,包括:
第一获取模块,用于获取与游戏业务相关联的测试配置数据,根据所述测试配置数据对所述游戏业务中所包含的虚拟角色和角色技能进行组合,生成M个游戏对局测试用例;
分发模块,用于通过所述游戏业务对应的主进程,将所述M个游戏对局测试用例分发至N个子进程;所述主进程与所述N个子进程之间具有进程间通信通道,M、N均为正整数;
生成模块,用于通过所述游戏业务关联的模拟游戏组件,对所述N个子进程中的游戏对局测试用例进行测试,生成所述M个游戏对局测试用例分别对应的游戏对局测试结果;所述游戏对局测试结果为所述虚拟角色和所述角色技能之间的匹配提供参考依据。
9.一种计算机设备,其特征在于,包括:处理器及存储器;
所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,所述处理器执行权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,该计算机程序适于由处理器加载并执行权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110286976.XA CN112860579B (zh) | 2021-03-17 | 2021-03-17 | 业务测试方法、装置、存储介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110286976.XA CN112860579B (zh) | 2021-03-17 | 2021-03-17 | 业务测试方法、装置、存储介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112860579A true CN112860579A (zh) | 2021-05-28 |
CN112860579B CN112860579B (zh) | 2024-03-22 |
Family
ID=75995066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110286976.XA Active CN112860579B (zh) | 2021-03-17 | 2021-03-17 | 业务测试方法、装置、存储介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112860579B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113750540A (zh) * | 2021-09-17 | 2021-12-07 | 腾讯科技(成都)有限公司 | 游戏匹配方法、装置、存储介质及计算机程序产品 |
CN114191822A (zh) * | 2021-11-19 | 2022-03-18 | 腾讯科技(深圳)有限公司 | 一种测试方法、装置、计算机设备、存储介质和产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120204153A1 (en) * | 2011-02-04 | 2012-08-09 | Disney Enterprises, Inc. | Automated testing on multiple video game platforms |
CN106267822A (zh) * | 2016-08-18 | 2017-01-04 | 网易(杭州)网络有限公司 | 游戏性能的测试方法和装置 |
CN110141864A (zh) * | 2019-04-30 | 2019-08-20 | 深圳市腾讯网域计算机网络有限公司 | 一种游戏自动测试方法、装置及终端 |
-
2021
- 2021-03-17 CN CN202110286976.XA patent/CN112860579B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120204153A1 (en) * | 2011-02-04 | 2012-08-09 | Disney Enterprises, Inc. | Automated testing on multiple video game platforms |
CN106267822A (zh) * | 2016-08-18 | 2017-01-04 | 网易(杭州)网络有限公司 | 游戏性能的测试方法和装置 |
CN110141864A (zh) * | 2019-04-30 | 2019-08-20 | 深圳市腾讯网域计算机网络有限公司 | 一种游戏自动测试方法、装置及终端 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113750540A (zh) * | 2021-09-17 | 2021-12-07 | 腾讯科技(成都)有限公司 | 游戏匹配方法、装置、存储介质及计算机程序产品 |
CN113750540B (zh) * | 2021-09-17 | 2023-08-18 | 腾讯科技(成都)有限公司 | 游戏匹配方法、装置、存储介质及计算机程序产品 |
CN114191822A (zh) * | 2021-11-19 | 2022-03-18 | 腾讯科技(深圳)有限公司 | 一种测试方法、装置、计算机设备、存储介质和产品 |
CN114191822B (zh) * | 2021-11-19 | 2023-07-25 | 腾讯科技(深圳)有限公司 | 一种测试方法、装置、计算机设备、存储介质和产品 |
Also Published As
Publication number | Publication date |
---|---|
CN112860579B (zh) | 2024-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9122984B2 (en) | Distributed network architecture for introducing dynamic content into a synthetic environment | |
CN112860579B (zh) | 业务测试方法、装置、存储介质及设备 | |
KR20220080191A (ko) | 정보 처리 방법 및 장치, 컴퓨터 판독 가능형 저장 매체 및 전자 장치 | |
CN114392560B (zh) | 虚拟场景的运行数据处理方法、装置、设备及存储介质 | |
CN112418259B (zh) | 一种基于直播过程中用户行为的实时规则的配置方法、计算机设备及可读存储介质 | |
CN110170171A (zh) | 一种目标对象的控制方法及装置 | |
CN111701240B (zh) | 虚拟物品的提示方法、装置、存储介质和电子装置 | |
CN110474900A (zh) | 一种游戏协议测试方法及装置 | |
CN109670653A (zh) | 一种基于工业模型预测引擎进行预测的方法及装置 | |
CN114328217A (zh) | 应用的测试方法、装置、设备、介质及计算机程序产品 | |
CN113318448A (zh) | 游戏资源展示方法及装置、设备、模型训练方法 | |
CN114191822B (zh) | 一种测试方法、装置、计算机设备、存储介质和产品 | |
CN112023402A (zh) | 游戏数据处理方法、装置、设备以及介质 | |
CN113230650B (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
CN110947182B (zh) | 事件应对方法、装置、游戏终端及介质 | |
CN117009626A (zh) | 游戏场景的业务处理方法、装置、设备及存储介质 | |
CN116570928A (zh) | 一种基于nft的信息处理方法、装置和服务器 | |
Eickhoff et al. | Meterstick: Benchmarking performance variability in cloud and self-hosted minecraft-like games extended technical report | |
CN117618918B (zh) | 虚拟场景处理方法、装置、电子设备及存储介质 | |
CN113750540B (zh) | 游戏匹配方法、装置、存储介质及计算机程序产品 | |
CN112306850A (zh) | 一种测试用例生成方法、装置及存储介质 | |
CN117311909B (zh) | 虚拟场景的资源处理方法、装置、设备及存储介质 | |
CN117982899B (zh) | 一种数据处理方法、装置、计算机、存储介质及程序产品 | |
CN109701275A (zh) | 基于网络游戏影子角色的操作交互方法及装置 | |
CN118022335A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40043815 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |