CN112231220A - 一种游戏测试方法和装置 - Google Patents
一种游戏测试方法和装置 Download PDFInfo
- Publication number
- CN112231220A CN112231220A CN202011153180.9A CN202011153180A CN112231220A CN 112231220 A CN112231220 A CN 112231220A CN 202011153180 A CN202011153180 A CN 202011153180A CN 112231220 A CN112231220 A CN 112231220A
- Authority
- CN
- China
- Prior art keywords
- scene
- tested
- information
- virtual object
- 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
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
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)
- Processing Or Creating Images (AREA)
Abstract
本发明实施例公开了一种游戏测试方法和装置;本发明实施例在获取待测试画面帧后,该待测试画面帧为加载待测试游戏的目标游戏任务后当前页面对应的画面帧,该待测试画面帧包括虚拟场景和虚拟场景下的虚拟对象,在待测试画面帧中识别出虚拟对象的角色参数信息和虚拟场景的场景信息,然后,根据场景信息,生成针对虚拟对象的模拟操作信息,然后,基于模拟操作信息,在当前页面对虚拟对象进行操作,以更新虚拟对象的角色参数信息,当更新后的角色参数信息中的角色参数值超过预设参数阈值时,确定待测试游戏测试完成,该方案可以大大提高游戏的测试效率。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种游戏测试方法和装置。
背景技术
近年来,随着互联网技术的飞速发展,越来越多的网络游戏被开发出来。大部分的网络游戏都可以看作用户在虚拟场景下扮演一个特定的角色进行活动,角色扮演类的游戏中通常都会包括一个或多个游戏任务。针对这类游戏,在测试过程中,需要根据游戏任务的类型来设定多个测试项目,通过模拟用户从外部设备对这个角色对应的虚拟对象进行操作来完成游戏任务,才能完成测试任务。现有的测试方法主要通过动作回放或针对测试任务编写测试脚本对虚拟对象进行操作来测试。
在对现有技术的研究和实践过程中,本发明的发明人发现对于动作回放来说,不同设备的分辨率不同,基于回放的操作动作可能出现位置偏移,对于编写测试脚本来说,当游戏任务的测试项目较多时,按照测试流程编写的测试脚本非常复杂难以维护,因此,会导致游戏的测试效率大大降低。
发明内容
本发明实施例提供一种游戏测试方法和装置,可以提高游戏的测试效率。
一种游戏测试方法,包括:
获取待测试画面帧,所述待测试画面帧为加载待测试游戏的目标游戏任务后当前页面对应的画面帧,所述待测试画面帧包括虚拟场景和所述虚拟场景下的虚拟对象;
在所述待测试画面帧中识别出所述虚拟对象的角色参数信息和所述虚拟场景的场景信息;
根据所述场景信息,生成针对所述虚拟对象的模拟操作信息;
基于所述模拟操作信息,在所述当前页面对所述虚拟对象进行操作,以更新所述虚拟对象的角色参数信息;
当更新后的角色参数信息中的角色参数值超过预设参数阈值时,确定所述待测试游戏测试完成。
相应的,本发明实施例提供一种基于游戏任务的游戏测试装置,包括:
获取单元,用于获取待测试画面帧,所述待测试画面帧为加载待测试游戏的游戏任务后当前页面对应的画面帧,所述待测试画面帧包括虚拟场景下的虚拟对象;
识别单元,用于在所述待测试画面帧中识别出所述虚拟对象的角色参数信息和所述虚拟场景的场景信息;
解析单元,用于根据所述场景信息,生成针对所述虚拟对象的模拟操作信息;
更新单元,用于基于所述模拟操作信息,在所述当前页面对所述虚拟对象进行操作,以更新所述虚拟对象的角色参数信息;
确定单元,用于当更新后的角色参数信息中的角色参数值超过预设参数阈值时,确定所述待测试游戏测试完成。
可选的,在一些实施例中,所述解析单元,具体可以用于根据目标游戏任务的类型,确定所述待测试游戏中针对所述目标游戏任务的至少两个测试项目,得到测试项目集合;根据所述场景信息,在所述测试项目集合中筛选出所述待测试画面帧对应的测试项目;根据所述测试项目,对所述待测试画面帧进行解析,以生成针对所述虚拟对象的模拟操作信息。
可选的,在一些实施例中,所述解析单元,具体可以用于在所述场景信息中提取出所述虚拟场景的场景标识;根据所述场景标识,确定所述虚拟场景对应的场景类型;基于所述场景类型,在所述测试项目集合中确定出所述待测试画面帧对应的测试项目。
可选的,在一些实施例中,所述解析单元,具体可以用于当所述场景类型为基础场景时,在所述测试项目集合中确定出所述待测试画面帧对应的测试项目为基础测试,所述基础场景为包括基础控件的虚拟场景;当所述场景类型为指引场景时,在所述测试项目集合中确定出所述待测试画面帧对应的测试项目为指引测试,所述指引场景为包括指引控件的虚拟场景;当所述场景类型为战斗场景时,在所述测试项目集合中确定出所述待测试画面帧对应的测试项目为战斗测试,所述战斗场景为需要与其他虚拟对象进行交互的虚拟场景。
可选的,在一些实施例中,所述解析单元,具体可以用于当所述测试项目为基础测试时,在所述待测试画面帧中识别出基础控件的逻辑信息,以生成针对所述虚拟对象的模拟操作信息;当所述测试项目为指引测试时,在所述待测试画面帧中识别出指引控件的位置,以生成针对所述虚拟对象的模拟操作信息;当所述测试项目为战斗测试时,在待测试画面帧中识别出所述虚拟对象需要执行的战斗动作,以生成针对所述虚拟对象的模拟操作信息。
可选的,在一些实施例中,所述解析单元,具体可以用于在所述待测试画面帧中识别出当前页面存在的至少一个基础控件;根据所述基础控件的类型,确定所述基础控件对应的逻辑信息;将所述逻辑信息转换为操作动作,并基于所述操作动作,生成针对所述虚拟对象的模拟操作信息。
可选的,在一些实施例中,所述解析单元,具体可以用于采用位置识别模型对所述待测试画面帧进行特征提取,得到所述待测试画面帧中的所述指引控件的控件特征信息;根据所述控件特征信息,确定所述指引控件在所述待测试画面帧中的第一位置信息;基于所述第一位置信息,生成针对所述虚拟对象的模拟操作信息。
可选的,在一些实施例中,所述解析单元,具体可以用于采用动作识别模型对所述待测试画面帧进行特征提取,得到所述待测试画面帧中虚拟对象的动作特征信息;根据所述动作特征信息,在预设战斗动作集合中筛选出所述虚拟对象需要执行的战斗动作;将所述战斗动作转换为针对所述虚拟对象的模拟操作信息。
可选的,在一些实施例中,所述游戏测试装置还可以包括测试单元,所述测试单元,具体可以用于当更新后的角色参数信息中的角色参数值未超过预设参数阈值时,返回执行所述获取待测试画面帧的步骤,获取当前画面帧,并在所述当前画面帧中识别出所述虚拟对象的当前角色参数信息;当所述当前角色参数信息中的当前角色参数值未超过所述预设参数阈值时,确定所述待测试游戏的测试未完成;当所述当前角色参数信息中的当前角色参数值超过所述预设参数阈值时,确定所述待测试游戏的测试完成。
可选的,在一些实施例中,所述更新单元,具体可以用于基于所述模拟操作信息,在所述当前页面对所述虚拟对象进行操作,以更新当前页面;获取更新后页面对应的更新画面帧,并在所述更新画面帧中识别出所述虚拟对象更新后的角色参数信息。
可选的,在一些实施例中,所述识别单元,具体可以用于获取所述待测试游戏的预设测试数据集合,所述预设测试数据集合包括预设角色图像和预设场景图像对应的第二位置信息;根据所述第二位置信息,在所述待测试画面帧中识别出角色区域和场景区域,以得到角色图像和场景图像;在所述角色图像中识别出所述虚拟对象的角色参数信息,并在所述场景图像中识别出所述虚拟场景的场景信息。
可选的,在一些实施例中,所述识别单元,具体可以用于在所述预设测试数据集合中筛选出至少一个预设角色图像;对所述预设角色图像进行缩放处理,得到多个缩放后预设角色图像;计算所述角色图像与所述缩放后预设角色图像的图像相似度;根据所述图像相似度,确定所述虚拟对象的角色参数信息。
可选的,在一些实施例中,所述识别单元,具体可以用于在所述图像相似度中筛选出最大的图像相似度,得到目标图像相似度;当所述目标图像相似度超过预设图像相似度阈值时,将所述目标图像相似度对应的目标角色参数信息作为所述虚拟对象的角色参数信息,并将所述虚拟对象的角色参数信息存储至角色参数数据库,所述目标角色参数信息为所述目标图像相似度对应的缩放后预设角色图像的角色参数信息;当所述目标图像相似度未超过预设图像相似度阈值时,在所述角色参数数据库中筛选出历史画面帧的历史角色参数信息,并将所述历史角色参数信息作为所述虚拟对象的角色参数信息。
可选的,在一些实施例中,所述识别单元,具体可以用于在所述预设测试数据集合中筛选出至少一个预设场景图像;对所述预设场景图像进行缩放处理,得到多个缩放后预设场景图像;计算所述场景图像与所述缩放后预设场景图像的场景相似度;根据所述场景相似度,确定所述虚拟场景的场景信息。
此外,本发明实施例还提供一种电子设备,包括处理器和存储器,所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序实现本发明实施例提供的基于游戏任务的游戏测试方法。
此外,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例所提供的任一种游戏测试方法中的步骤。
本发明实施例在获取待测试画面帧后,该待测试画面帧为加载待测试游戏的目标游戏任务后当前页面对应的画面帧,该待测试画面帧包括虚拟场景和虚拟场景下的虚拟对象,在待测试画面帧中识别出虚拟对象的角色参数信息和虚拟场景的场景信息,然后,根据场景信息,生成针对虚拟对象的模拟操作信息,然后,基于模拟操作信息,在当前页面对虚拟对象进行操作,以更新虚拟对象的角色参数信息,当更新后的角色参数信息中的角色参数值超过预设参数阈值时,确定待测试游戏测试完成,由于该方案在游戏任务对应的测试画面帧中识别出虚拟对象的角色参数信息和虚拟场景的场景信息,并根据场景信息,对不同分辨率的待测试画面帧进行解析来生成模拟操作信息,从而无须动作回放或编写测试脚本来完成测试,因此,可以大大提高游戏的测试效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的游戏测试方法的场景示意图;
图2是本发明实施例提供的待测试游戏的游戏画面示意图;
图3是本发明实施例提供的游戏测试方法的流程示意图;
图4是本发明实施例提供的识别虚拟对象的角色参数信息的流程示意图;
图5是本发明实施例提供的识别虚拟场景的场景信息的流程示意图;
图6是本发明实施例提供的生成虚拟对象的模拟操作信息的流程示意图;
图7是本发明实施例提供的游戏测试方法的另一流程示意图;
图8是本发明实施例提供的待测试游戏的新手任务测试的流程示意图;
图9是本发明实施例提供的游戏测试装置的结构示意图;
图10是本发明实施例提供的游戏测试装置的另一结构示意图;
图11是本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种游戏测试方法、装置和计算机可读存储介质。其中,该基于游戏任务的游戏测试装置可以集成在电子设备中,该电子设备可以是服务器,也可以是终端等设备。
其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
例如,参见图1,以游戏测试装置集成在电子设备中为例,电子设备获取待测试画面帧后,该待测试画面帧为加载待测试游戏的目标游戏任务后当前页面对应的画面帧,该待测试画面帧包括虚拟场景和虚拟场景下的虚拟对象,在待测试画面帧中识别出虚拟对象的角色参数信息和虚拟场景的场景信息,然后,根据场景信息,生成针对虚拟对象的模拟操作信息,然后,基于模拟操作信息,在当前页面对虚拟对象进行操作,以更新虚拟对象的角色参数信息,当更新后的角色参数信息中的角色参数值超过游戏任务的预设参数阈值时,确定待测试游戏测试完成。
其中,游戏测试可以为通过对待测试游戏中设定的一个或多个游戏任务进行测试,待测试游戏可以为大型多人在线角色扮演类游戏(Massive Multiplayer OnlineRole-Playing Game,MMORPG),MMORPG这类游戏的游戏画面可以如图2所示,在这类游戏中可以包括虚拟场景21下的虚拟对象22,虚拟对象22在虚拟场景21中扮演一个特定的角色,去完成各类游戏任务或者与其他虚拟对象进行交互,该游戏任务可以为待测试游戏中的各类游戏任务,比如,新手任务、随机任务或固定任务等等,测试不同类型的设备是否可以完成设定的这些游戏任务,如果测试类型的设备可以完成这些游戏任务,就可以确定待测试游戏支持测试类型的设备,这种测试也可以理解为对待测试游戏的兼容性进行测试。
其中,在待测试画面帧中识别角色参数信息和场景信息以及生产模拟操作信息可以采用人工智能的方式,比如,可以采用深度学习或模仿学习的方式在待测试画面帧中识别角色参数信息和场景信息以及生产模拟操作信息。所谓人工智能(ArtificialIntelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
以下分别进行详细说明。需要说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本实施例将从游戏测试装置的角度进行描述,该基于游戏任务的游戏测试装置具体可以集成在电子设备中,该电子设备可以是服务器,也可以是终端等设备;其中,该终端可以包括平板电脑、笔记本电脑、以及个人计算机(PC,Personal Computer)、可穿戴设备、虚拟现实设备或其他可以完成游戏测试的智能设备等设备。
一种游戏测试方法,包括:
获取待测试画面帧,该待测试画面帧为加载待测试游戏的目标游戏任务后当前页面对应的画面帧,该待测试画面帧包括虚拟场景和虚拟场景下的虚拟对象,在待测试画面帧中识别出虚拟对象的角色参数信息和虚拟场景的场景信息,然后,根据场景信息,生成针对虚拟对象的模拟操作信息,然后,基于模拟操作信息,在当前页面对虚拟对象进行操作,以更新虚拟对象的角色参数信息,当更新后的角色参数信息中的角色参数值超过游戏任务的预设参数阈值时,确定待测试游戏测试完成。
如图3所示,该游戏测试方法的具体流程如下:
101、获取待测试画面帧。
其中,待测试画面帧为加载待测试游戏的目标游戏任务后当前页面对应的画面帧,比如,用户通过待测试游戏对应的客户端加载待测试游戏,并在待测试游戏中选择进入游戏任务后显示的当前页面对应的画面就可以为待测试画面帧,待测试画面帧中可以包括虚拟场景和虚拟场景下的虚拟对象。
例如,可以直接获取待测试画面帧,比如,当玩家在待测试游戏中进入游戏任务时,可以接收待测试游戏对应的客户端发送的当前页面对应的画面帧,将该当前页面对应的画面帧作为待测试画面帧。还可以间接获取待测试画面帧,比如,通过接入待测试游戏对应的客户端的视频流,根据视频流的帧数,对当前视频流的画面进行截屏,将截屏后的图像作为待测试画面帧。
其中,需要说明的是,对于获取的待测试画面帧,可以为一个待测试游戏对应的单一客户端的当前页面的画面帧,也可以为待测试游戏对应的多个客户端的当前页面的画面帧,甚至,还可以为多个待测试游戏的当前页面的画面帧。这样就可以大大提升对待测试游戏的测试效率。
102、在待测试画面帧中识别出虚拟对象的角色参数信息和虚拟场景的场景信息。
例如,获取预设测试数据集合,该预设测试数据集合包括预设角色图像和预设场景图像对应的第二位置信息,根据第二位置信息,在待测试画面帧中识别出角色区域和场景区域,以得到角色图像和场景图像,在角色图像中识别出虚拟对象的角色参数信息,并在场景图像中识别出虚拟场景的场景信息,具体可以如下:
S1、获取待测试游戏的预设测试数据集合。
其中,该预设测试数据集合可以包括预设角色图像和预设场景图像对应的第二位置信息。
例如,根据待测试游戏的游戏标识,获取该游戏标识对应的预设测试数据集合,预设测试数据集合包括角色参数模块库和场景信息模块库,角色参数模块库和场景信息模块库中包括一张或多张预设角色图像和预设场景图像,还可以包括预设角色图像和预设场景图像在游戏图像中的第二位置信息。
可选的,预设测试数据集合可以在获取预设测试数据集合之前进行创建,比如,可以创建角色参数模块库和场景信息模块库,然后,收集每个测试任务中所有角色参数和场景信息的游戏图像,其中,角色参数可以为虚拟对象的角色等级、角色性别或角色职业等信息,其中,场景信息可以为虚拟对象在待测试游戏中所处的游戏场景的信息,在游戏图像中记录每个角色的角色参数,以及场景信息在游戏图像中的位置,得到第二位置信息,该第二位置信息为游戏图像中角色参数和场景信息的位置信息,然后,根据第二位置信息,在游戏图像中截取角色参数的图像和场景信息的图像,得到预设角色图像和预设场景图像,分别将预设角色图像和预设场景图像存储至角色参数模块库和场景信息模块库,就可以得到预设测试数据集合。
S2、根据第二位置信息,在待测试画面帧中识别出角色区域和场景区域,以得到角色图像和场景图像。
其中,角色区域可以为画面帧中包含虚拟对象的区域,场景区域可以为待测试画面帧除了角色区域以外的区域。角色图像可以为待测试画面帧角色区域对应的图像,场景图像可以为待测试画面帧中场景区域对应的图像。
其中,角色图像为待测试游戏中包含角色参数信息的图像,比如,可以为待测试游戏中角色的角色等级、角色职业或角色性别等参数信息的图像,场景图像为待测试游戏中包含场景信息的图像,比如,可以为待测试游戏中场景标识或指示场景类型等场景信息的图像。
例如,对第二位置信息进行调整,根据调整后的位置,在待测试画面帧中识别出角色区域和场景区域,以得到角色图像和场景图像,比如,可以在第二位置信息中的角色区域位置和场景区域位置扩大一定的倍数,譬如,可以为扩大3倍或其他倍数,根据扩大的角色区域位置和场景区域位置,在待测试画面帧中识别出角色区域和场景区域,截取角色区域和场景区域的图像,就可以得到角色图像和场景图像。其中,对角色区域和场景区域进行扩大就可以增加在不同分辨率的待测试画面帧中识别角色参数信息和场景信息的准确率。
S3、在角色图像中识别出虚拟对象的角色参数信息,并在场景图像中识别出虚拟场景的场景信息。
其中,角色参数信息可以为虚拟对象对应的角色等级、角色性别和角色职业等参数信息,场景信息可以为待测试游戏中虚拟场景的类型或场景标识等信息,比如,可以为不同角色等级对应的测试项目运行场景的场景标识等信息。
例如,可以分别在角色图像中识别出虚拟对象的角色参数信息和在场景图像中识别出虚拟场景的场景信息,具体可以如下:
(1)在角色图像中识别出虚拟对象的角色参数信息。
可以利用多尺度模板匹配的方法从待测试画面帧中识别虚拟对象的角色参数信息,具体可以如图4所示。
在预设测试数据集合中筛选出至少一个预设角色图像,比如,在预设测试数据集合的角色参数模块库中筛选出至少一个角色参数的图像,作为预设角色图像,其中,对于筛选出预设角色图像需要说的是,在预设测试数据集合中是任意筛选出一个或多个预设角色图像,当筛选出的预设角色图像可以识别出虚拟对象的角色参数信息时,就不再继续筛选预设角色图像,当筛选出的预设角色图像还不能识别出虚拟对象的角色参数信息,就需要返回继续筛选预设角色图像,直到识别出虚拟对象的角色参数信息或预设测试数据集合中的预设角色图像已经全部筛选出来为止。每次筛选出的预设角色图像的数量可以相同也可以不同。
对预设角色图像进行缩放,比如,可以将预设角色图像缩放为多个尺度,譬如,缩放尺度可以为7个,尺度范围可以为(0.85,0.90,0.95,1.00,1.05,1.10,1.15),就可以得到多个缩放后预设角色图像,其中,对于缩放尺度小于的1按照缩放尺度与预设角色图像进行缩小,对于缩放尺度大于1的按照缩放尺度对预设角色图像进行放大。对预设角色图像进行缩放处理是为了进行多尺度模板匹配,识别不同图像分辨率下的角色参数信息。计算角色图像与缩放后预设角色图像的图像相似度,比如,可以采用使用跨平台计算机视觉和机器学习软件库(OpenCV)提供的归一化相关系数匹配法来计算角色图像和缩放后预设角色图像的图像相似度,计算出的图像相似度范围为[0,1],值越大图像相似度越高。
根据图像相似度,确定虚拟对象的角色参数信息,比如,在计算得到的图像相似度中筛选出最大的图像相似度,将这个最大的图像相似度作为目标图像相似度。
将目标图像相似度与预设图像相似度阈值进行对比:
(1)当目标图像相似度超过预设相似度阈值时,将目标相似度对应的目标角色参数信息作为虚拟对象的角色参数信息,并将虚拟对象的角色参数信息存储至角色参数数据库,该目标角色参数信息为目标相似度对应的缩放后预设角色图像的角色参数信息。
(2)当目标图像相似度未超过预设图像相似度阈值时,在角色参数数据库中筛选出历史画面帧的历史角色参数信息,比如,根据待测试画面帧的时间戳,在角色参数数据库中筛选出待测试画面帧前一帧的历史画面帧的历史角色参数信息,其中,历史画面帧为加载待测试游戏的同一个游戏任务中待测试画面帧的前一帧的画面帧,历史角色参数信息就可以为历史画面帧中虚拟对象的角色参数信息。如果待测试画面帧前一帧的历史画面帧在角色参数数据库没有存储历史角色参数信息时,就继续筛选出历史画面帧的前一帧,直到筛选出历史角色参数信息为止,将历史角色参数信息作为虚拟对象的角色参数信息,
(2)在场景图像中识别出虚拟场景的场景信息。
利用多尺度模板匹配的方法从待测试画面帧中识别游戏场景的场景信息具体可以如图5所示:
在预设测试数据集合中筛选出至少一个预设场景图像,比如,在预设测试数据集合的场景信息模块库中筛选出至少一个场景信息的图像,作为预设场景图像,其中,对于筛选出预设场景图像需要说的是,在预设测试数据集合中是任意筛选出一个或多个预设场景图像,当筛选出的预设场景图像可以识别出虚拟场景的场景信息时,就不再继续筛选预设场景图像,当筛选出的预设场景图像还不能识别出虚拟场景的场景信息,就需要返回继续筛选预设场景图像,直到识别出虚拟场景的场景信息或预设测试数据集合中的预设场景图像已经全部筛选出来为止。每次筛选出的预设场景图像的数量可以相同也可以不同。
对预设场景图像进行缩放,比如,可以将预设场景图像缩放为多个尺度,譬如,缩放尺度可以为9个,尺度范围为(0.80,0.85,0.90,0.95,1.00,1.05,1.10,1.15,1.20),就可以得到多个缩放后预设场景图像。
然后计算场景图像与缩放后预设场景图像的场景相似度,比如,可以采用OpenCV供的归一化相关系数匹配法来计算场景图像和缩放后预设场景图像的场景相似度。
根据场景相似度,确定虚拟场景的场景信息,比如,可以在多个场景相似度中筛选出最大的场景相似度,得到目标场景相似度。
将目标场景相似度与预设场景相似度阈值进行对比:
(1)当目标场景相似度超过预设场景相似度阈值时,将目标场景相似度对应的目标场景信息作为虚拟场景的场景信息,该目标场景信息可以为目标场景相似度对应的缩放后预设场景图像对应的场景信息。
(2)当目标场景相似度未超过预设场景相似度阈值时,就可以输出告警信息,表明当前场景信息模块库中没有覆盖到当前测试任务的所有场景,需要在场景信息模块库中添加相应的场景图像。
103、根据场景信息,生成针对虚拟对象的模拟操作信息。
其中,模拟操作信息可以为模拟用户在待测试游戏中对虚拟对象的操作信息,该操作信息可以为行走到指定位置、释放特定的技能的信息或与特定的虚拟用户进行交互等操作动作对应的信息。
例如,可以根据目标游戏任务的类型,确定待测试游戏中针对目标游戏任务的至少两个测试项目,得到测试项目集合,根据场景信息,测试项目集合中筛选出待测试画面帧对应的测试项目,根据测试项目,生成针对虚拟对象的模拟操作信息,具体可以如下:
C1、根据目标游戏任务的类型,确定在待测试游戏中针对目标游戏任务的至少两个测试项目,得到测试项目集合。
其中,目标游戏任务可以为待测试游戏中设置的一些任务,比如,可以包括新手任务、固定任务或随机任务等,所谓新手任务可以理解为在玩家新建角色后,游戏会指引玩家体验游戏的各个功能,这些功能体验的流程是有顺序并且相对固定的一个或多个测试项目。固定任务可以为在一些游戏场景中虚拟对象需要按照固定的游戏规则完成一个或多个测试项目,比如,以固定任务为虚拟对象从A点移动到B点为例,虚拟对象需要按照地图上规定的固定路线行走,才可以从A点移动到B点,此时该移动任务就可以为固定任务。与固定任务相对对应的随机任务就可以为不需要按照固定的游戏规则完成一个或多个测试项目,比如,以随机任务为虚拟对象从A点移动到B点为例,虚拟对象不需要按照地图上规定的线路,只需要从A点移动到B点即可完成任务。
其中,测试项目可以为新手任务、固定任务或随机任务中的一些具体的项目,比如,可以为对话项目、指引项目、战斗项目或锻造项目等等,对话项目可以理解为虚拟对象与其他玩家角色对应的虚拟对象或非玩家角色的虚拟对象进行对话的相关测试项目,指引项目可以理解为通过指引控件或其他指引方式将虚拟对象指引至预定位置的相关测试项目,战斗项目可以理解为虚拟对象与其他玩家的虚拟对象进行攻击或合作的相关测试项目,锻造项目可以理解为对虚拟对象的虚拟技能或虚拟武器等进行加工、合成或其他锻造方式进行升级的相关测试项目。
例如,确定目标游戏任务的类型,在测试信息中筛选出该目标游戏任务的类型对应的至少两个测试项目,比如,当游戏任务为新手任务时,就可以在测试信息中筛选出新手任务对应的测试项目,比如,新手任务对应的测试项目可以包括对话项目、指引项目、战斗项目或锻造项目,就可以得到新手任务对应的测试项目集合。
C2、根据场景信息,在测试项目集合中筛选出待测试画面帧对应的测试项目。
例如,可以在场景信息中提取出虚拟场景的场景标识。其中,场景标识可以为描述虚拟场景的类型的标识信息,比如,当虚拟场景的类型为指引场景时,则场景标识就可以为虚拟场景中的指引NPC(非玩家角色),其中,指引NPC为待测试游戏中负责指引的非玩家角色。根据场景标识,确定虚拟场景的对应的场景类型,比如,当场景标识中包含对话NPC或者除了指引NPC以外的基础NPC,就可以确定虚拟场景的场景类型为基础场景,当场景标识为指引NPC时,就可以确定虚拟场景的场景类型为指引场景,当场景标识中包含其他玩家的角色对象或需要攻击的对象时,就可以确定虚拟场景的场景类型为战斗场景。
基于场景类型,在测试项目集合中确定出待测试画面帧对应的测试项目,比如,当场景类型为基础场景时,在测试项目集合中确定出待测试画面帧对应的测试项目为基础测试,基础测试可以包括对话项目和锻造项目等测试项目。当场景类型为指引场景时,在测试项目集合中确定出待测试画面帧对应的测试项目为指引测试。当场景类型为战斗场景时,在测试项目集合中确定出待测试画面帧对应的测试项目为战斗测试。
其中,对于虚拟场景的场景类型,在本申请中根据虚拟场景中动作执行的复杂程度将虚拟场景分为三类,主要包括第一类虚拟场景、第二类虚拟场景和第三类虚拟场景,将虚拟场景分为三类主要是为了针对复杂程度不同的场景而采用针对性的解决方案,这样就可以更加的便捷的针对不同虚拟场景生成针对虚拟对象的模拟操作信息,从而提升对待测试游戏的检测效率。其中,第一类虚拟场景中需要执行的动作难度简单,可以为基础场景,通过识别输入图像中基础控件,根据当前场景去点击识别出的基础控件来进行相应的动作,具有比较固定的执行逻辑。其中,基础控件可以为对话控件、锻造控件和技能控件等,比如,在对话场景中,我们点击特定区域的对话控件进行角色对话,之后接收任务即可开始任务;在技能场景中,我们依次点击不同的技能控件升级不同的技能,之后关闭技能界面即可提升战斗力,将这一类场景就可以称为基础场景。第二类场景的动作执行难度中等,通过识别输入图像中的目标物来进行相应的动作。比如,在指引场景中,我们按照指引的提示点击不同的位置。将这一类虚拟场景就可以称为指引场景。第三类场景的动作执行难度困难,需要根据输入图像选择和执行多种动作,没有固定的执行逻辑。比如,在战斗场景中,我们即要根据地图和怪物调整角色在地图中的位置,又要把握时机释放角色技能。
C3、根据测试项目,生成针对虚拟对象的模拟操作信息。
例如,可以根据测试项目的类型,采用不同的策略来生成针对虚拟对象的模拟操作信息,具体可以如下:
(1)当测试项目为基础测试时,在待测试画面帧中识别出基础控件的逻辑信息,以生成针对虚拟对象的模拟操作信息。
其中,基础控件可以理解为存在固定逻辑信息的控件,比如,确定控件、取消控件、下一步控件、对话控件和释放控件等。以下一步控件为例,来解释该控件存在的固定逻辑信息,当玩家或用户触发该控件时,就代表可以进入下一步的操作页面,此时,就可以发现该控件的固定逻辑信息就可以为触发显示下一步需要的操作页面。
例如,当测试项目为基础测试时,在待测试画面帧中识别出当前页面存在的至少一个基础控件,比如,在预设测试数据集合中筛选出预设基础控件模块库,在预设基础控件模块库中获取预设基础控件图像对应的控件位置信息,将控件位置信息进行缩放,根据缩放后控件位置信息,在待测试画面帧中截取出缩放后控件位置信息对应的基础控件图像。将预设基础控件图像进行多个尺度的缩放,譬如,可以缩放为9个尺度,尺度范围为(0.80,0.85,0.90,0.95,1.00,1.05,1.10,1.15,1.20),计算缩放后预设基础控件图像与基础控件图像的控件相似度,当某个基础控件对应的控件相似度大于预设控件相似度阈值时,则表示待测试画面帧存在该基础控件,反之则不存在。这样就可以识别出当前页面中存在的基础控件。
根据基础控件的类型,确定基础控件对应的逻辑信息。比如,根据基础控件的类型,在预设逻辑信息集合中筛选出基础控件的类型对应的逻辑信息。将逻辑信息转换为操作动作,并基于操作动作,生成针对虚拟对象的模拟操作信息。比如,在对话测试中,当在输入的待测试画面帧中,识别出接收任务或完成任务这个基础控件,接收任务控件的逻辑信息就可以为触发接收任务控件就可以开始对话测试,完成任务控件的逻辑信息就可以为触发完成任务控件就可以结束对话测试。因此,在任务开始时,接收任务控件对应的操作动作就可以为点击该基础控件,在任务完成时,完成任务控件对应的操作动作都可以为点击该基础控件。基于点击该基础控件的操作动作,就可以生成当前页面针对虚拟对象的模拟操作信息为点击基础控件。
可选的,还可以在预设测试数据集合中构建预设基础控件模块库,比如,采集某个角色参数信息和某个场景信息对应的虚拟场景下的待测试游戏会显示的游戏画面的画面帧样本,在画面帧样本中标注需要操作的基础控件,记录这些基础控件在游戏画面中的位置,截取画面帧样本中基础控件的图像,作为预设基础控件模块库。
(2)当测试项目为指引测试时,在待测试画面帧中识别出指引控件的位置,以生成针对虚拟对象的模拟操作信息。
例如,可以采用位置识别模型对待测试画面帧进行特征提取,得到待测试画面帧中的指引控件的控件特征信息,比如,可以采用训练后的Yolov3(一种图像处理模型)作为位置识别模型对待测试画面帧进行特征提取,得到待测试画面帧中的指引控件的控件特征信息,其中控件特征信息可以为控件的尺寸特征信息、控件的位置特征信息等。
根据控件特征信息,确定指引控件在待测试画面帧中的第一位置信息。比如,根据控件特征信息,位置识别模型输出待测试画面帧中指引控件的位置区域对应的至少一个检测框的位置参数,当位置参数都超过预设位置参数阈值时,在这些检测框中筛选出位置参数最大的检测框对应的位置信息作为指引控件的第一位置信息,如果位置识别模型未输出检测框的位置参数,则说明待测试画面帧中不存在指引控件,此时,当前页面不需要进行指引测试。
基于第一位置信息,生成针对虚拟对象的模拟操作信息,比如,将第一位置信息作为当前需要点击的位置信息,就可以生成针对虚拟对象的模拟操作信息,该模拟操作信息可以为针对虚拟对象在当前页面需要点击第一位置信息对应的区域。由此,可以发现对于指引测试项目来说,对待测试画面帧的解析方式可以为采用深度学习的方式通过位置识别模型对待测试画面帧进行解析。
可选的,该位置识别模型可以根据实际应用的需求进行设置,另外,需要说的是,该位置识别模型可以由维护人员预先进行设置,也可以由该位置识别模型自行进行训练,比如,可以采集500至1000张待测试游戏的画面中出现指引控件的游戏图像,在游戏图像中标注其中存在的指引控件的位置,作为训练样本。采用预设位置识别模型对训练样本中指引控件的位置进行预测,得到预测位置,比如,对训练样本进行特征提取,得到训练样本中的指引控件的控件特征信息,根据控件特征信息,确定指引控件在训练样本中的预测位置。根据预测位置与标注位置对预设位置识别模型进行收敛得到位置识别模型。比如,可以通过插值损失函数,根据预测位置与标注位置对预设位置识别模型进行收敛,得到位置识别模型。
其中,对于位置识别模型的训练,当训练过程达到最大训练次数时,停止训练,输出训练后的位置识别模型。
(3)当测试项目为战斗测试时,在待测试画面帧中识别出虚拟对象需要执行的战斗动作,以生成针对虚拟对象的模拟操作信息。
例如,可以采用动作识别模型对待测试画面帧进行特征提取,得到待测试画面帧中虚拟对象的动作特征信息,比如,可以采用动作识别模型的多个卷积层和池化层对待测试画面帧进行特征提取,得到待测试画面帧中虚拟对象的动作特征信息。根据动作特征信息,在预设战斗动作集合中筛选出虚拟对象需要执行的战斗动作,比如,通过动作识别模型的全连接层对动作特征信息进行处理,输出预设战斗动作集合中动作特征信息对应的每个战斗动作的执行概率,在预设战斗动作集合中筛选出执行概率最大的战斗动作作为虚拟对象需要执行的战斗动作。将战斗动作转换为针对虚拟对象的模拟操作信息,比如,战斗动作为虚拟对象向左移动,则转换为的针对虚拟对象的模拟操作信息就可以按住轮盘中心向左滑动。由此,可以发现对于战斗测试项目来说,对待测试画面帧的解析方式可以为采用模仿学习的方式通过动作识别模型对待测试画面帧进行解析。
可选的,该动作识别模型可以根据实际应用的需求进行设置,另外,需要说的是,该动作识别模型可以由维护人员预先进行设置,也可以由该动作识别模型自行进行训练,比如,可以采集10-20场某角色参数信息下某个战斗场景下的某场战斗的专家通关数据,数据以游戏图像和执行动作的形式保存,即在当前图像下专家执行了哪个操作,也可以理解为某厂战斗中在全部的游戏图像中标注出专家执行的操作对应的虚拟对象执行的战斗动作,从而得到动作训练样本,比如,使用上下左右四个动作控制角色移动,使用三个动作控制角色释放技能,再加上空动作,总共八个动作。采用预设动作识别模型对动作训练样本中虚拟对象需要执行的战斗动作进行预测,得到预测战斗动作,比如,预设动作识别模型的结构可以包括3个卷积层、3个池化层和2个全连接层,卷积层和赤化层交替使用,来采集动作训练样本中的动作特征信息,采用全连接层对动作特征信息进行处理,输入96*96的动作训练样本,输出大小1*8,输出的值为预设战斗动作集合中每个战斗动作执行的概率,在预设战斗动作集合中筛选出预测战斗动作。根据预测战斗动作与标注战斗动作对预设动作识别模型进行收敛,得到动作识别模型。比如,可以通过插值损失函数,根据预测战斗动作与标注战斗动作进行收敛,得到动作识别模型。
其中,对于动作识别模型的训练,当训练过程达到最大训练次数时,停止训练,输出训练后的动作识别模型。
其中,需要说明的是,对于生成虚拟对象的模拟操作信息来说,主要是针对不同的虚拟场景类型对应不同的测试项目,基于不同的测试项目,采用不同的方法或测试模块对待测试画面帧进行解析,比如,测试模块可以包括指引模块、对话模块、战斗模块、锻造模块或技能模块等,各个模块又可以处理不同的角色参数信息下的测试项目,譬如,以指引模块为例,就可以处理包括角色参数信息中不同的角色等级对应的不同测试项目,其中,(1-1)就可以代表第1级的第1个测试项目,(2-1)就可以代表第2级的第1个任务,依次类推,从而可以输出待测试画面对应的模拟操作信息,具体可以如图6所示,可以发现每个测试模块都为处理某个特定的测试项目而设计的,如果在同一个的角色等级下,存在多个相同场景的测试模块,则需要按照顺序执行这些测试模块,当某一个测试模块的测试项目被执行完成之后,才开始执行下一个测试模块。
104、基于模拟操作信息,在当前页面对虚拟对象进行操作,以更新虚拟对象的角色参数信息。
例如,可以基于模拟操作信息,在当前页面对虚拟对象进行操作,以更新当前页面,获取更新后页面对应的更新画面帧,并在更新画面帧中识别出虚拟对象的更新角色参数信息,根据更新角色参数信息,对虚拟对象的角色参数信息进行更新,具体可以如下:
(1)基于模拟操作信息,在当前页面对虚拟对象进行操作,以更新当前页面。
例如,可以根据模拟操作信息,触发在当前页面对虚拟对象进行具体操作,比如,以模拟操作信息为按住轮盘中心向左滑动为例,此时,就可以触发在当前页面识别出轮盘中心的位置,并在当前页面上按住轮盘中心向左移动,此时,就可以使得虚拟对象在当前页面上向左移动,当虚拟对象移动到指定位置时,停止移动,在待测试游戏的客户端上显示虚拟对象移动后的页面,从而就可以更新当前页面,此时,虚拟对象移动后的页面就可以为更新后页面。
(2)获取更新后页面对应的更新画面帧,并在更新画面帧中识别出虚拟对象更新后的角色参数信息。
例如,可以直接或间接获取更新后页面对应的更新画面帧,并在更新画面帧中识别出虚拟对象更新后的角色参数信息,具体的获取更新画面帧和在更新画面帧中识别出虚拟对象更新后角色参数信息的方式可以参考上文所述,在此就不一一赘述。
105、当更新后的角色参数信息中的角色参数值超过预设参数阈值时,确定待测试游戏测试完成。
例如,当虚拟对象当前的角色参数信息存在更新时,将更新后的角色参数信息中的角色参数值与预设参数阈值进行对比,比如,将更新后的角色参数信息中的角色等级与预设等级阈值进行对比。当更新后的角色参数信息中的角色参数值超过预设参数阈值时,此时就可以确定对待测试游戏的游戏任务已经通过,此时就可以确定,待测试游戏的测试完成。
可选的,当更新后的角色参数信息的角色参数值未超过预设参数阈值时,就说明当前的游戏任务还没通过,还需要继续对待测试游戏的游戏任务进行测试,因此,基于游戏任务的游戏测试方法还可以包括:
当更新后的角色参数信息中的角色参数值未超过预设参数阈值时,返回执行获取待测试画面帧的步骤,获取当前画面帧,并在当前画面帧中识别出虚拟对象的当前角色参数信息,当当前角色参数信息中的当前角色参数值未超过预设参数阈值时,确定待测试游戏的测试未完成,当当前角色参数信息中的当前角色参数值超过预设参数阈值时,确定待测试游戏测试完成。
例如,当更新后的角色参数信息中的角色等级未超过预设等级阈值时,返回执行获取待测试画面帧的步骤,将更新页面的更新画面帧作为待测试画面帧,继续在待测试画面帧中识别出虚拟场景的场景信息,根据场景信息,生成针对虚拟对象的模拟操作信息,基于模拟操作信息,在当前页面对虚拟对象进行操作,以更新当前的角色参数信息,当再次更新后的角色参数信息中的角色等级超过预设等级阈值时,此时,就可以确定对待测试游戏的测试完成。当再次更新后的角色参数信息中的角色等级依然未超过预设等级阈值时,再次返回获取待测试画面帧的步骤,直至测试任务完成为止,然后,将获取完成测试任务的最后一个测试项目后的当前画面帧,在当前画面帧中识别出虚拟对象的当前角色参数信息,将当前角色参数信息中的角色等级与预设等级阈值进行对比,当当前角色参数信息中的角色等级未超过预设等级阈值时,此时,就可以确定对待测试游戏的测试未完成。当当前角色参数信息中的角色等级超过预设等级阈值时,此时,就可以确定对待测试游戏测试完成。
由以上可知,本申请实施例在获取待测试画面帧后,该待测试画面帧为加载待测试游戏的目标游戏任务后当前页面对应的画面帧,该待测试画面帧包括虚拟场景和虚拟场景下的虚拟对象,在待测试画面帧中识别出虚拟对象的角色参数信息和虚拟场景的场景信息,然后,根据场景信息,生成针对虚拟对象的模拟操作信息,然后,基于模拟操作信息,在当前页面对虚拟对象进行操作,以更新虚拟对象的角色参数信息,当更新后的角色参数信息中的角色参数值超过预设参数阈值时,确定待测试游戏测试完成,由于该方案在测试画面帧中识别出虚拟对象的角色参数信息和虚拟场景的场景信息,并根据场景信息,对不同分辨率的待测试画面帧进行解析来生成模拟操作信息,从而无须动作回放或编写测试脚本来完成测试,因此,可以大大提高游戏的测试效率。
根据上面实施例所描述的方法,以下将举例作进一步详细说明。
在本实施例中,将以该基于游戏任务的游戏测试方法应用在游戏的新手任务的测试场景为例进行说明。
其中,对于新手任务来说,新手任务的测试项目较多,包括复杂度较高的战斗测试,战斗测试通常比较灵活多变,只需要攻击敌方,可以使用的执行动作较多,对于采用固定流程的测试脚来说很难完成战斗测试的测试项目。对于其实的测试项目来说,对于不同的待测试画面帧的分辨率来说,基于动作回放的模拟操作在不同分辨率的待测试画面帧中无法直接复用。
玩家在待测试游戏中新建角色,就可以自动进入待测试游戏的新手任务中,此时基于游戏任务的游戏装置就可以获取玩家进入新手任务后的游戏页面的待测试画面帧,在待测试画面帧中识别出玩家角色的角色等级和玩家角色所处的游戏场景的类型,根据场景的类型,确定玩家角色在游戏场景中需要执行的动作,从而生成针对玩家角色的模拟操作信息,然后,根据模拟操作信息,对玩家角色在游戏页面进行操作,比如,玩家需要与某个NPC进行对话,就可以点击NPC的对话控件等与NPC进行对话,从而完成对话测试项目,提升玩家的角色等级。获取操作后的更新游戏页面,在更新游戏页面中确定出玩家角色的角色等级,如果角色等级达到了新手任务的等级阈值时,比如,可以设定超过10级就认为新手任务完成,当角色等级达到了10级,此时,就可以确定待测试游戏的新手任务测试通过,也就可以确地待测试游戏的测试完成。当角色等级未达到10级时,继续对更新页面的游戏场景进行识别,从而继续生成对玩家角色的操作信息,再对玩家角色进行操作,直至玩家角色的角色等级超过10级为止,从而完成新手任务的测试。
下面以图7为例,通过具体测试项目来阐述新手任务的测试过程,从新手任务开始,角色等级为1级时,需要完成虚拟场景下的对话(1-1)测试项目,对于对话(1-1)的测试项目可以采用图像识别的方式来完成,完成对话(1-1)之后,就可以将虚拟对象的角色等级升级至2级,以新手任务的结束等级阈值为N级,N大于3为例,此时,就还未完成新手任务,就需要继续完成第2级需要完成的指引(2-1)和战斗(2-2)测试项目,对于指引(2-1)测试项目,就需要采用深度学习的方式来完成,对于战斗(2-2)测试项目来说,就需要采用模仿学习的方式来完成,做完第2级需要完成的测试项目之后,就可以升级至3级,此时,依然没有完成新手任务,就需要继续完成第3级需要完成的测试项目,根据第3级需要完成的测试项目的类型,采用不同的方式来完成测试项目,依次类推,直到新手任务的第N级的测试项目完成,此时就完成了新手任务的全部测试项目。当此时的虚拟对象的角色等级超过N级时,就可以确定待测试游戏的新手任务结束,测试通过。当此时的虚拟对象的角色等级未超过N级时,就可以确定待测试游戏的新手任务的测试未通过。
其中,需要说明的是,本方案将新手任务按照游戏场景进行模块化,根据不同的游戏场景和角色等级,将新手任务划分为若干个模块,每个模块功能单一并且相对独立,这样可以大大降低自动测试新手任务的难度和维护成本。而且可以根据不同模块的特点,使用不同的方法进行自动化操作。根据上面实施例所描述的方法,以下将举例作进一步详细说明。
在本实施例中,将以该游戏测试装置具体集成在电子设备,电子设备为服务器,角色参数信息为虚拟对象的角色等级信息,角色参数值为虚拟对象的角色等级,目标游戏任务为待测试游戏的新手任务为例进行说明。
(一)位置识别模型和动作识别模型的训练。
(1)位置识别模型的训练。
例如,服务器可以采集500至1000张待测试游戏的画面中出现指引控件的游戏图像,在游戏图像中标注其中存在的指引控件的位置,作为训练样本。采用预设位置识别模型对训练样本中指引控件的位置进行预测,得到预测位置,比如,对训练样本进行特征提取,得到训练样本中的指引控件的控件特征信息,根据控件特征信息,确定指引控件在训练样本中的预测位置。根据预测位置与标注位置对预设位置识别模型进行收敛得到位置识别模型。比如,可以通过插值损失函数,根据预测位置与标注位置对预设位置识别模型进行收敛,得到位置识别模型。
(2)动作识别模型的训练。
例如,服务器可以采集10-20场某角色参数信息下某个战斗场景下的某场战斗的专家通关数据,数据以游戏图像和执行动作的形式保存,即在当前图像下专家执行了哪个操作,也可以理解为某厂战斗中在全部的游戏图像中标注出专家执行的操作对应的虚拟对象执行的战斗动作,从而得到动作训练样本,比如,使用上下左右四个动作控制角色移动,使用三个动作控制角色释放技能,再加上空动作,总共八个动作。采用预设动作识别模型对动作训练样本中虚拟对象需要执行的战斗动作进行预测,得到预测战斗动作,比如,预设动作识别模型的结构可以包括3个卷积层、3个池化层和2个全连接层,卷积层和赤化层交替使用,来采集动作训练样本中的动作特征信息,采用全连接层对动作特征信息进行处理,输入96*96的动作训练样本,输出大小1*8,输出的值为预设战斗动作集合中每个战斗动作执行的概率,在预设战斗动作集合中筛选出预测战斗动作。根据预测战斗动作与标注战斗动作对预设动作识别模型进行收敛,得到动作识别模型。比如,可以通过插值损失函数,根据预测战斗动作与标注战斗动作进行收敛,得到动作识别模型。
其中,对于位置识别模型和动作识别模型的训练,当训练过程达到最大训练次数时,停止训练,输出训练后的位置识别模型。
(二)位置识别模型和动作识别模型的应用
如图8所示,一种游戏测试方法,具体流程如下:
201、服务器获取待测试画面帧。
例如,服务器可以接收待测试游戏对应的客户端发送的新手任务的当前页面对应的画面帧,将该当前页面对应的画面帧作为待测试画面帧,还可以通过接入待测试游戏对应的客户端的视频流,根据视频流的帧数,对当前视频流的画面进行截屏,将截屏后的图像作为待测试画面帧。
202、服务器获取待测试游戏的预设测试数据集合。
例如,服务器根据待测试游戏的游戏标识,获取该游戏标识对应的预设测试数据集合,预设测试数据集合包括角色等级模块库和场景信息模块库,角色等级模块库和场景信息模块库中可以包括预设角色图像和预设场景图像,还可以包括预设角色图像和预设场景图像在游戏图像中的第二位置信息。
可选的,预设测试数据集合可以在获取预设测试数据集合之前进行创建,比如,服务器可以创建角色等级模块库和场景信息模块库,然后,收集每个测试任务中所有角色等级和场景信息的游戏图像,记录每个角色等级和场景信息在游戏图像中的位置,得到第二位置信息,然后,截取角色等级的图像和场景信息的图像,得到预设角色图像和预设场景图像,分别将预设角色图像和预设场景图像存储至角色等级模块库和场景信息模块库,就可以得到预设测试数据集合。
203、服务器根据第二位置信息,在待测试画面帧中识别出角色区域和场景区域,以得到角色图像和场景图像。
例如,服务器可以在第二位置信息中的角色区域位置和场景区域位置扩大一定的倍数,比如,可以将角色区域位置扩大3倍,将场景区域位置扩大4倍,根据扩大的角色区域位置和场景区域位置,在待测试画面帧中识别出角色区域和场景区域,截取角色区域和场景区域的图像,就可以得到角色图像和场景图像。
204、服务器在角色图像中识别出虚拟对象的角色等级信息,并在场景图像中识别出虚拟场景的场景信息。
例如,服务器可以分别在角色图像中识别出虚拟对象的角色等级信息和在场景图像中识别出虚拟场景的场景信息,具体可以如下:
(1)服务器在角色图像中识别出虚拟对象的角色等级信息。
例如,服务器在预设测试数据集合的角色参数模块库中筛选出至少一个角色等级信息的图像,作为预设角色图像,将预设角色图像缩放7个尺度,尺度范围可以为(0.85,0.90,0.95,1.00,1.05,1.10,1.15),就可以得到多个缩放后预设角色图像,采用OpenCV提供的归一化相关系数匹配法来计算角色图像和缩放后预设角色图像的图像相似度,在图像相似度中筛选出最大的图像相似度,得到目标图像相似度,将目标图像相似度与预设图像相似度阈值进行对比,当目标图像相似度超过预设相似度阈值时,将目标相似度对应的目标角色等级信息作为虚拟对象的角色等级信息,并将虚拟对象的角色等级信息存储至角色等级数据库。当目标图像相似度未超过预设图像相似度阈值时,根据待测试画面帧的时间戳,在角色等级数据库中筛选出待测试画面帧前一帧的历史画面帧的历史角色等级信息,如果待测试画面帧前一帧的历史画面帧在角色等级数据库没有存储历史角色等级信息时,就继续筛选出历史画面帧的前一帧,直到筛选出历史角色等级信息为止,将历史角色等级信息作为虚拟对象的角色等级信息。
(2)服务器在场景图像中识别出虚拟场景的场景信息。
例如,服务器在预设测试数据集合的场景信息模块库中筛选出至少一个截场景信息的图像,作为预设场景图像,对预设场景图像进行缩放,缩放尺度可以为9个,尺度范围为(0.80,0.85,0.90,0.95,1.00,1.05,1.10,1.15,1.20),就可以得到多个缩放后预设场景图像。用OpenCV供的归一化相关系数匹配法来计算场景图像和缩放后预设场景图像的场景相似度。在多个场景相似度中筛选出最大的场景相似度,得到目标场景相似度,将目标场景相似度与预设场景相似度阈值进行对比,当目标场景相似度超过预设场景相似度阈值时,将目标场景相似度对应的目标场景信息作为虚拟场景的场景信息。当目标场景相似度未超过预设场景相似度阈值时,就可以输出告警信息,表明当前场景信息模块库中没有覆盖到当前测试任务的所有场景,需要在场景信息模块库中添加相应的场景图像。
205、服务器根据游戏任务的类型,确定在待测试游戏中针对游戏任务的至少两个测试项目,得到测试项目集合。
例如,服务器确定游戏任务为新手任务时,在就可以在测试信息中筛选出新手任务对应的测试项目,比如,新手任务对应的测试项目可以包括对话项目、指引项目、战斗项目或锻造项目,就可以得到新手任务对应的测试项目集合。
206、服务器根据场景信息,在测试项目集合中筛选出待测试画面帧对应的测试项目。
例如,服务器在场景信息中提取出虚拟场景的场景标识。根据场景标识,就可以确定虚拟场景的对应的场景类型,比如,当场景标识中包含对话NPC或者除了指引NPC以外的基础NPC,就可以确定虚拟场景的场景类型为基础场景,当场景标识为指引NPC时,就可以确定虚拟场景的场景类型为指引场景,当场景标识中包含其他玩家的角色对象或需要攻击的对象时,就可以确定虚拟场景的场景类型为战斗场景。
当场景类型为基础场景时,在测试项目集合中中确定出待测试画面帧对应的测试项目为基础测试,基础测试可以包括对话项目和锻造项目等测试项目。当场景类型为指引场景时,在测试项目集合中确定出待测试画面帧对应的测试项目为指引测试。当场景类型为战斗场景时,在测试项目集合中确定出待测试画面帧对应的测试项目为战斗测试。
207、服务器根据测试项目,生成针对虚拟对象的模拟操作信息。
例如,服务器可以根据测试项目的类型,采用与测试项目类型相同的解析方法,对待测试画面帧进行解析,以生成针对虚拟对象的模拟操作信息,具体可以如下:
(1)当测试项目为基础测试时,服务器在待测试画面帧中识别出基础控件的逻辑信息,以生成针对虚拟对象的模拟操作信息。
例如,当测试项目为基础测试时,服务器在预设测试数据集合中筛选出预设基础控件模块库,在预设基础控件模块库中获取预设基础控件图像对应的控件位置信息,将控件位置信息进行缩放,根据缩放后控件位置信息,在待测试画面帧中截取出缩放后控件位置信息对应的基础控件图像。将预设基础控件图像进行9个尺度的缩放,尺度范围为(0.80,0.85,0.90,0.95,1.00,1.05,1.10,1.15,1.20),计算缩放后预设基础控件图像与基础控件图像的控件相似度,当某个基础控件对应的控件相似度大于预设控件相似度阈值时,则表示待测试画面帧存在该基础控件,反之则不存在。这样就可以识别出当前页面中存在的基础控件。
服务器根据基础控件的类型,在预设逻辑信息集合中筛选出基础控件的类型对应的逻辑信息。将逻辑信息转换为操作动作,并基于操作动作,生成针对虚拟对象的模拟操作信息。比如,在对话测试中,当在输入的待测试画面帧中,识别出接收任务或完成任务这个基础控件,接收任务控件的逻辑信息就可以为触发接收任务控件就可以开始对话测试,完成任务控件的逻辑信息就可以为触发完成任务控件就可以结束对话测试。因此,在任务开始时,接收任务控件对应的操作动作就可以为点击该基础控件,在任务完成时,完成任务控件对应的操作动作都可以为点击该基础控件。基于点击该基础控件的操作动作,就可以生成当前页面针对虚拟对象的模拟操作信息为点击基础控件。
可选的,服务器还可以在预设测试数据集合中构建预设基础控件模块库,比如,采集某个角色参数信息和某个场景信息对应的虚拟场景下的待测试游戏会显示的游戏画面的画面帧样本,在画面帧样本中标注需要操作的基础控件,记录这些基础控件在游戏画面中的位置,截取画面帧样本中基础控件的图像,作为预设基础控件模块库。
(2)当测试项目为指引测试时,服务器在待测试画面帧中识别出指引控件的位置,以生成针对虚拟对象的模拟操作信息。
例如,当测试项目为指引测试时,服务器可以采用训练后的Yolov3模型作为位置识别模型对待测试画面帧进行特征提取,得到待测试画面帧中的指引控件的控件特征信息,根据控件特征信息,位置识别模型输出待测试画面帧中指引控件的位置区域对应的至少一个检测框的位置参数,当位置参数都超过预设位置参数阈值时,在这些检测框中筛选出位置参数最大的检测框对应的位置信息作为指引控件的第一位置信息,如果位置识别模型未输出检测框的位置参数,则说明待测试画面帧中不存在指引控件,此时,当前页面不需要进行指引测试。将第一位置信息作为当前需要点击的位置信息,就可以生成针对虚拟对象的模拟操作信息,该模拟操作信息可以为针对虚拟对象在当前页面需要点击第一位置信息对应的区域。
(3)当测试项目为战斗测试时,服务器在待测试画面帧中识别出虚拟对象需要执行的战斗动作,以生成针对虚拟对象的模拟操作信息。
例如,服务器可以将待测试画面帧的尺寸调整为96*96,然后,采用动作识别模型中的3个卷积层和3个池化层交替使用,从而从待测试画面帧中提取出虚拟对象的动作特征信息,再通过2个全连接层对提取出的动作特征信息进行处理,从而输出1*8的识别后图像结果和预设战斗动作集合中每个战斗动作的执行概率,在预设战斗动作集合中筛选出执行概率最大的战斗动作作为虚拟对象需要执行的战斗动作。将战斗动作转换为针对虚拟对象的模拟操作信息,比如,战斗动作为虚拟对象向左移动,则转换为的针对虚拟对象的模拟操作信息就可以按住轮盘中心向左滑动。
208、服务器基于模拟操作信息,在当前页面对虚拟对象进行操作,以更新虚拟对象的角色等级信息。
例如,服务器可以根据模拟操作信息,触发在当前页面对虚拟对象进行具体操作,从而更新当前页面,得到更新后页面,然后,直接或间接获取更新后页面对应的更新画面帧,并在更新画面帧中识别出虚拟对象更新的角色等级信息。
209、当更新后的角色等级信息中的角色等级超过预设等级阈值时,服务器确定待测试游戏的新手任务测试通过。
例如,将更新后的角色等级信息中的角色等级与预设等级阈值进行对比。当更新后的角色等级信息中的角色等级超过预设参数阈值时,此时就可以确定待测试游戏的新手任务已经通过,此时就可以确定对待测试游戏的测试完成。
210、当更新后的角色等级信息的角色等级未超过预设等级阈值时,服务器继续对待测试游戏的新手任务进行测试,直至新手任务测试完成。
例如,当更新后的角色等级信息中的角色等级未超过预设等级阈值时,服务器返回执行获取待测试画面帧的步骤,将更新页面的更新画面帧作为待测试画面帧,继续在待测试画面帧中识别出虚拟场景的场景信息,根据场景信息,生成针对虚拟对象的模拟操作信息,基于模拟操作信息,在当前页面对虚拟对象进行操作,以更新当前的角色等级信息,将再次更新后的角色等级信息中的角色等级与预设等级阈值进行对比,当角色等级超过预设角色等级时,此时,就可以确定待测试游戏的新手任务测试通过,就可以确定待测试游戏测试完成。当角色等级未超过预设角色等级阈值时,再次返回获取待测试画面帧的步骤,直至新手任务的全部测试项目完成为止,然后,将获取完成新手任务的最后一个测试项目后的当前画面帧,在当前画面帧中识别出虚拟对象的当前角色等级信息,将当前角色等级信息中的角色等级与预设等级阈值进行对比,当当前角色等级信息中的角色等级未超过预设等级阈值时,确定新手任务测试未通过,此时,就可以确定对待测试游戏的测试未完成。当当前角色等级信息中的角色等级超过预设等级阈值时,此时,就可以确定对新手任务测试通过,对待测试游戏测试完成。
由以上可知,本实施例服务器在获取待测试画面帧后,该待测试画面帧为加载待测试游戏的目标游戏任务后当前页面对应的画面帧,该待测试画面帧包括虚拟场景的虚拟场景下的虚拟对象,在待测试画面帧中识别出虚拟对象的角色参数信息和虚拟场景的场景信息,然后,根据场景信息,生成针对虚拟对象的模拟操作信息,然后,基于模拟操作信息,在当前页面对虚拟对象进行操作,以更新虚拟对象的角色参数信息,当更新后的角色参数信息中的角色参数值超过预设参数阈值时,确定待测试游戏测试完成,由于该方案在测试画面帧中识别出虚拟对象的角色参数信息和虚拟场景的场景信息,并根据场景信息,对不同分辨率的待测试画面帧进行解析来生成模拟操作信息,从而无须动作回放或编写测试脚本来完成测试,因此,可以大大提高游戏的测试效率。
为了更好地实施以上方法,本发明实施例还提供一种游戏测试装置,该游戏测试装置可以集成在电子设备,比如服务器或终端等设备中,该终端可以包括平板电脑、笔记本电脑和/或个人计算机等。
例如,如图9所示,该游戏测试装置可以包括获取单元301、识别单元302、解析单元303、更新单元304和确定单元305,如下:
(1)获取单元301;
获取单元301,用于获取待测试画面帧,该待测试画面帧为加载待测试游戏的目标游戏任务后当前页面对应的画面帧,该待测试画面帧包括虚拟场景和虚拟场景下的虚拟对象。
例如,获取单元301,具体可以用于当玩家在待测试游戏中进行目标游戏任务时,接收待测试游戏对应的客户端发送的当前页面对应的画面帧,将该当前页面对应的画面帧作为待测试画面帧,还可以通过接入待测试游戏对应的客户端的视频流,根据视频流的帧数,对当前视频流的画面进行截屏,将截屏后的图像作为待测试画面帧。
(2)识别单元302;
识别单元302,用于在待测试画面帧中识别出虚拟对象的角色参数信息和虚拟场景的场景信息。
例如,识别单元302,具体可以用于获取待测试游戏的预设测试数据集合,该预设测试数据集合包括预设角色图像和预设场景图像对应的第二位置信息;根据第二位置信息,在待测试画面帧中识别出角色区域和场景区域,以得到角色图像和场景图像,在角色图像中识别出虚拟对象的角色参数信息,并在场景图像中识别出虚拟场景的场景信息。
(3)生成单元303;
解析单元303,用于根据场景信息,生成针对虚拟对象的模拟操作信息。
例如,解析单元303,用于根据游戏任务的类型,确定待测试游戏中针对游戏任务的至少两个测试项目,得到测试项目集合;根据场景信息,在测试项目集合中筛选出待测试画面帧对应的测试项目,根据测试项目,生成针对虚拟对象的模拟操作信息。
(4)更新单元304;
更新单元304,用于基于模拟操作信息,在当前页面对虚拟对象进行操作,以更新虚拟对象的角色参数信息。
例如,更新单元304,具体可以用于基于模拟操作信息,在当前页面对虚拟对象进行操作,以更新当前页面,获取更新后页面对应的更新画面帧,并在更新画面帧中识别出虚拟对象更新后的角色参数信息。
(5)确定单元305;
确定单元305,用于当更新后的角色参数信息中的角色参数值超过预设参数阈值时,确定待测试游戏测试通过。
例如,确定单元305,具体可以用于当虚拟对象当前的角色参数信息存在更新时,将更新后的角色参数信息中的角色参数值与预设参数阈值进行对比,当更新后的角色参数信息中的角色参数值超过预设参数阈值时,此时就可以确定对待测试游戏的游戏任务测试通过,而且待测试游戏的测试通过。
可选的,基于游戏任务的游戏测试装置还可以包括测试单元306,如图10所示,具体可以如下:
测试单元306,用于当更新后的角色参数信息中的角色参数值未超过预设参数阈值时,返回执行获取待测试画面帧的步骤,获取当前画面帧,并在当前画面帧中识别出虚拟对象的当前角色参数信息,当当前角色参数信息中的当前角色参数值未超过预设参数阈值时,确定待测试游戏的测试未完成,当当前角色参数信息中的当前角色参数值超过预设参数阈值时,确定待测试游戏的测试完成。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由以上可知,本实施例在获取单元301获取待测试画面帧后,该待测试画面帧为加载待测试游戏的目标游戏任务后当前页面对应的画面帧,该待测试画面帧包括虚拟场景和虚拟场景下的虚拟对象,识别单元302在待测试画面帧中识别出虚拟对象的角色参数信息和虚拟场景的场景信息,然后,生成单元303根据场景信息,生成针对虚拟对象的模拟操作信息,然后,更新单元304基于模拟操作信息,在当前页面对虚拟对象进行操作,以更新虚拟对象的角色参数信息,确定单元305当更新后的角色参数信息中的角色参数值超过预设参数阈值时,确定待测试游戏测试通完成,由于该方案在测试画面帧中识别出虚拟对象的角色参数信息和虚拟场景的场景信息,并根据场景信息,对不同分辨率的待测试画面帧进行解析来生成模拟操作信息,从而无须动作回放或编写测试脚本来完成测试,因此,可以大大提高游戏的测试效率。
本发明实施例还提供一种电子设备,如图11所示,其示出了本发明实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图11中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
电子设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
获取待测试画面帧,该待测试画面帧为加载待测试游戏的目标游戏任务后当前页面对应的画面帧,该待测试画面帧包括虚拟场景和虚拟场景下的虚拟对象,在待测试画面帧中识别出虚拟对象的角色参数信息和虚拟场景的场景信息,然后,根据场景信息,生成针对虚拟对象的模拟操作信息,然后,基于模拟操作信息,在当前页面对虚拟对象进行操作,以更新虚拟对象的角色参数信息,当更新后的角色参数信息中的角色参数值超过预设参数阈值时,确定待测试游戏测试完成。
例如,当玩家在待测试游戏中进入目标游戏任务时,电子设备接收待测试游戏对应的客户端发送的当前页面对应的画面帧,将该当前页面对应的画面帧作为待测试画面帧,还可以通过接入待测试游戏对应的客户端的视频流,根据视频流的帧数,对当前视频流的画面进行截屏,将截屏后的图像作为待测试画面帧。获取待测试游戏的预设测试数据集合,该预设测试数据集合包括预设角色图像和预设场景图像对应的第二位置信息;根据第二位置信息,在待测试画面帧中识别出角色区域和场景区域,以得到角色图像和场景图像,在角色图像中识别出虚拟对象的角色参数信息,并在场景图像中识别出虚拟场景的场景信息。获取待测试游戏的预设测试数据集合,该预设测试数据集合包括预设角色图像和预设场景图像对应的第二位置信息;根据第二位置信息,在待测试画面帧中识别出角色区域和场景区域,以得到角色图像和场景图像,在角色图像中识别出虚拟对象的角色参数信息,并在场景图像中识别出虚拟场景的场景信息。根据目标游戏任务的类型,确定待测试游戏中针对目标游戏任务的至少两个测试项目,得到测试项目集合,根据场景信息,在测试项目集合中筛选出待测试画面帧对应的测试项目,根据测试项目,生成针对虚拟对象的模拟操作信息。基于模拟操作信息,在当前页面对虚拟对象进行操作,以更新当前页面,获取更新后页面对应的更新画面帧,并在更新画面帧中识别出虚拟对象更新后的角色参数信息。当虚拟对象当前的角色参数信息存在更新时,将更新后的角色参数信息中的角色参数值与预设参数阈值进行对比,当更新后的角色参数信息中的角色参数值超过预设参数阈值时,此时就可以确定对待测试游戏的游戏任务测试通过,而且待测试游戏测试完成。当更新后的角色参数信息中的角色参数值未超过预设参数阈值时,返回执行获取待测试画面帧的步骤,获取当前画面帧,并在当前画面帧中识别出虚拟对象的当前角色参数信息,当当前角色参数信息中的当前角色参数值未超过预设参数阈值时,确定待测试游戏的测试未完成,当当前角色参数信息中的当前角色参数值超过预设参数阈值时,确定待测试游戏的测试完成。
以上各个操作的具体实施可参见前面的实施例,在此不作赘述。
由以上可知,本发明实施例在获取待测试画面帧后,该待测试画面帧为加载待测试游戏的目标游戏任务后当前页面对应的画面帧,该待测试画面帧包括虚拟场景和虚拟场景下的虚拟对象,在待测试画面帧中识别出虚拟对象的角色参数信息和虚拟场景的场景信息,然后,根据场景信息,生成针对虚拟对象的模拟操作信息,然后,基于模拟操作信息,在当前页面对虚拟对象进行操作,以更新虚拟对象的角色参数信息,当更新后的角色参数信息中的角色参数值超过预设参数阈值时,确定待测试游戏测试完成,由于该方案在测试画面帧中识别出虚拟对象的角色参数信息和虚拟场景的场景信息,并根据场景信息,对不同分辨率的待测试画面帧进行解析来生成模拟操作信息,从而无须动作回放或编写测试脚本来完成测试,因此,可以大大提高游戏的测试效率。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种游戏测试方法中的步骤。例如,该指令可以执行如下步骤:
获取待测试画面帧,该待测试画面帧为加载待测试游戏的目标游戏任务后当前页面对应的画面帧,该待测试画面帧包括虚拟场景和虚拟场景下的虚拟对象,在待测试画面帧中识别出虚拟对象的角色参数信息和虚拟场景的场景信息,然后,根据场景信息,生成针对虚拟对象的模拟操作信息,然后,基于模拟操作信息,在当前页面对虚拟对象进行操作,以更新虚拟对象的角色参数信息,当更新后的角色参数信息中的角色参数值超过预设参数阈值时,确定待测试游戏测试完成。
例如,当玩家在待测试游戏中进入目标游戏任务时,电子设备接收待测试游戏对应的客户端发送的当前页面对应的画面帧,将该当前页面对应的画面帧作为待测试画面帧,还可以通过接入待测试游戏对应的客户端的视频流,根据视频流的帧数,对当前视频流的画面进行截屏,将截屏后的图像作为待测试画面帧。获取待测试游戏的预设测试数据集合,该预设测试数据集合包括预设角色图像和预设场景图像对应的第二位置信息;根据第二位置信息,在待测试画面帧中识别出角色区域和场景区域,以得到角色图像和场景图像,在角色图像中识别出虚拟对象的角色参数信息,并在场景图像中识别出虚拟场景的场景信息。获取待测试游戏的预设测试数据集合,该预设测试数据集合包括预设角色图像和预设场景图像对应的第二位置信息;根据第二位置信息,在待测试画面帧中识别出角色区域和场景区域,以得到角色图像和场景图像,在角色图像中识别出虚拟对象的角色参数信息,并在场景图像中识别出虚拟场景的场景信息。根据目标游戏任务的类型,确定待测试游戏中针对目标游戏任务的至少两个测试项目,得到测试项目集合,根据场景信息,在测试项目集合中筛选出待测试画面帧对应的测试项目,根据测试项目,生成针对虚拟对象的模拟操作信息。基于模拟操作信息,在当前页面对虚拟对象进行操作,以更新当前页面,获取更新后页面对应的更新画面帧,并在更新画面帧中识别出虚拟对象更新后的角色参数信息。当虚拟对象当前的角色参数信息存在更新时,将更新后的角色参数信息中的角色参数值与预设参数阈值进行对比,当更新后的角色参数信息中的角色参数值超过预设参数阈值时,此时就可以确定对待测试游戏的游戏任务测试通过,而且待测试游戏测试完成。当更新后的角色参数信息中的角色参数值未超过预设参数阈值时,返回执行获取待测试画面帧的步骤,获取当前画面帧,并在当前画面帧中识别出虚拟对象的当前角色参数信息,当当前角色参数信息中的当前角色参数值未超过预设参数阈值时,确定待测试游戏的测试未完成,当当前角色参数信息中的当前角色参数值超过预设参数阈值时,确定待测试游戏的测试完成。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本发明实施例所提供的任一种游戏测试方法中的步骤,因此,可以实现本发明实施例所提供的任一种游戏测试方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
其中,根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述游戏测试方面的各种可选实现方式中提供的方法。
以上对本发明实施例所提供的一种游戏测试方法、装置和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (15)
1.一种游戏测试方法,其特征在于,包括:
获取待测试画面帧,所述待测试画面帧为加载待测试游戏的目标游戏任务后当前页面对应的画面帧,所述待测试画面帧包括虚拟场景和虚拟场景下的虚拟对象;
在所述待测试画面帧中识别出所述虚拟对象的角色参数信息和所述虚拟场景的场景信息;
根据所述场景信息,生成针对所述虚拟对象的模拟操作信息;
基于所述模拟操作信息,在所述当前页面对所述虚拟对象进行操作,以更新所述虚拟对象的角色参数信息;
当更新后的角色参数信息中的角色参数值超过预设参数阈值时,确定所述待测试游戏测试完成。
2.根据权利要求1所述的游戏测试方法,其特征在于,所述根据所述场景信息,生成针对所述虚拟对象的模拟操作信息,包括:
根据所述目标游戏任务的类型,确定在所述待测试游戏中针对所述目标游戏任务的至少两个测试项目,得到测试项目集合;
根据所述场景信息,在所述测试项目集合中筛选出所述待测试画面帧对应的测试项目;
根据所述测试项目,生成针对所述虚拟对象的模拟操作信息。
3.根据权利要求2所述的游戏测试方法,其特征在于,所述根据所述场景信息,在所述测试项目集合中筛选出所述待测试画面帧对应的测试项目,包括:
在所述场景信息中提取出所述虚拟场景的场景标识;
根据所述场景标识,确定所述虚拟场景对应的场景类型;
基于所述场景类型,在所述测试项目集合中确定出所述待测试画面帧对应的测试项目。
4.根据权利要求3所述的游戏测试方法,其特征在于,所述基于所述场景类型,在所述测试项目集合中确定出所述待测试画面帧对应的测试项目,包括:
当所述场景类型为基础场景时,在所述测试项目集合中确定出所述待测试画面帧对应的测试项目为基础测试,所述基础场景为包括基础控件的虚拟场景;
当所述场景类型为指引场景时,在所述测试项目集合中确定出所述待测试画面帧对应的测试项目为指引测试,所述指引场景为包括指引控件的虚拟场景;
当所述场景类型为战斗场景时,在所述测试项目集合中确定出所述待测试画面帧对应的测试项目为战斗测试,所述战斗场景为需要与其他虚拟对象进行交互的虚拟场景。
5.根据权利要求4所述的游戏测试方法,其特征在于,所述根据所述测试项目,生成针对所述虚拟对象的模拟操作信息,包括:
当所述测试项目为基础测试时,在所述待测试画面帧中识别出基础控件的逻辑信息,以生成针对所述虚拟对象的模拟操作信息;
当所述测试项目为指引测试时,在所述待测试画面帧中识别出指引控件的位置,以生成针对所述虚拟对象的模拟操作信息;
当所述测试项目为战斗测试时,在待测试画面帧中识别出所述虚拟对象需要执行的战斗动作,以生成针对所述虚拟对象的模拟操作信息。
6.根据权利要求5所述的游戏测试方法,其特征在于,所述在所述待测试画面帧中识别出基础控件的逻辑信息,以生成针对所述虚拟对象的模拟操作信息,包括:
在所述待测试画面帧中识别出当前页面存在的至少一个基础控件;
根据所述基础控件的类型,确定所述基础控件对应的逻辑信息;
将所述逻辑信息转换为操作动作,并基于所述操作动作,生成针对所述虚拟对象的模拟操作信息。
7.根据权利要求5所述的游戏测试方法,其特征在于,所述在所述待测试画面帧中识别出指引控件的位置,以生成针对所述虚拟对象的模拟操作信息,包括:
采用位置识别模型对所述待测试画面帧进行特征提取,得到所述待测试画面帧中的所述指引控件的控件特征信息;
根据所述控件特征信息,确定所述指引控件在所述待测试画面帧中的第一位置信息;
基于所述第一位置信息,生成针对所述虚拟对象的模拟操作信息。
8.根据权利要求5所述的游戏测试方法,其特征在于,所述在待测试画面帧中识别出所述虚拟对象需要执行的战斗动作,以生成针对所述虚拟对象的模拟操作信息,包括:
采用动作识别模型对所述待测试画面帧进行特征提取,得到所述待测试画面帧中虚拟对象的动作特征信息;
根据所述动作特征信息,在预设战斗动作集合中筛选出所述虚拟对象需要执行的战斗动作;
将所述战斗动作转换为针对所述虚拟对象的模拟操作信息。
9.根据权利要求2所述的游戏测试方法,其特征在于,所述基于所述模拟操作信息,在所述当前页面对所述虚拟对象进行操作,以更新所述虚拟对象的角色参数信息之后,还包括:
当更新后的角色参数信息中的角色参数值未超过预设参数阈值时,返回执行所述获取待测试画面帧的步骤,获取当前画面帧,并在所述当前画面帧中识别出所述虚拟对象的当前角色参数信息;
当所述当前角色参数信息中的当前角色参数值未超过所述预设参数阈值时,确定所述待测试游戏的测试未完成;
当所述当前角色参数信息中的当前角色参数值超过所述预设参数阈值时,确定所述待测试游戏的测试完成。
10.根据权利要求1所述的游戏测试方法,其特征在于,所述基于所述模拟操作信息,在所述当前页面对所述虚拟对象进行操作,以更新所述虚拟对象的角色参数信息,包括:
基于所述模拟操作信息,在所述当前页面对所述虚拟对象进行操作,以更新当前页面;
获取更新后页面对应的更新画面帧,并在所述更新画面帧中识别出所述虚拟对象更新后的角色参数信息。
11.根据权利要求1所述的游戏测试方法,其特征在于,所述在所述待测试画面帧中识别出所述虚拟对象的角色参数信息和所述虚拟场景的场景信息,包括:
获取所述待测试游戏的预设测试数据集合,所述预设测试数据集合包括预设角色图像和预设场景图像对应的第二位置信息;
根据所述第二位置信息,在所述待测试画面帧中识别出角色区域和场景区域,以得到角色图像和场景图像;
在所述角色图像中识别出所述虚拟对象的角色参数信息,并在所述场景图像中识别出所述虚拟场景的场景信息。
12.根据权利要求11所述的游戏测试方法,其特征在于,所述在所述角色图像中识别出所述虚拟对象的角色参数信息,包括:
在所述预设测试数据集合中筛选出至少一个预设角色图像;
对所述预设角色图像进行缩放处理,得到多个缩放后预设角色图像;
计算所述角色图像与所述缩放后预设角色图像的图像相似度;
根据所述图像相似度,确定所述虚拟对象的角色参数信息。
13.根据权利要求12所述的游戏测试方法,其特征在于,所述根据所述图像相似度,确定所述虚拟对象的角色参数信息,包括:
在所述图像相似度中筛选出最大的图像相似度,得到目标图像相似度;
当所述目标图像相似度超过预设图像相似度阈值时,将所述目标图像相似度对应的目标角色参数信息作为所述虚拟对象的角色参数信息,并将所述虚拟对象的角色参数信息存储至角色参数数据库,所述目标角色参数信息为所述目标图像相似度对应的缩放后预设角色图像的角色参数信息;
当所述目标图像相似度未超过预设图像相似度阈值时,在所述角色参数数据库中筛选出历史画面帧的历史角色参数信息,并将所述历史角色参数信息作为所述虚拟对象的角色参数信息。
14.根据权利要求11所述的游戏测试方法,其特征在于,所述在所述场景图像中识别出所述虚拟场景的场景信息,包括:
在所述预设测试数据集合中筛选出至少一个预设场景图像;
对所述预设场景图像进行缩放处理,得到多个缩放后预设场景图像;
计算所述场景图像与所述缩放后预设场景图像的场景相似度;
根据所述场景相似度,确定所述虚拟场景的场景信息。
15.一种游戏测试装置,其特征在于,包括:
获取单元,用于获取待测试画面帧,所述待测试画面帧为加载待测试游戏的目标游戏任务后当前页面对应的画面帧,所述待测试画面帧包括虚拟场景和所述虚拟场景下的虚拟对象;
识别单元,用于在所述待测试画面帧中识别出所述虚拟对象的角色参数信息和所述虚拟场景的场景信息;
解析单元,用于根据所述场景信息,生成针对所述虚拟对象的模拟操作信息;
更新单元,用于基于所述模拟操作信息,在所述当前页面对所述虚拟对象进行操作,以更新所述虚拟对象的角色参数信息;
确定单元,用于当更新后的角色参数信息中的角色参数值超过预设参数阈值时,确定所述待测试游戏测试完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011153180.9A CN112231220B (zh) | 2020-10-26 | 2020-10-26 | 一种游戏测试方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011153180.9A CN112231220B (zh) | 2020-10-26 | 2020-10-26 | 一种游戏测试方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112231220A true CN112231220A (zh) | 2021-01-15 |
CN112231220B CN112231220B (zh) | 2022-09-09 |
Family
ID=74110615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011153180.9A Active CN112231220B (zh) | 2020-10-26 | 2020-10-26 | 一种游戏测试方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112231220B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114691515A (zh) * | 2022-04-07 | 2022-07-01 | 广州明昼科技有限公司 | 一种游戏工程测试方法、装置、计算机设备以及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140258989A1 (en) * | 2011-10-10 | 2014-09-11 | Onycom, Inc. | Method and system for automating a scene-based test |
US20170115350A1 (en) * | 2015-10-27 | 2017-04-27 | Marvell World Trade Ltd. | System and Method for Establishing a Trusted Diagnosis/Debugging Agent Over a Closed Commodity Device |
CN107153603A (zh) * | 2017-04-19 | 2017-09-12 | 网易(杭州)网络有限公司 | 游戏的模拟测试方法、装置及系统 |
CN109408384A (zh) * | 2018-10-16 | 2019-03-01 | 网易(杭州)网络有限公司 | 软件应用的测试方法、装置、处理器及电子装置 |
CN109885477A (zh) * | 2018-12-24 | 2019-06-14 | 苏州蜗牛数字科技股份有限公司 | 一种游戏自动化测试方法 |
CN110141864A (zh) * | 2019-04-30 | 2019-08-20 | 深圳市腾讯网域计算机网络有限公司 | 一种游戏自动测试方法、装置及终端 |
CN110227264A (zh) * | 2019-06-06 | 2019-09-13 | 腾讯科技(成都)有限公司 | 虚拟对象控制方法、装置、可读存储介质和计算机设备 |
CN110339569A (zh) * | 2019-07-08 | 2019-10-18 | 深圳市腾讯网域计算机网络有限公司 | 控制游戏场景中虚拟角色的方法及装置 |
CN110781085A (zh) * | 2019-10-23 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 一种游戏自动化测试方法、装置、终端和计算机存储介质 |
US20200159644A1 (en) * | 2018-11-21 | 2020-05-21 | Sony Interactive Entertainment LLC | Testing as a service for cloud gaming |
CN111744187A (zh) * | 2020-08-10 | 2020-10-09 | 腾讯科技(深圳)有限公司 | 一种游戏数据处理方法、装置、计算机及可读存储介质 |
-
2020
- 2020-10-26 CN CN202011153180.9A patent/CN112231220B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140258989A1 (en) * | 2011-10-10 | 2014-09-11 | Onycom, Inc. | Method and system for automating a scene-based test |
US20170115350A1 (en) * | 2015-10-27 | 2017-04-27 | Marvell World Trade Ltd. | System and Method for Establishing a Trusted Diagnosis/Debugging Agent Over a Closed Commodity Device |
CN107153603A (zh) * | 2017-04-19 | 2017-09-12 | 网易(杭州)网络有限公司 | 游戏的模拟测试方法、装置及系统 |
CN109408384A (zh) * | 2018-10-16 | 2019-03-01 | 网易(杭州)网络有限公司 | 软件应用的测试方法、装置、处理器及电子装置 |
US20200159644A1 (en) * | 2018-11-21 | 2020-05-21 | Sony Interactive Entertainment LLC | Testing as a service for cloud gaming |
CN109885477A (zh) * | 2018-12-24 | 2019-06-14 | 苏州蜗牛数字科技股份有限公司 | 一种游戏自动化测试方法 |
CN110141864A (zh) * | 2019-04-30 | 2019-08-20 | 深圳市腾讯网域计算机网络有限公司 | 一种游戏自动测试方法、装置及终端 |
CN110227264A (zh) * | 2019-06-06 | 2019-09-13 | 腾讯科技(成都)有限公司 | 虚拟对象控制方法、装置、可读存储介质和计算机设备 |
CN110339569A (zh) * | 2019-07-08 | 2019-10-18 | 深圳市腾讯网域计算机网络有限公司 | 控制游戏场景中虚拟角色的方法及装置 |
CN110781085A (zh) * | 2019-10-23 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 一种游戏自动化测试方法、装置、终端和计算机存储介质 |
CN111744187A (zh) * | 2020-08-10 | 2020-10-09 | 腾讯科技(深圳)有限公司 | 一种游戏数据处理方法、装置、计算机及可读存储介质 |
Non-Patent Citations (2)
Title |
---|
TONE VOLD等: "Flipped Gaming - testing three simulation games", 《2018 17TH INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY BASED HIGHER EDUCATION AND TRAINING (ITHET)》 * |
蓝贤赟: "Neox引擎手机游戏通用场景性能测试平台的设计与实现", 《中国优秀博硕士学位论文全文数据库(硕士)》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114691515A (zh) * | 2022-04-07 | 2022-07-01 | 广州明昼科技有限公司 | 一种游戏工程测试方法、装置、计算机设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112231220B (zh) | 2022-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109034397B (zh) | 模型训练方法、装置、计算机设备及存储介质 | |
US10384133B1 (en) | Systems and methods for automatically measuring a video game difficulty | |
US20110151971A1 (en) | Technological platform for gaming | |
CN109144610B (zh) | 音频播放方法、装置、电子装置及计算机可读存储介质 | |
CN111265859A (zh) | 用于生成视频游戏的游戏玩法的记录的方法和系统 | |
CN111744187B (zh) | 一种游戏数据处理方法、装置、计算机及可读存储介质 | |
CN110538455B (zh) | 虚拟对象的移动控制方法、装置、终端及存储介质 | |
CN113069769B (zh) | 云游戏界面显示方法、装置、电子设备以及存储介质 | |
CN113238972B (zh) | 一种图像检测方法、装置、设备及存储介质 | |
CN112742029B (zh) | 一种模拟操作的方法、游戏测试的方法以及相关装置 | |
CN112138394B (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
CN111191542B (zh) | 虚拟场景中的异常动作识别方法、装置、介质及电子设备 | |
CN110766081A (zh) | 一种界面图像检测的方法、模型训练的方法以及相关装置 | |
CN112915539A (zh) | 一种虚拟对象检测方法、装置以及可读存储介质 | |
CN115525563A (zh) | 一种测试方法、装置、计算机设备和存储介质 | |
CN114007064B (zh) | 特效同步评估方法、装置、设备及存储介质 | |
CN112231220B (zh) | 一种游戏测试方法和装置 | |
CN112973130B (zh) | 虚拟场景的回放模型构建方法、装置、设备及存储介质 | |
CN112245934B (zh) | 虚拟场景应用中虚拟资源的数据分析方法、装置及设备 | |
CN113018853B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
US20230025389A1 (en) | Route generation system within a virtual environment of a game application | |
CN112131426B (zh) | 游戏教学视频推荐方法、装置、电子设备和存储介质 | |
EP4037791B1 (en) | Video game overlay | |
CN114344920A (zh) | 基于虚拟场景的数据录制方法、装置、设备及存储介质 | |
CN112752146A (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 |