CN110457200B - 一种测试用例生成方法及其设备、存储介质、电子设备 - Google Patents
一种测试用例生成方法及其设备、存储介质、电子设备 Download PDFInfo
- Publication number
- CN110457200B CN110457200B CN201810433810.4A CN201810433810A CN110457200B CN 110457200 B CN110457200 B CN 110457200B CN 201810433810 A CN201810433810 A CN 201810433810A CN 110457200 B CN110457200 B CN 110457200B
- Authority
- CN
- China
- Prior art keywords
- test
- skill
- test point
- skill effect
- acquiring
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
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)
- Pinball Game Machines (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
本发明实施例公开了一种测试用例生成方法及其设备、存储介质、电子设备,其中方法包括如下步骤:获取在游戏应用的测试界面所输入的虚拟角色的角色标识;在测试点数据库中获取所述角色标识对应的目标测试点集合;基于所述目标测试点集合生成所述虚拟角色对应的功能测试用例集合,并在所述测试界面展示所述功能测试用例集合。采用本发明,可以自动化生成游戏应用的测试用例,节省人力,并节省人工撰写测试用例时间,进而可以提高测试用例的生成效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种测试用例生成方法及其设备、存储介质、电子设备。
背景技术
游戏应用由于其公平竞技,玩法多样而深受玩家喜爱。尤其近几年,手游的迅速崛起吸引了大量玩家,全民掀起一股游戏风潮。而通常游戏应用在发布前需要进行各项功能的测试,但由于其设计的复杂性,玩法策略的多样性以及对游戏内数值精确性要求很高,因此游戏应用的测试,一直是游戏业界的痛点。
目前,用于游戏应用测试的测试用例都是由人工撰写,但由于游戏应用中所包含的虚拟角色、角色技能以及释放角色技能产生的技能效果种类复杂繁多,相应的,测试用例也会繁杂且数量很多,需要耗费大量人力撰写。
发明内容
本发明实施例提供了一种测试用例生成方法及其设备、存储介质、电子设备,可以自动化生成游戏应用的测试用例,节省人力,并节省人工撰写测试用例时间,进而可以提高测试用例的生成效率。
本发明实施例一方面提供了一种测试用例生成方法,可包括:
获取在游戏应用的测试界面所输入的虚拟角色的角色标识;
在测试点数据库中获取所述角色标识对应的目标测试点集合;
基于所述目标测试点集合生成所述虚拟角色对应的功能测试用例集合,并在所述测试界面展示所述功能测试用例集合。
可选的,所述获取在游戏应用的测试界面所输入的虚拟角色的角色标识之前,还包括:
获取在游戏应用的测试界面所输入的针对所述游戏应用的通用测试点集合以及技能效果交叉表,所述通用测试点集合为所述游戏应用中所有虚拟角色均适用的测试点集合,所述技能效果交叉表包含所述游戏应用中所有技能效果相互叠加产生的技能展示测试点集合;
将所述通用测试点集合以及所述技能效果交叉表保存至测试点数据库中。
可选的,所述在测试点数据库中获取所述角色标识对应的目标测试点集合,包括:
获取所述角色标识对应的第一技能效果集合,并在所述技能效果交叉表中采用所述第一技能效果集合获取所述角色标识对应的专用测试点集合;
将所述通用测试点集合以及所述专用测试点集合确定为所述角色标识对应的目标测试点集合。
可选的,所述获取所述角色标识对应的第一技能效果集合,并在所述技能效果交叉表中采用所述第一技能效果集合获取所述角色标识对应的专用测试点集合,包括:
获取所述角色标识对应的第一技能效果集合,并获取所述第一技能效果集合中的第一技能效果;
获取第二技能效果集合,并获取所述第二技能效果集合中的第二技能效果,所述第二技能效果集合包括所述游戏应用中所有技能效果;
在所述技能效果交叉表中获取所述第一技能效果与所述第二技能效果叠加产生的技能展示测试点;
根据所述第一技能效果集合以及所述第二技能效果集合获取包含所述技能展示测试点的专用测试点集合。
可选的,所述获取在游戏应用的测试界面所输入的虚拟角色的角色标识之前,还包括:
获取在游戏应用的测试界面所输入的所述游戏应用的文件存储信息,基于所述文件存储信息获取所述游戏应用的配置档文件;
对所述配置档文件进行解析,以获取所述游戏应用的游戏运行数据。
可选的,所述在所述测试界面展示所述功能测试用例集合,包括:
获取在所述测试界面所输入的展示范围,在所述展示界面展示所述功能测试用例集合中所述展示范围对应的功能测试用例。
本发明实施例一方面提供了一种人脸模型处理设备,可包括:
标识获取单元,用于获取在游戏应用的测试界面所输入的虚拟角色的角色标识;
目标测试点获取单元,用于在测试点数据库中获取所述角色标识对应的目标测试点集合;
测试用例展示单元,用于基于所述目标测试点集合生成所述虚拟角色对应的功能测试用例集合,并在所述测试界面展示所述功能测试用例集合。
可选的,所述设备还包括:
测试点获取单元,用于获取在游戏应用的测试界面所输入的针对所述游戏应用的通用测试点集合以及技能效果交叉表,所述通用测试点集合为所述游戏应用中所有虚拟角色均适用的测试点集合,所述技能效果交叉表包含所述游戏应用中所有技能效果相互叠加产生的技能展示测试点集合;
测试点保存单元,用于将所述通用测试点集合以及所述技能效果交叉表保存至测试点数据库中。
可选的,所述目标测试点获取单元,包括:
专用测试点获取子单元,用于获取所述角色标识对应的第一技能效果集合,并在所述技能效果交叉表中采用所述第一技能效果集合获取所述角色标识对应的专用测试点集合;
目标测试点确定子单元,用于将所述通用测试点集合以及所述专用测试点集合确定为所述角色标识对应的目标测试点集合。
可选的,所述专用测试点获取子单元,具体用于:
获取所述角色标识对应的第一技能效果集合,并获取所述第一技能效果集合中的第一技能效果;
获取第二技能效果集合,并获取所述第二技能效果集合中的第二技能效果,所述第二技能效果集合包括所述游戏应用中所有技能效果;
在所述技能效果交叉表中获取所述第一技能效果与所述第二技能效果叠加产生的技能展示测试点;
根据所述第一技能效果集合以及所述第二技能效果集合获取包含所述技能展示测试点的专用测试点集合。
可选的,所述设备还包括:
文件获取单元,用于获取在游戏应用的测试界面所输入的所述游戏应用的文件存储信息,基于所述文件存储信息获取所述游戏应用的配置档文件;
文件解析单元,用于对所述配置档文件进行解析,以获取所述游戏应用的游戏运行数据。
可选的,所述测试用例展示单元,具体用于:
获取在所述测试界面所输入的展示范围,在所述展示界面展示所述功能测试用例集合中所述展示范围对应的功能测试用例。
本发明实施例一方面提供了一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
本发明实施例一方面提供了一种电子设备,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行以下步骤:
获取在游戏应用的测试界面所输入的虚拟角色的角色标识;
在测试点数据库中获取所述角色标识对应的目标测试点集合;
基于所述目标测试点集合生成所述虚拟角色对应的功能测试用例集合,并在所述测试界面展示所述功能测试用例集合。
在本发明实施例中,通过获取在游戏应用的测试界面所输入的虚拟角色的角色标识,并在测试点数据库中获取该角色标识对应的目标测试点集合,基于目标测试点集合生成虚拟角色对应的功能测试用例集合并展示。通过基于所输入的虚拟角色的角色标识就可自动化生成游戏应用的测试用例,而不需要人工撰写测试用例,节省人力,并节省人工撰写测试用例时间,进而提高测试用例的生成效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种测试用例生成方法的流程示意图;
图2是本发明实施例提供的一种思维导图的结构示意图;
图3是本发明实施例提供的一种测试用例生成方法的流程示意图;
图4是本发明实施例提供的一种游戏应用的测试界面的界面示意图;
图5是本发明实施例提供的一种游戏应用功能模块的思维导图的界面示意图;
图6是本发明实施例提供的一种测试用例生成方法的流程示意图;
图7是本发明实施例提供的一种虚拟角色的技能效果的结构示意图;
图8是本发明实施例提供的一种功能测试用例的展示效果的界面示意图;
图9是本发明实施例提供的一种测试用例生成系统的架构示意图;
图10是本发明实施例提供的一种测试用例生成设备的结构示意图;
图11是本发明实施例提供的一种测试用例生成设备的结构示意图;
图12是本发明实施例提供的一种目标测试点获取单元的结构示意图;
图13是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面将结合附图1-附图8,对本发明实施例提供的测试用例生成方法进行详细介绍。
请参见图1,为本发明实施例提供了一种测试用例生成方法的流程示意图。如图1所示,本发明实施例的所述方法可以包括以下步骤S101-步骤S103。
S101,获取在游戏应用的测试界面所输入的虚拟角色的角色标识;
可以理解的是,所述游戏应用可以为手机游戏(手游)、PC游戏、网页游戏、电视游戏等。所述游戏应用的类型可以包括大型多人在线角色扮演网络游戏(MassiveMultiplayer Online Role-Playing Game,MMORPG)、多人在线战术竞技游戏(MOBA:Multiplayer Online Battle Arena)等。
在游戏应用中包括多个虚拟角色,所述虚拟角色指在现实中不存在的人物角色,在本发明实施例中,所述虚拟角色为游戏应用中虚构的人物,如“虚拟角色A”、“虚拟角色B”“虚拟角色C”等。通过多个虚拟角色之间的交互实现游戏过程,具体实现是指玩家控制的虚拟角色和其他玩家控制的虚拟角色在所提供的虚拟世界中进行实时交互和转移。每个虚拟角色包括至少一个技能,当释放技能时会产生相应的技能效果,而虚拟角色之间的实时交互是指所释放的技能产生的技能效果的交互。
每个虚拟角色通过角色标识识别。所述角色标识用于唯一识别虚拟角色,可以为虚拟角色的名称、虚拟角色的编号或者虚拟角色的技能名称等。
测试员可以在游戏应用的测试界面进行多项操作,如游戏执行数据对应的数据库更新操作、技能效果设置、虚拟角色标识输入等。其中,所述虚拟角色标识输入方式可以为在测试界面所展示的角色标识选项中选择输入,也可以为在测试界面的角色标识输入框中手动输入,当然还可以通过麦克风接收语音输入的角色标识,并在测试界面展示接收并识别的结果等。
具体实现中,当测试员针对游戏应用的测试界面输入所选择的虚拟角色的角色标识时,测试用例生成设备检测测试员的输入操作,并读取所输入的角色标识。可选的,测试用例生成设备还可读取并记录输入操作的时间、解析输入操作的意图等相关信息。
需要说明的是,所述测试用例生成设备可以为测试终端终端,包括平板电脑、个人计算机(PC)、智能手机、掌上电脑以及移动互联网设备(MID)等具备测试功能的终端设备;所述测试用例生成设备还可以为具备测试功能的服务器;所述测试用例生成设备还可以为测试用例生成系统,包括服务器和测试终端。
S102,在测试点数据库中获取所述角色标识对应的目标测试点集合;
可以理解的是,在测试点数据库中包括至少一个测试点。所述测试点可以理解为是比较粗略的测试用例要点,是对测试功能点的分解,测试点来源于项目需求,是从需求里提取出来的要求,根据每一个测试点可以设计一个具体的测试用例。
所述至少一个测试点是针对所述虚拟角色而言,由于各虚拟角色有共性,也有个性,可知在测试点数据库中所存储的测试点包括通用测试点集合以及专用测试点集合。所述通用测试点集合可以包括虚拟角色的结构、虚拟世界中各功能模块的功能、以及虚拟角色可佩带的装备功能等;所述专用测试点集合是指所所有技能效果对应叠加产生的技能展示测试点集合。
其中,对于测试点可采用不同的形式保存至测试点数据库中,如映射关系表、思维导图、二维交叉表等。
优选的,可通过以思维导图形式存储通用测试点集合,可以方便多人共同维护更新通用测试点,同时,以思维导图的形式表现测试点,直观清晰,相比传统的表格形式呈现测试点,层次更分明,并有助于测试员思维发散以开发更多的通用测试点。
所述思维导图又叫心智导图,是表达发散性思维的有效图形思维工具。思维导图运用图文并重的技巧,把各级主题的关系用相互隶属与相关的层级图表现出来,把主题关键词与图像、颜色等建立记忆链接。思维导图是一种将思维形象化的方法,是使用一个中央关键词或想法引起形象化的构造和分类的想法,它用一个中央关键词或想法以辐射线形连接所有的代表字词、想法、任务或其它关联项目,类似于一个思考中心,并由此中心向外发散出成千上万的关节点,每一个关节点代表与中心主题相关的一个连结,而每一个连结又可以成为另一个中心主题,再向外发散出成千上万的关节点,呈现出放射性立体结构,如图2所示为思维导图的结构图,其中针对“中心主题”发散出3个关节点“节点1、节点2和节点3”,对于这3个节点又可以分别发散多个关节点,如节点1发散的关节点包括“节点11和节点12”,节点2发散的关节点包括“节点21和节点22”,当然,还可以再每个关节点中增加新的关节点,如对于节点2增加了“新节点”。
可采用jsMind开源工具编辑思维导图,并将所生成的思维导图转换为json字符串保存至测试点数据库中。所述jsMind是一个显示/编辑思维导图的纯javascript类库,其基于html5的canvas进行设计。
而对于专用测试点,则可以交叉表的形式存储,一种具体的形式为技能效果交叉表,如表1所示,在所述技能效果交叉表中包含所述游戏应用中所有技能效果相互叠加产生的技能展示测试点集合。例如,技能效果包括“眩晕”、“击飞”、“击退”等,而由这些技能效果相互叠加则生成的技能展示测试点包括“眩晕状态可以被击飞”以及“被嘲讽的虚拟角色被击退后会继续回来攻击嘲讽释放者”等。
具体实现中,在测试点数据库中查找到通用测试点集合,然后获取所述角色标识对应的第一技能效果集合,并在技能效果交叉表中查找第一技能效果集合与包含所有技能效果的第二技能效果集合叠加产生的所述角色标识对应的专用测试点集合,将所查找到的通用测试点集合以及专用测试点集合确定为所述角色标识对应的目标测试点集合。
表1
S103,基于所述目标测试点集合生成所述虚拟角色对应的功能测试用例集合,并在所述测试界面展示所述功能测试用例集合。
可以理解的是,测试用例是指为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。测试用例是将软件测试的行为活动做一个科学化的组织归纳,目的是能够将软件测试的行为转化成可管理的模式,同时测试用例也是将测试具体量化的方法之一,不同类别的软件,测试用例是不同的。测试用例一般包含:编号、用例名称、测试背景、前置条件、优先级、重要级、测试数据、测试步骤、预期结果、实际结果、备注。但可以根据实际需要增加、删除、修改部分项,比如:增加分类、子分类等。在本发明实施例中,所述功能测试用例集合是指基于通用测试点集合以及所选择的虚拟角色的专用测试点集合所生成的测试用例集合。
通过软件测试可以反映游戏应用的稳定性,而影响软件测试的因素存在多种,例如软件本身的复杂程度、开发人员(包括分析、设计、编程和测试的人员)的素质、测试方法和技术的运用等,为了保障软件测试质量,通过生成测试用例进行测试可以把人为因素的影响减少到最小。因此测试用例是测试工作的指导,是软件测试必须遵守的准则,更是软件测试质量稳定的根本保障。
具体实现中,通过测试用例生成逻辑由目标测试点集合生成相应的功能测试用例集合。所述测试用例生成逻辑可以为预先设置的,测试用例生成设备在获取到目标测试点集合后,对各目标测试点进行解析并提取相应的参数,再基于测试用例生成逻辑自动生成所选择的虚拟角色的功能测试用例集合。
当然,也可基于一些常用的测试用例生成工具生成功能测试用例集合。例如EvoSuite、PICT或ALLPAIRS等。其中,所述Evosuite是一种开源工具,用于自动生成测试用例集,生成的测试用例均符合Junit的标准,可直接在Junit中运行。所述PICT就是一款成对组合的命令行生成工具,可以有效地按照两两测试的原理,进行测试用例设计,在使用PICT时,需要输入与测试用例相关的所有参数,以达到全面覆盖的效果。所述ALLPAIRS可以根据所设定的条件,自动生成在测试时间(即工作量)和测试覆盖率之间做出平衡组合的测试用例。
在本发明实施例中,通过获取在游戏应用的测试界面所输入的虚拟角色的角色标识,并在测试点数据库中获取该角色标识对应的目标测试点集合,基于目标测试点集合生成虚拟角色对应的功能测试用例集合并展示。通过基于所输入的虚拟角色的角色标识就可自动化生成游戏应用的测试用例,而不需要人工撰写测试用例,节省人力,并节省了测试用例撰写时间,进而提高了测试用例的生成效率。
请参见图3,为本发明实施例提供了一种测试用例生成方法的流程示意图。如图3所示,本发明实施例的所述方法可以包括以下步骤S201-步骤S209。
S201,获取在游戏应用的测试界面所输入的针对所述游戏应用的通用测试点集合以及技能效果交叉表,所述通用测试点集合为所述游戏应用中所有虚拟角色均适用的测试点集合,所述技能效果交叉表包含所述游戏应用中所有技能效果相互叠加产生的技能展示测试点集合;
可以理解的是,所述游戏应用可以为手机游戏(手游)、PC游戏、网页游戏、电视游戏等。所述游戏应用的类型可以包括MMORPG、MOBA等。在所述游戏应用的测试界面包含有多个设置选项和输入控件,测试员可以在所述游戏应用的测试界面进行多项操作以获取相关数据。例如,如图4所示为一款游戏应用的测试界面,测试员可在所述测试界面设置游戏执行数据对应的数据库更新操作、技能效果设置、虚拟角色标识输入、测试点编辑等。
具体实现中,测试员可在所述测试界面编辑通用测试点集合以及专用测试点集合,测试用例生成设备在检测到测试点输入操作时,读取所输入的测试点集合。其中,所述测试点可以理解为是比较粗略的测试用例要点,是对测试功能点的分解,测试点来源于项目需求,是从需求里提取出来的要求,根据每一个测试点可以设计一个具体的测试用例。由于在游戏应用中包括有多个虚拟角色,而各虚拟角色有共性,也有个性,因此所编辑的测试点可以包括通用测试点集合以及专用测试点集合。所述通用测试点集合可以包括虚拟角色的结构、虚拟世界中各功能模块的功能、以及虚拟角色可佩带的装备功能等,为所述游戏应用中所有虚拟角色均适用的测试点集合;所述专用测试点集合是指包含所述游戏应用中所有技能效果相互叠加产生的技能展示测试点集合,可编辑为技能效果交叉表形式。
需要说明的是,所述测试用例生成设备可以为用户终端,包括平板电脑、个人计算机(PC)、智能手机、掌上电脑以及移动互联网设备(MID)等具备测试功能的终端设备;所述测试用例生成设备还可以为具备测试功能的服务器;所述测试用例生成设备还可以为测试用例生成系统,包括服务器和测试终端。
S202,将所述通用测试点集合以及所述技能效果交叉表保存至测试点数据库中;
可以理解的是,对于测试点可采用不同的形式保存至测试点数据库中,如映射关系表、思维导图、二维交叉表等。
优选的,可通过以思维导图形式编辑通用测试点集合,可以方便多人共同维护更新通用测试点,同时,以思维导图的形式表现测试点,直观清晰,相比传统的表格形式呈现测试点,层次更分明,并有助于测试员思维发散以开发更多的通用测试点。
所述思维导图又叫心智导图,是表达发散性思维的有效图形思维工具。思维导图运用图文并重的技巧,把各级主题的关系用相互隶属与相关的层级图表现出来,把主题关键词与图像、颜色等建立记忆链接。思维导图是一种将思维形象化的方法,是使用一个中央关键词或想法引起形象化的构造和分类的想法,它用一个中央关键词或想法以辐射线形连接所有的代表字词、想法、任务或其它关联项目,类似于一个思考中心,并由此中心向外发散出成千上万的关节点,每一个关节点代表与中心主题相关的一个连结,而每一个连结又可以成为另一个中心主题,再向外发散出成千上万的关节点,呈现出放射性立体结构,
可采用jsMind开源工具编辑思维导图,并将所生成的思维导图转换为json字符串保存至测试点数据库中。所述jsMind是一个显示/编辑思维导图的纯javascript类库,其基于html5的canvas进行设计。如图5所示为针对一款游戏应用中功能模块以思维导图形式编写的通用测试点,将该测试点转换为json字符串后保存到测试点数据库中,其中,主题中心为“技能表现”,针对该关节点发散出“技能效果、技能控制效果、技能法术、技能伤害类型和指示器”5个关节点,在针对这5个关节点又分别发散出多个关节点。
而对于专用测试点,则可以交叉表的形式存储,一种具体的形式为技能效果交叉表,如表1所示,在所述技能效果交叉表中包含所述游戏应用中所有技能效果相互叠加产生的技能展示测试点集合。例如,技能效果包括“眩晕”、“击飞”、“击退”等,而由这些技能效果相互叠加则生成的技能展示测试点包括“眩晕状态可以被击飞”以及“被嘲讽的玩家被击退后悔继续回来攻击嘲讽释放者”等。
S203,获取在游戏应用的测试界面所输入的所述游戏应用的文件存储信息,基于所述文件存储信息获取所述游戏应用的配置档文件;
可以理解的是,所述游戏应用的文件存储信息可以为该游戏应用的存储路径,如游戏项目工程的svn路径。测试用例生成设备基于游戏项目工程svn路径获取相应版本的配置档文件到本地。所述配置档文件为游戏应用内相关参数的文件。
需要说明的是,对于一个游戏应用可包括多个版本的项目工程(配置档文件),如用于体验的版本、用于发送到外网的版本或者提前开发的版本,每个版本分别对应一个svn路径,那么基于所获取到的svn路径则可以获取到相应版本的项目工程。
S204,对所述配置档文件进行解析,以获取所述游戏应用的游戏运行数据;
具体实现中,测试用例生成设备解析本地配置档文件以得到所述游戏应用的游戏运行数据,把游戏运行数据更新到数据库,从而保证所获取的游戏运行数据为最新版本的数据。
所述游戏运行数据包括了运行所述游戏应用的所有数据,基于该游戏运行数据运行所述游戏应用,测试员可基于所述游戏运行数据进行游戏测试操作,玩家可基于该游戏运行数据启动并操作该游戏。
S205,获取在所述游戏应用的测试界面所输入的虚拟角色的角色标识;
可以理解的是,在游戏应用中包括多个虚拟角色,所述虚拟角色指在现实中不存在的人物角色,在本发明实施例中,所述虚拟角色为游戏应用中虚构的人物,如“虚拟角色A”、“虚拟角色B”“虚拟角色C”等。通过多个虚拟角色之间的交互实现游戏过程,具体实现是指玩家控制的虚拟角色和其他玩家控制的虚拟角色在服务器提供的虚拟世界中进行实时交互和转移。每个虚拟角色包括至少一个技能,当释放技能时会产生相应的技能效果,而虚拟角色之间的实时交互是指所释放的技能所产生的技能效果的交互。
每个虚拟角色通过角色标识识别。所述角色标识用于唯一识别虚拟角色,可以为虚拟角色的名称、虚拟角色的编号或者虚拟角色的技能名称等。
具体实现中,测试员可以针对游戏应用的测试界面所展示的角色标识选项中选择输入,也可以为在测试界面的角色标识输入框中手动输入,当然还可以通过麦克风接收语音输入的角色标识,测试用例生成设备识别测试员所输入的角色标识,并在测试界面展示接收并识别的结果等。
S206,获取所述角色标识对应的第一技能效果集合,并在所述技能效果交叉表中采用所述第一技能效果集合获取所述角色标识对应的专用测试点集合;
在一种具体的实现方式中,所述获取所述角色标识对应的第一技能效果集合,并在所述技能效果交叉表中采用所述第一技能效果集合获取所述角色标识对应的专用测试点集合可以包括如下步骤,如图6所示:
S301,获取所述角色标识对应的第一技能效果集合,并获取所述第一技能效果集合中的第一技能效果;
具体实现中,通过在游戏运行数据中查找角色标识所对应的第一技能效果集合,所述第一技能效果集合中包括至少一个第一技能效果,且所述角色标识与所述第一技能效果可以思维导图的形式存储。然后在所获取的第一技能效果集合中随机选取一个第一技能效果。
例如,如图7所示为角色标识“虚拟角色A”及其技能效果的思维导图,在该游戏运行数据中包含有该思维导图,通过查找角色标识即可获取到妲己的第一技能效果集合“减少法术防御、造成法术伤害、造成法术伤害+造成眩晕效果、造成法术伤害”,并在所获取的第一技能效果集合中任意选取一个作为第一技能效果,如“减少法术防御”。
S302,获取第二技能效果集合,并获取所述第二技能效果集合中的第二技能效果,所述第二技能效果集合包括所述游戏应用中所有技能效果;
可以理解的是,所述第二技能效果集合包括所述游戏应用中所有技能效果,也就是说,若某款游戏应用中存在100种技能效果,那么第二技能效果集合即为这100种技能效果组成的集合。在第二技能效果集合中任选择一个作为第二技能效果。
S303,在所述技能效果交叉表中获取所述第一技能效果与所述第二技能效果叠加产生的技能展示测试点;
例如,如表1所示的技能效果交叉表,若第一技能效果为“眩晕”,第二技能效果为“击飞”,那么叠加生成的技能展示测试点为“眩晕状态可以被击飞”。
又例如,若第一技能效果为“击退”,第二技能效果为“嘲讽”,那么叠加生成的技能展示测试点为“被嘲讽的虚拟角色被击退后会继续回来攻击嘲讽释放者”。
S304,根据所述第一技能效果集合以及所述第二技能效果集合获取包含所述技能展示测试点的专用测试点集合。
可以理解的是,采用S301-S303所描述的方法对第一技能效果集合和第二技能效果集合中的所有的技能效果进行叠加,从而得到所选择的虚拟角色的所有专用测试点。
例如,若所选取的虚拟角色A对应的第一技能效果集合包括“眩晕、击飞和击退”,第二技能效果集合包括“眩晕、击飞、击退、冰冻、嘲讽、...”,首先在技能效果交叉表中查找第一技能效果集合中的“眩晕”分别与“眩晕、击飞、击退、冰冻、嘲讽、...”叠加生成的专用测试点“以控制时间长的为准、眩晕状态可以被击飞、...”,当然,所查找到的测试点还包括与第一技能效果对应的虚拟角色的角色标识。例如,“眩晕”与“击飞”相冲突,叠加产生的交叉测试点为“眩晕状态可以被击飞”,则首先在虚拟角色集合中查找“击飞”对应的虚拟角色B,再生成专用测试点“A-眩晕B-击飞眩晕状态可以被击飞”,其中,所述虚拟角色B可以包括不止一个。同样的,以此方式分别查找到“击飞和击退”对应的专用测试点。
S207,将所述通用测试点集合以及所述专用测试点集合确定为所述角色标识对应的目标测试点集合;
由于测试点是针对所述虚拟角色而言,而各虚拟角色有共性,也有个性,可知在测试点数据库中查找所选择的虚拟角色的目标测试点集合时,则需要查找所有虚拟角色均适用的通用测试点集合以及只适用于所选择的虚拟角色的专用测试点集合。
S208,基于所述目标测试点集合生成所述虚拟角色对应的功能测试用例集合;
可以理解的是,测试用例是指为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。测试用例是将软件测试的行为活动做一个科学化的组织归纳,目的是能够将软件测试的行为转化成可管理的模式,同时测试用例也是将测试具体量化的方法之一,不同类别的软件,测试用例是不同的。测试用例一般包含:编号、用例名称、测试背景、前置条件、优先级、重要级、测试数据、测试步骤、预期结果、实际结果、备注。但可以根据实际需要增加、删除、修改部分项,比如:增加分类、子分类等。在本发明实施例中,所述功能测试用例集合是指基于通用测试点集合以及所选择的虚拟角色的专用测试点集合所生成的测试用例集合。
通过软件测试可以反映游戏应用的稳定性,而影响软件测试的因素存在多种,例如软件本身的复杂程度、开发人员(包括分析、设计、编程和测试的人员)的素质、测试方法和技术的运用等,为了保障软件测试质量,通过生成测试用例进行测试可以把人为因素的影响减少到最小。因此测试用例是测试工作的指导,是软件测试必须遵守的准则,更是软件测试质量稳定的根本保障。
具体实现中,通过测试用例生成逻辑由目标测试点集合生成相应的功能测试用例集合。所述测试用例生成逻辑可以为预先设置的,测试用例生成设备在获取到目标测试点集合后,对各目标测试点进行解析并提取相应的参数,再基于测试用例生成逻辑自动生成所选择的虚拟角色的功能测试用例集合。
当然,也可基于一些常用的测试用例生成工具生成功能测试用例集合。例如EvoSuite、PICT或ALLPAIRS等。其中,所述Evosuite是一种开源工具,用于自动生成测试用例集,生成的测试用例均符合Junit的标准,可直接在Junit中运行。所述PICT就是一款成对组合的命令行生成工具,可以有效地按照两两测试的原理,进行测试用例设计,在使用PICT时,需要输入与测试用例相关的所有参数,以达到全面覆盖的效果。所述ALLPAIRS可以根据所设定的条件,自动生成在测试时间(即工作量)和测试覆盖率之间做出平衡组合的测试用例。
S209,获取在所述测试界面所输入的展示范围,在所述展示界面展示所述功能测试用例集合中所述展示范围对应的功能测试用例。
可以理解的是,所述展示范围可以为预先设定的,可以包括多个范围,如展示其中一部分(展示前10个)、全部展示、或者展示与某一技能相关联的。
具体实现中,当测试用例生成设备检测到测试员所输入的展示范围时,在所生成的功能测试用例集合中选取与所输入的展示范围相对应的功能测试用例进行展示。所述输入的展示范围可以为在测试界面所展示的范围选项中选择输入,也可以为在测试界面的范围输入框中手动输入,当然还可以通过麦克风接收语音输入的展示范围。
所输入的展示范围可以是测试员在展示功能测试用例前所输入的,也可以是在展示功能测试用例后所输入的。若是在展示功能测试用例前所输入的,则采用所输入的展示范围展示相应的测试用例,当然,若在展示前未输入展示范围,则可以默认的展示范围或者上一次所使用的展示范围进行展示;若是在展示功能测试用例后所输入的,则将当前所展示的测试用例切换为所输入的展示范围对应的测试用例进行展示。
例如,如图8所示为针对测试员所选择的一种虚拟角色(英雄)所生成的功能测试用例集合的展示界面示意图,其中包括多个功能测试用例(ID:1、2、3…),每个ID对应一个功能测试用例,包括用例名称、用例描述、操作步骤以及预期结果,在该界面可通过选择“全部、通用、技能1、技能2、技能3”确定展示范围,并基于所选择的结果在界面展示相应的功能测试用例。
在本发明实施例中,通过获取在游戏应用的测试界面所输入的虚拟角色的角色标识,并在测试点数据库中获取该角色标识对应的目标测试点集合,基于目标测试点集合生成虚拟角色对应的功能测试用例集合并展示。通过基于所输入的虚拟角色的角色标识就可自动化生成游戏应用的测试用例,而不需要人工撰写测试用例,节省人力并提高测试用例的生成效率;同时,通过遍历测试点集合中的通用测试点集合以及技能效果交叉表而获取虚拟角色的测试点,遍历完整,可以覆盖所有测试场景而避免漏测。
下面将结合附图9-附图13,对本发明实施例提供的测试用例生成设备进行详细介绍。需要说明的是,附图9-附图13所示的设备,用于执行本发明图1-图8所示实施例的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明图1-图8所示的实施例。
本发明实施例提供的测试用例生成设备可以为测试终端,包括平板电脑、个人计算机(PC)、智能手机、掌上电脑以及移动互联网设备(MID)等具备测试功能的终端设备;所述测试用例生成设备还可以为具备测试功能的服务器;所述测试用例生成设备还可以为测试用例生成系统。
请参见图9,为本发明实施例提供了一种测试用例生成系统的架构示意图。如图9所示,本发明实施例的所述测试用例生成系统可以包括:服务器1和测试终端2。所述服务器1也可以包括多个服务器,如用于存储游戏运行数据的脚本服务器、用于生成测试用例的Web服务器以及存储数据信息的数据库服务器。
所述服务器1,用于获取在游戏应用的测试界面所输入的虚拟角色的角色标识;
可以理解的是,所述游戏应用可以为手机游戏(手游)、PC游戏、网页游戏、电视游戏等。所述游戏应用的类型可以包括MMORPG、MOBA等。
在游戏应用中包括多个虚拟角色,所述虚拟角色指在现实中不存在的人物角色,在本发明实施例中,所述虚拟角色为游戏应用中虚构的人物,如“虚拟角色A”、“虚拟角色B”“虚拟角色C”等。通过多个虚拟角色之间的交互实现游戏过程,具体实现是指玩家控制的虚拟角色和其他玩家控制的虚拟角色在所提供的虚拟世界中进行实时交互和转移。每个虚拟角色包括至少一个技能,当释放技能时会产生相应的技能效果,而虚拟角色之间的实时交互是指所释放的技能所产生的技能效果的交互。
每个虚拟角色通过角色标识识别。所述角色标识用于唯一识别虚拟角色,可以为虚拟角色的名称、虚拟角色的编号或者虚拟角色的技能名称等。
测试员可以在测试终端的测试界面进行多项操作,如游戏执行数据对应的数据库更新操作、技能效果设置、虚拟角色标识输入等。其中,所述虚拟角色标识输入方式可以为在测试界面所展示的角色标识选项中选择输入,也可以为在测试界面的角色标识输入框中手动输入,当然还可以通过麦克风接收语音输入的角色标识,并在测试界面展示接收并识别的结果等。
具体实现中,当测试员针对游戏应用的测试界面输入所选择的虚拟角色的角色标识时,测试终端生成携带该角色标识的测试用例生成请求发送至服务器,服务器读取请求并提取请求携带的角色标识。
所述服务器1,还用于在测试点数据库中获取所述角色标识对应的目标测试点集合;
可以理解的是,在测试点数据库中包括至少一个测试点。所述测试点可以理解为是比较粗略的测试用例要点,是对测试功能点的分解,测试点来源于项目需求,是从需求里提取出来的要求,根据每一个测试点可以设计一个具体的测试用例。
所述服务器1,还用于基于所述目标测试点集合生成所述虚拟角色对应的功能测试用例集合;
可以理解的是,测试用例是指为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。测试用例是将软件测试的行为活动做一个科学化的组织归纳,目的是能够将软件测试的行为转化成可管理的模式,同时测试用例也是将测试具体量化的方法之一,不同类别的软件,测试用例是不同的。测试用例一般包含:编号、用例名称、测试背景、前置条件、优先级、重要级、测试数据、测试步骤、预期结果、实际结果、备注。但可以根据实际需要增加、删除、修改部分项,比如:增加分类、子分类等。在本发明实施例中,所述功能测试用例集合是指基于通用测试点集合以及所选择的虚拟角色的专用测试点集合所生成的测试用例集合。
通过软件测试可以反映游戏应用的稳定性,而影响软件测试的因素存在多种,例如软件本身的复杂程度、开发人员(包括分析、设计、编程和测试的人员)的素质、测试方法和技术的运用等,为了保障软件测试质量,通过生成测试用例进行测试可以把人为因素的影响减少到最小。因此测试用例是测试工作的指导,是软件测试必须遵守的准则,更是软件测试质量稳定的根本保障。
具体实现中,通过测试用例生成逻辑由目标测试点集合生成相应的功能测试用例集合。所述测试用例生成逻辑可以为预先设置的,服务器1在获取到目标测试点集合后,对各目标测试点进行解析并提取相应的参数,再基于测试用例生成逻辑自动生成所选择的虚拟角色的功能测试用例集合。
当然,也可基于一些常用的测试用例生成工具生成功能测试用例集合。例如EvoSuite、PICT或ALLPAIRS等。其中,所述Evosuite是一种开源工具,用于自动生成测试用例集,生成的测试用例均符合Junit的标准,可直接在Junit中运行。所述PICT就是一款成对组合的命令行生成工具,可以有效地按照两两测试的原理,进行测试用例设计,在使用PICT时,需要输入与测试用例相关的所有参数,以达到全面覆盖的效果。所述ALLPAIRS可以根据所设定的条件,自动生成在测试时间(即工作量)和测试覆盖率之间做出平衡组合的测试用例。
所述测试终端2,用于在所述测试界面展示所述功能测试用例集合。
可以理解的是,测试用例是指为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。测试用例是将软件测试的行为活动做一个科学化的组织归纳,目的是能够将软件测试的行为转化成可管理的模式,同时测试用例也是将测试具体量化的方法之一,不同类别的软件,测试用例是不同的。在本发明实施例中,所述功能测试用例集合是指基于通用测试点集合以及所选择的虚拟角色的专用测试点集合所生成的测试用例集合。
具体实现中,通过服务器1基于测试用例生成逻辑由目标测试点集合生成相应的功能测试用例集合并发送至测试终端2进行展示的过程。
可选的,所述服务器1用于获取在游戏应用的测试界面所输入的虚拟角色的角色标识之前,还包括:
所述服务器1,还用于获取在游戏应用的测试界面所输入的针对所述游戏应用的通用测试点集合以及技能效果交叉表,所述通用测试点集合为所述游戏应用中所有虚拟角色均适用的测试点集合,所述技能效果交叉表包含所述游戏应用中所有技能效果相互叠加产生的技能展示测试点集合;
具体实现中,测试员可在所述测试界面编辑通用测试点集合以及专用测试点集合,测试终端2读取所编辑的测试点集合发送至服务器,服务器1获取接收到的测试点集合。由于在游戏应用中包括有多个虚拟角色,而各虚拟角色有共性,也有个性,因此所编辑的测试点可以包括通用测试点集合以及专用测试点集合。所述通用测试点集合可以包括虚拟角色的结构、虚拟世界中各功能模块的功能、以及虚拟角色可佩带的装备功能等,为所述游戏应用中所有虚拟角色均适用的测试点集合;所述专用测试点集合是指包含所述游戏应用中所有技能效果相互叠加产生的技能展示测试点集合,可编辑为技能效果交叉表形式。
所述服务器1,还用于将所述通用测试点集合以及所述技能效果交叉表保存至测试点数据库中。
可以理解的是,对于测试点可采用不同的形式保存至测试点数据库中,如映射关系表、思维导图、二维交叉表等。
优选的,可通过以思维导图形式编辑通用测试点集合,可以方便多人共同维护更新通用测试点,同时,以思维导图的形式表现测试点,直观清晰,相比传统的表格形式呈现测试点,层次更分明,并有助于测试员思维发散以开发更多的通用测试点。
所述思维导图又叫心智导图,是表达发散性思维的有效图形思维工具。思维导图运用图文并重的技巧,把各级主题的关系用相互隶属与相关的层级图表现出来,把主题关键词与图像、颜色等建立记忆链接。思维导图是一种将思维形象化的方法,是使用一个中央关键词或想法引起形象化的构造和分类的想法,它用一个中央关键词或想法以辐射线形连接所有的代表字词、想法、任务或其它关联项目,类似于一个思考中心,并由此中心向外发散出成千上万的关节点,每一个关节点代表与中心主题相关的一个连结,而每一个连结又可以成为另一个中心主题,再向外发散出成千上万的关节点,呈现出放射性立体结构,
可采用jsMind开源工具编辑思维导图,并将所生成的思维导图转换为json字符串保存至测试点数据库中。所述jsMind是一个显示/编辑思维导图的纯javascript类库,其基于html5的canvas进行设计。如图5所示为针对一款游戏应用中功能模块以思维导图形式编写的通用测试点,将该测试点转换为json字符串后保存到测试点数据库中,其中,主题中心为“技能表现”,针对该关节点发散出“技能效果、技能控制效果、技能法术、技能伤害类型和指示器”5个关节点,在针对这5个关节点又分别发散出多个关节点。
而对于专用测试点,则可以交叉表的形式存储,一种具体的形式为技能效果交叉表,如表1所示,在所述技能效果交叉表中包含所述游戏应用中所有技能效果相互叠加产生的技能展示测试点集合。例如,技能效果包括“眩晕”、“击飞”、“击退”等,而由这些技能效果相互叠加则生成的技能展示测试点包括“眩晕状态可以被击飞”以及“被嘲讽的玩家被击退后悔继续回来攻击嘲讽释放者”等。
可选的,所述服务器1用于所述在测试点数据库中获取所述角色标识对应的目标测试点集合,包括:
所述服务器1,用于获取所述角色标识对应的第一技能效果集合,并在所述技能效果交叉表中采用所述第一技能效果集合获取所述角色标识对应的专用测试点集合;
所述服务器1,用于将所述通用测试点集合以及所述专用测试点集合确定为所述角色标识对应的目标测试点集合。
由于测试点是针对所述虚拟角色而言,而各虚拟角色有共性,也有个性,可知在测试点数据库中查找所选择的虚拟角色的目标测试点集合时,则需要查找所有虚拟角色均适用的通用测试点集合以及只适用于所选择的虚拟角色的专用测试点集合。
可选的,所述服务器1用于获取所述角色标识对应的第一技能效果集合,并在所述技能效果交叉表中采用所述第一技能效果集合获取所述角色标识对应的专用测试点集合,包括:
所述服务器1,用于获取所述角色标识对应的第一技能效果集合,并获取所述第一技能效果集合中的第一技能效果;
具体实现中,服务器1通过在游戏运行数据中查找角色标识所对应的第一技能效果集合,所述第一技能效果集合中包括至少一个第一技能效果,且所述角色标识与所述第一技能效果可以思维导图的形式存储。然后在所获取的第一技能效果集合中随机选取一个第一技能效果。
例如,如图7所示为角色标识“虚拟角色A”及其技能效果的思维导图,在该游戏运行数据中包含有该思维导图,通过查找角色标识即可获取到妲己的第一技能效果集合“减少法术防御、造成法术伤害、造成法术伤害+造成眩晕效果、造成法术伤害”,并在所获取的第一技能效果集合中任意选取一个作为第一技能效果,如“减少法术防御”。
所述服务器1,用于获取第二技能效果集合,并获取所述第二技能效果集合中的第二技能效果,所述第二技能效果集合包括所述游戏应用中所有技能效果;
可以理解的是,所述第二技能效果集合包括所述游戏应用中所有技能效果,也就是说,若某款游戏应用中存在100种技能效果,那么第二技能效果集合即为这100种技能效果组成的集合。在第二技能效果集合中任选择一个作为第二技能效果。
所述服务器1,用于在所述技能效果交叉表中获取所述第一技能效果与所述第二技能效果叠加产生的技能展示测试点;
例如,如表1所示的技能效果交叉表,若第一技能效果为“眩晕”,第二技能效果为“击飞”,那么叠加生成的技能展示测试点为“眩晕状态可以被击飞”。
又例如,若第一技能效果为“击退”,第二技能效果为“嘲讽”,那么叠加生成的技能展示测试点为“被嘲讽的虚拟角色被击退后会继续回来攻击嘲讽释放者”。
所述服务器1,用于根据所述第一技能效果集合以及所述第二技能效果集合获取包含所述技能展示测试点的专用测试点集合。
可以理解的是,服务器1采用上述所描述的方法对第一技能效果集合和第二技能效果集合中的所有的技能效果进行叠加,从而得到所选择的虚拟角色的所有专用测试点。
例如,若所选取的虚拟角色A对应的第一技能效果集合包括“眩晕、击飞和击退”,第二技能效果集合包括“眩晕、击飞、击退、冰冻、嘲讽、...”,首先在技能效果交叉表中查找第一技能效果集合中的“眩晕”分别与“眩晕、击飞、击退、冰冻、嘲讽、...”叠加生成的专用测试点“以控制时间长的为准、眩晕状态可以被击飞、...”,当然,所查找到的测试点还包括与第一技能效果对应的虚拟角色的角色标识。例如,“眩晕”与“击飞”相冲突,叠加产生的交叉测试点为“眩晕状态可以被击飞”,则首先在虚拟角色集合中查找“击飞”对应的虚拟角色B,再生成专用测试点“A-眩晕B-击飞眩晕状态可以被击飞”,其中,所述虚拟角色B可以包括不止一个。同样的,以此方式分别查找到“击飞和击退”对应的专用测试点。
可选的,所述服务器1,用于获取在游戏应用的测试界面所输入的虚拟角色的角色标识之前,还包括:
所述服务器1,还用于获取在游戏应用的测试界面所输入的所述游戏应用的文件存储信息,基于所述文件存储信息获取所述游戏应用的配置档文件;
可以理解的是,所述游戏应用的文件存储信息可以为该游戏应用的存储路径,如游戏项目工程的svn路径。服务器1基于游戏项目工程svn路径获取相应版本的配置档文件到本地。所述配置档文件为游戏应用内相关参数的文件。
需要说明的是,对于一个游戏应用可包括多个版本的项目工程(配置档文件),如用于体验的版本、用于发送到外网的版本或者提前开发的版本,每个版本分别对应一个svn路径,那么基于所获取到的svn路径则可以获取到相应版本的项目工程。
所述服务器1,还用于对所述配置档文件进行解析,以获取所述游戏应用的游戏运行数据。
具体实现中,服务器1解析本地配置档文件以得到所述游戏应用的游戏运行数据,把游戏运行数据更新到数据库,从而保证所获取的游戏运行数据为最新版本的数据。
所述游戏运行数据包括了运行所述游戏应用的所有数据,基于该游戏运行数据运行所述游戏应用,测试员可基于所述游戏运行数据进行游戏测试操作,玩家可基于该游戏运行数据启动并操作该游戏。
可选的,所述测试终端2用于在所述测试界面展示所述功能测试用例集合,包括:
所述测试终端2,用于获取在所述测试界面所输入的展示范围,在所述展示界面展示所述功能测试用例集合中所述展示范围对应的功能测试用例。
可以理解的是,所述展示范围可以为预先设定的,可以包括多个范围,如展示其中一部分(展示前10个)、全部展示、或者展示与某一技能相关联的。
具体实现中,当测试终端2检测到测试员所输入的展示范围时,在所生成的功能测试用例集合中选取与所输入的展示范围相对应的功能测试用例进行展示。所述输入的展示范围可以为在测试界面所展示的范围选项中选择输入,也可以为在测试界面的范围输入框中手动输入,当然还可以通过麦克风接收语音输入的展示范围。
所输入的展示范围可以是测试员在展示功能测试用例前所输入的,也可以是在展示功能测试用例后所输入的。若是在展示功能测试用例前所输入的,则采用所输入的展示范围展示相应的测试用例,当然,若在展示前未输入展示范围,则可以默认的展示范围或者上一次所使用的展示范围进行展示;若是在展示功能测试用例后所输入的,则将当前所展示的测试用例切换为所输入的展示范围对应的测试用例进行展示。
例如,如图8所示为针对测试员所选择的一种虚拟角色(英雄)所生成的功能测试用例集合的展示界面示意图,其中包括多个功能测试用例(ID:1、2、3…),每个ID对应一个功能测试用例,包括用例名称、用例描述、操作步骤以及预期结果,在该界面可通过选择“全部、通用、技能1、技能2、技能3”确定展示范围,并基于所选择的结果在界面展示相应的功能测试用例。
在本发明实施例中,通过获取在游戏应用的测试界面所输入的虚拟角色的角色标识,并在测试点数据库中获取该角色标识对应的目标测试点集合,基于目标测试点集合生成虚拟角色对应的功能测试用例集合并展示。通过基于所输入的虚拟角色的角色标识就可自动化生成游戏应用的测试用例,而不需要人工撰写测试用例,节省人力,并节省了测试用例撰写时间,进而提高了测试用例的生成效率;同时,通过遍历测试点集合中的通用测试点集合以及技能效果交叉表而获取虚拟角色的测试点,遍历完整,可以覆盖所有测试场景而避免漏测;另外,通过测试用例生成系统实现一站式服务,方便、快捷、高效。
请参见图10,为本发明实施例提供了一种测试用例生成设备的结构示意图。如图10所示,本发明实施例的所述测试用例生成设备1可以包括:标识获取单元11、目标测试点获取单元12和测试用例展示单元13。
标识获取单元11,用于获取在游戏应用的测试界面所输入的虚拟角色的角色标识;
可以理解的是,所述游戏应用可以为手机游戏(手游)、PC游戏、网页游戏、电视游戏等。所述游戏应用的类型可以包括MMORPG、MOBA等。
在游戏应用中包括多个虚拟角色,所述虚拟角色指在现实中不存在的人物角色,在本发明实施例中,所述虚拟角色为游戏应用中虚构的人物,如“虚拟角色A”、“虚拟角色B”“虚拟角色C”等。通过多个虚拟角色之间的交互实现游戏过程,具体实现是指玩家控制的虚拟角色和其他玩家控制的虚拟角色在所提供的虚拟世界中进行实时交互和转移。每个虚拟角色包括至少一个技能,当释放技能时会产生相应的技能效果,而虚拟角色之间的实时交互是指所释放的技能所产生的技能效果的交互。
每个虚拟角色通过角色标识识别。所述角色标识用于唯一识别虚拟角色,可以为虚拟角色的名称、虚拟角色的编号或者虚拟角色的技能名称等。
测试员可以在游戏应用的测试界面进行多项操作,如游戏执行数据对应的数据库更新操作、技能效果设置、虚拟角色标识输入等。其中,所述虚拟角色标识输入方式可以为在测试界面所展示的角色标识选项中选择输入,也可以为在测试界面的角色标识输入框中手动输入,当然还可以通过麦克风接收语音输入的角色标识,并在测试界面展示接收并识别的结果等。
具体实现中,当测试员针对游戏应用的测试界面输入所选择的虚拟角色的角色标识时,标识获取单元11检测测试员的输入操作,并读取所输入的角色标识。可选的,标识获取单元11还可读取并记录输入操作的时间、解析输入操作的意图等相关信息。
目标测试点获取单元12,用于在测试点数据库中获取所述角色标识对应的目标测试点集合;
可以理解的是,在测试点数据库中包括至少一个测试点。所述测试点可以理解为是比较粗略的测试用例要点,是对测试功能点的分解,测试点来源于项目需求,是从需求里提取出来的要求,根据每一个测试点可以设计一个具体的测试用例。
所述至少一个测试点是针对所述虚拟角色而言,由于各虚拟角色有共性,也有个性,可知在测试点数据库中所存储的测试点包括通用测试点集合以及专用测试点集合。所述通用测试点集合可以包括虚拟角色的结构、虚拟世界中各功能模块的功能、以及虚拟角色可佩带的装备功能等;所述专用测试点集合是指所所有技能效果对应叠加产生的技能展示测试点集合。
其中,对于测试点可采用不同的形式保存至测试点数据库中,如映射关系表、思维导图、二维交叉表等。
优选的,可通过以思维导图形式存储通用测试点集合,可以方便多人共同维护更新通用测试点,同时,以思维导图的形式表现测试点,直观清晰,相比传统的表格形式呈现测试点,层次更分明,并有助于测试员思维发散以开发更多的通用测试点。
所述思维导图又叫心智导图,是表达发散性思维的有效图形思维工具。思维导图运用图文并重的技巧,把各级主题的关系用相互隶属与相关的层级图表现出来,把主题关键词与图像、颜色等建立记忆链接。思维导图是一种将思维形象化的方法,是使用一个中央关键词或想法引起形象化的构造和分类的想法,它用一个中央关键词或想法以辐射线形连接所有的代表字词、想法、任务或其它关联项目,类似于一个思考中心,并由此中心向外发散出成千上万的关节点,每一个关节点代表与中心主题相关的一个连结,而每一个连结又可以成为另一个中心主题,再向外发散出成千上万的关节点,呈现出放射性立体结构,如图2所示为思维导图的结构图,其中针对“中心主题”发散出3个关节点“节点1、节点2和节点3”,对于这3个节点又可以分别发散多个关节点,如节点1发散的关节点包括“节点11和节点12”,节点2发散的关节点包括“节点21和节点22”,当然,还可以再每个关节点中增加新的关节点,如对于节点2增加了“新节点”。
可采用jsMind开源工具编辑思维导图,并将所生成的思维导图转换为json字符串保存至测试点数据库中。所述jsMind是一个显示/编辑思维导图的纯javascript类库,其基于html5的canvas进行设计。
而对于专用测试点,则可以交叉表的形式存储,一种具体的形式为技能效果交叉表,如表1所示,在所述技能效果交叉表中包含所述游戏应用中所有技能效果相互叠加产生的技能展示测试点集合。例如,技能效果包括“眩晕”、“击飞”、“击退”等,而由这些技能效果相互叠加则生成的技能展示测试点包括“眩晕状态可以被击飞”以及“被嘲讽的虚拟角色被击退后会继续回来攻击嘲讽释放者”等。
具体实现中,目标测试点获取单元12在测试点数据库中查找到通用测试点集合,然后获取所述角色标识对应的第一技能效果集合,并在技能效果交叉表中查找第一技能效果集合与包含所有技能效果的第二技能效果集合叠加产生的所述角色标识对应的专用测试点集合,将所查找到的通用测试点集合以及专用测试点集合确定为所述角色标识对应的目标测试点集合。
测试用例展示单元13,用于基于所述目标测试点集合生成所述虚拟角色对应的功能测试用例集合,并在所述测试界面展示所述功能测试用例集合。
可以理解的是,测试用例是指为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。测试用例是将软件测试的行为活动做一个科学化的组织归纳,目的是能够将软件测试的行为转化成可管理的模式,同时测试用例也是将测试具体量化的方法之一,不同类别的软件,测试用例是不同的。测试用例一般包含:编号、用例名称、测试背景、前置条件、优先级、重要级、测试数据、测试步骤、预期结果、实际结果、备注。但可以根据实际需要增加、删除、修改部分项,比如:增加分类、子分类等。在本发明实施例中,所述功能测试用例集合是指基于通用测试点集合以及所选择的虚拟角色的专用测试点集合所生成的测试用例集合。
通过软件测试可以反映游戏应用的稳定性,而影响软件测试的因素存在多种,例如软件本身的复杂程度、开发人员(包括分析、设计、编程和测试的人员)的素质、测试方法和技术的运用等,为了保障软件测试质量,通过生成测试用例进行测试可以把人为因素的影响减少到最小。因此测试用例是测试工作的指导,是软件测试必须遵守的准则,更是软件测试质量稳定的根本保障。
具体实现中,通过测试用例生成逻辑由目标测试点集合生成相应的功能测试用例集合。所述测试用例生成逻辑可以为预先设置的,测试用例展示单元13在获取到目标测试点集合后,对各目标测试点进行解析并提取相应的参数,再基于测试用例生成逻辑自动生成所选择的虚拟角色的功能测试用例集合。
当然,也可基于一些常用的测试用例生成工具生成功能测试用例集合。例如EvoSuite、PICT或ALLPAIRS等。其中,所述Evosuite是一种开源工具,用于自动生成测试用例集,生成的测试用例均符合Junit的标准,可直接在Junit中运行。所述PICT就是一款成对组合的命令行生成工具,可以有效地按照两两测试的原理,进行测试用例设计,在使用PICT时,需要输入与测试用例相关的所有参数,以达到全面覆盖的效果。所述ALLPAIRS可以根据所设定的条件,自动生成在测试时间(即工作量)和测试覆盖率之间做出平衡组合的测试用例。
在本发明实施例中,通过获取在游戏应用的测试界面所输入的虚拟角色的角色标识,并在测试点数据库中获取该角色标识对应的目标测试点集合,基于目标测试点集合生成虚拟角色对应的功能测试用例集合并展示。通过基于所输入的虚拟角色的角色标识就可自动化生成游戏应用的测试用例,而不需要人工撰写测试用例,节省人力并提高测试用例的生成效率。
请参见图11,为本发明实施例提供了一种测试用例生成设备的结构示意图。如图11所示,本发明实施例的所述测试用例生成设备1可以包括:标识获取单元11、目标测试点获取单元12、测试用例展示单元13、测试点获取单元14、测试点保存单元15、文件获取单元16和文件解析单元17。
测试点获取单元14,用于获取在游戏应用的测试界面所输入的针对所述游戏应用的通用测试点集合以及技能效果交叉表,所述通用测试点集合为所述游戏应用中所有虚拟角色均适用的测试点集合,所述技能效果交叉表包含所述游戏应用中所有技能效果相互叠加产生的技能展示测试点集合;
可以理解的是,所述游戏应用可以为手机游戏(手游)、PC游戏、网页游戏、电视游戏等。所述游戏应用的类型可以包括MMORPG、MOBA等。在所述游戏应用的测试界面包含有多个设置选项和输入控件,测试员可以在所述游戏应用的测试界面进行多项操作以获取相关数据。例如,如图4所示为一款游戏应用的测试界面,测试员可在所述测试界面设置游戏执行数据对应的数据库更新操作、技能效果设置、虚拟角色标识输入、测试点编辑等。
具体实现中,测试员可在所述测试界面编辑通用测试点集合以及专用测试点集合,测试点获取单元14在检测到测试点输入操作时,读取所输入的测试点集合。其中,所述测试点可以理解为是比较粗略的测试用例要点,是对测试功能点的分解,测试点来源于项目需求,是从需求里提取出来的要求,根据每一个测试点可以设计一个具体的测试用例。由于在游戏应用中包括有多个虚拟角色,而各虚拟角色有共性,也有个性,因此所编辑的测试点可以包括通用测试点集合以及专用测试点集合。所述通用测试点集合可以包括虚拟角色的结构、虚拟世界中各功能模块的功能、以及虚拟角色可佩带的装备功能等,为所述游戏应用中所有虚拟角色均适用的测试点集合;所述专用测试点集合是指包含所述游戏应用中所有技能效果相互叠加产生的技能展示测试点集合,可编辑为技能效果交叉表形式。
测试点保存单元15,用于将所述通用测试点集合以及所述技能效果交叉表保存至测试点数据库中;
可以理解的是,对于测试点可采用不同的形式保存至测试点数据库中,如映射关系表、思维导图、二维交叉表等。
优选的,可通过以思维导图形式编辑通用测试点集合,可以方便多人共同维护更新通用测试点,同时,以思维导图的形式表现测试点,直观清晰,相比传统的表格形式呈现测试点,层次更分明,并有助于测试员思维发散以开发更多的通用测试点。
所述思维导图又叫心智导图,是表达发散性思维的有效图形思维工具。思维导图运用图文并重的技巧,把各级主题的关系用相互隶属与相关的层级图表现出来,把主题关键词与图像、颜色等建立记忆链接。思维导图是一种将思维形象化的方法,是使用一个中央关键词或想法引起形象化的构造和分类的想法,它用一个中央关键词或想法以辐射线形连接所有的代表字词、想法、任务或其它关联项目,类似于一个思考中心,并由此中心向外发散出成千上万的关节点,每一个关节点代表与中心主题相关的一个连结,而每一个连结又可以成为另一个中心主题,再向外发散出成千上万的关节点,呈现出放射性立体结构,
可采用jsMind开源工具编辑思维导图,并将所生成的思维导图转换为json字符串保存至测试点数据库中。所述jsMind是一个显示/编辑思维导图的纯javascript类库,其基于html5的canvas进行设计。如图5所示为针对一款游戏应用中功能模块以思维导图形式编写的通用测试点,将该测试点转换为json字符串后保存到测试点数据库中,其中,主题中心为“技能表现”,针对该关节点发散出“技能效果、技能控制效果、技能法术、技能伤害类型和指示器”5个关节点,在针对这5个关节点又分别发散出多个关节点。
而对于专用测试点,则可以交叉表的形式存储,一种具体的形式为技能效果交叉表,如表1所示,在所述技能效果交叉表中包含所述游戏应用中所有技能效果相互叠加产生的技能展示测试点集合。例如,技能效果包括“眩晕”、“击飞”、“击退”等,而由这些技能效果相互叠加则生成的技能展示测试点包括“眩晕状态可以被击飞”以及“被嘲讽的玩家被击退后悔继续回来攻击嘲讽释放者”等。
文件获取单元16,用于获取在游戏应用的测试界面所输入的所述游戏应用的文件存储信息,基于所述文件存储信息获取所述游戏应用的配置档文件;
可以理解的是,所述游戏应用的文件存储信息可以为该游戏应用的存储路径,如游戏项目工程的svn路径。文件获取单元16基于游戏项目工程svn路径获取相应版本的配置档文件到本地。所述配置档文件为游戏应用内相关参数的文件。
需要说明的是,对于一个游戏应用可包括多个版本的项目工程(配置档文件),如用于体验的版本、用于发送到外网的版本或者提前开发的版本,每个版本分别对应一个svn路径,那么基于所获取到的svn路径则可以获取到相应版本的项目工程。
文件解析单元17,用于对所述配置档文件进行解析,以获取所述游戏应用的游戏运行数据;
具体实现中,文件解析单元17解析本地配置档文件以得到所述游戏应用的游戏运行数据,把游戏运行数据更新到数据库,从而保证所获取的游戏运行数据为最新版本的数据。
所述游戏运行数据包括了运行所述游戏应用的所有数据,基于该游戏运行数据运行所述游戏应用,测试员可基于所述游戏运行数据进行游戏测试操作,玩家可基于该游戏运行数据启动并操作该游戏。
标识获取单元11,用于获取在游戏应用的测试界面所输入的虚拟角色的角色标识;
可以理解的是,在游戏应用中包括多个虚拟角色,所述虚拟角色指在现实中不存在的人物角色,在本发明实施例中,所述虚拟角色为游戏应用中虚构的人物,如“虚拟角色A”、“虚拟角色B”“虚拟角色C”等。通过多个虚拟角色之间的交互实现游戏过程,具体实现是指玩家控制的虚拟角色和其他玩家控制的虚拟角色在服务器提供的虚拟世界中进行实时交互和转移。每个虚拟角色包括至少一个技能,当释放技能时会产生相应的技能效果,而虚拟角色之间的实时交互是指所释放的技能所产生的技能效果的交互。
每个虚拟角色通过角色标识识别。所述角色标识用于唯一识别虚拟角色,可以为虚拟角色的名称、虚拟角色的编号或者虚拟角色的技能名称等。
具体实现中,测试员可以针对游戏应用的测试界面所展示的角色标识选项中选择输入,也可以为在测试界面的角色标识输入框中手动输入,当然还可以通过麦克风接收语音输入的角色标识,标识获取单元11识别测试员所输入的角色标识,并在测试界面展示接收并识别的结果等。
目标测试点获取单元12,用于在测试点数据库中获取所述角色标识对应的目标测试点集合;
可选的,如图12所示,所述目标测试点获取单元12,包括:
专用测试点获取子单元121,用于获取所述角色标识对应的第一技能效果集合,并在所述技能效果交叉表中采用所述第一技能效果集合获取所述角色标识对应的专用测试点集合;
目标测试点确定子单元122,用于将所述通用测试点集合以及所述专用测试点集合确定为所述角色标识对应的目标测试点集合。
由于测试点是针对所述虚拟角色而言,而各虚拟角色有共性,也有个性,可知在测试点数据库中查找所选择的虚拟角色的目标测试点集合时,则需要查找所有虚拟角色均适用的通用测试点集合以及只适用于所选择的虚拟角色的专用测试点集合。
可选的,所述专用测试点获取子单元121,具体用于:
获取所述角色标识对应的第一技能效果集合,并获取所述第一技能效果集合中的第一技能效果;
具体实现中,通过在游戏运行数据中查找角色标识所对应的第一技能效果集合,所述第一技能效果集合中包括至少一个第一技能效果,且所述角色标识与所述第一技能效果可以思维导图的形式存储。然后在所获取的第一技能效果集合中随机选取一个第一技能效果。
例如,如图7所示为角色标识“虚拟角色A”及其技能效果的思维导图,在该游戏运行数据中包含有该思维导图,通过查找角色标识即可获取到妲己的第一技能效果集合“减少法术防御、造成法术伤害、造成法术伤害+造成眩晕效果、造成法术伤害”,并在所获取的第一技能效果集合中任意选取一个作为第一技能效果,如“减少法术防御”。
获取第二技能效果集合,并获取所述第二技能效果集合中的第二技能效果,所述第二技能效果集合包括所述游戏应用中所有技能效果;
可以理解的是,所述第二技能效果集合包括所述游戏应用中所有技能效果,也就是说,若某款游戏应用中存在100种技能效果,那么第二技能效果集合即为这100种技能效果组成的集合。在第二技能效果集合中任选择一个作为第二技能效果。
在所述技能效果交叉表中获取所述第一技能效果与所述第二技能效果叠加产生的技能展示测试点;
例如,如表1所示的技能效果交叉表,若第一技能效果为“眩晕”,第二技能效果为“击飞”,那么叠加生成的技能展示测试点为“眩晕状态可以被击飞”。
又例如,若第一技能效果为“击退”,第二技能效果为“嘲讽”,那么叠加生成的技能展示测试点为“被嘲讽的虚拟角色被击退后会继续回来攻击嘲讽释放者”。
根据所述第一技能效果集合以及所述第二技能效果集合获取包含所述技能展示测试点的专用测试点集合。
可以理解的是,采用上述所描述的方法对第一技能效果集合和第二技能效果集合中的所有的技能效果进行叠加,从而得到所选择的虚拟角色的所有专用测试点。
例如,若所选取的虚拟角色A对应的第一技能效果集合包括“眩晕、击飞和击退”,第二技能效果集合包括“眩晕、击飞、击退、冰冻、嘲讽、...”,首先在技能效果交叉表中查找第一技能效果集合中的“眩晕”分别与“眩晕、击飞、击退、冰冻、嘲讽、...”叠加生成的专用测试点“以控制时间长的为准、眩晕状态可以被击飞、...”,当然,所查找到的测试点还包括与第一技能效果对应的虚拟角色的角色标识。例如,“眩晕”与“击飞”相冲突,叠加产生的交叉测试点为“眩晕状态可以被击飞”,则首先在虚拟角色集合中查找“击飞”对应的虚拟角色B,再生成专用测试点“A-眩晕B-击飞眩晕状态可以被击飞”,其中,所述虚拟角色B可以包括不止一个。同样的,以此方式分别查找到“击飞和击退”对应的专用测试点。
测试用例展示单元13,用于基于所述目标测试点集合生成所述虚拟角色对应的功能测试用例集合,并在所述测试界面展示所述功能测试用例集合。
可以理解的是,测试用例是指为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。测试用例是将软件测试的行为活动做一个科学化的组织归纳,目的是能够将软件测试的行为转化成可管理的模式,同时测试用例也是将测试具体量化的方法之一,不同类别的软件,测试用例是不同的。测试用例一般包含:编号、用例名称、测试背景、前置条件、优先级、重要级、测试数据、测试步骤、预期结果、实际结果、备注。但可以根据实际需要增加、删除、修改部分项,比如:增加分类、子分类等。在本发明实施例中,所述功能测试用例集合是指基于通用测试点集合以及所选择的虚拟角色的专用测试点集合所生成的测试用例集合。
通过软件测试可以反映游戏应用的稳定性,而影响软件测试的因素存在多种,例如软件本身的复杂程度、开发人员(包括分析、设计、编程和测试的人员)的素质、测试方法和技术的运用等,为了保障软件测试质量,通过生成测试用例进行测试可以把人为因素的影响减少到最小。因此测试用例是测试工作的指导,是软件测试必须遵守的准则,更是软件测试质量稳定的根本保障。
具体实现中,通过测试用例生成逻辑由目标测试点集合生成相应的功能测试用例集合。所述测试用例生成逻辑可以为预先设置的,测试用例展示单元13在获取到目标测试点集合后,对各目标测试点进行解析并提取相应的参数,再基于测试用例生成逻辑自动生成所选择的虚拟角色的功能测试用例集合。
当然,也可基于一些常用的测试用例生成工具生成功能测试用例集合。例如EvoSuite、PICT或ALLPAIRS等。其中,所述Evosuite是一种开源工具,用于自动生成测试用例集,生成的测试用例均符合Junit的标准,可直接在Junit中运行。所述PICT就是一款成对组合的命令行生成工具,可以有效地按照两两测试的原理,进行测试用例设计,在使用PICT时,需要输入与测试用例相关的所有参数,以达到全面覆盖的效果。所述ALLPAIRS可以根据所设定的条件,自动生成在测试时间(即工作量)和测试覆盖率之间做出平衡组合的测试用例。
所述测试用例展示单元13,具体用于:
获取在所述测试界面所输入的展示范围,在所述展示界面展示所述功能测试用例集合中所述展示范围对应的功能测试用例。
可以理解的是,所述展示范围可以为预先设定的,可以包括多个范围,如展示其中一部分(展示前10个)、全部展示、或者展示与某一技能相关联的。
具体实现中,当测试用例展示单元13检测到测试员所输入的展示范围时,在所生成的功能测试用例集合中选取与所输入的展示范围相对应的功能测试用例进行展示。所述输入的展示范围可以为在测试界面所展示的范围选项中选择输入,也可以为在测试界面的范围输入框中手动输入,当然还可以通过麦克风接收语音输入的展示范围。
所输入的展示范围可以是测试员在展示功能测试用例前所输入的,也可以是在展示功能测试用例后所输入的。若是在展示功能测试用例前所输入的,则采用所输入的展示范围展示相应的测试用例,当然,若在展示前未输入展示范围,则可以默认的展示范围或者上一次所使用的展示范围进行展示;若是在展示功能测试用例后所输入的,则将当前所展示的测试用例切换为所输入的展示范围对应的测试用例进行展示。
例如,如图8所示为针对测试员所选择的一种虚拟角色(英雄)所生成的功能测试用例集合的展示界面示意图,其中包括多个功能测试用例(ID:1、2、3…),每个ID对应一个功能测试用例,包括用例名称、用例描述、操作步骤以及预期结果,在该界面可通过选择“全部、通用、技能1、技能2、技能3”确定展示范围,并基于所选择的结果在界面展示相应的功能测试用例。
在本发明实施例中,通过获取在游戏应用的测试界面所输入的虚拟角色的角色标识,并在测试点数据库中获取该角色标识对应的目标测试点集合,基于目标测试点集合生成虚拟角色对应的功能测试用例集合并展示。通过基于所输入的虚拟角色的角色标识就可自动化生成游戏应用的测试用例,而不需要人工撰写测试用例,节省人力并提高测试用例的生成效率;同时,通过遍历测试点集合中的通用测试点集合以及技能效果交叉表而获取虚拟角色的测试点,遍历完整,可以覆盖所有测试场景而避免漏测。
本发明实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1-图8所示实施例的方法步骤,具体执行过程可以参见图1-图8所示实施例的具体说明,在此不进行赘述。
请参见图13,为本发明实施例提供了一种电子设备的结构示意图。如图13所示,所述电子设备1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、摄像头(Camera),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图13所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及测试用例生成应用程序。
在图13所示的电子设备1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;而处理器1001可以用于调用存储器1005中存储的测试用例生成应用程序,并具体执行以下操作:
获取在游戏应用的测试界面所输入的虚拟角色的角色标识;
在测试点数据库中获取所述角色标识对应的目标测试点集合;
基于所述目标测试点集合生成所述虚拟角色对应的功能测试用例集合,并在所述测试界面展示所述功能测试用例集合。
在一个实施例中,所述处理器1001在执行获取在游戏应用的测试界面所输入的虚拟角色的角色标识之前,还执行以下操作:
获取在游戏应用的测试界面所输入的针对所述游戏应用的通用测试点集合以及技能效果交叉表,所述通用测试点集合为所述游戏应用中所有虚拟角色均适用的测试点集合,所述技能效果交叉表包含所述游戏应用中所有技能效果相互叠加产生的技能展示测试点集合;
将所述通用测试点集合以及所述技能效果交叉表保存至测试点数据库中。
在一个实施例中,所述处理器1001在执行在测试点数据库中获取所述角色标识对应的目标测试点集合时,具体执行以下操作:
获取所述角色标识对应的第一技能效果集合,并在所述技能效果交叉表中采用所述第一技能效果集合获取所述角色标识对应的专用测试点集合;
将所述通用测试点集合以及所述专用测试点集合确定为所述角色标识对应的目标测试点集合。
在一个实施例中,所述处理器1001在执行获取所述角色标识对应的第一技能效果集合,并在所述技能效果交叉表中采用所述第一技能效果集合获取所述角色标识对应的专用测试点集合时,具体执行以下操作:
获取所述角色标识对应的第一技能效果集合,并获取所述第一技能效果集合中的第一技能效果;
获取第二技能效果集合,并获取所述第二技能效果集合中的第二技能效果,所述第二技能效果集合包括所述游戏应用中所有技能效果;
在所述技能效果交叉表中获取所述第一技能效果与所述第二技能效果叠加产生的技能展示测试点;
根据所述第一技能效果集合以及所述第二技能效果集合获取包含所述技能展示测试点的专用测试点集合。
在一个实施例中,所述处理器1001在执行获取在游戏应用的测试界面所输入的虚拟角色的角色标识之前,还执行以下操作:
获取在游戏应用的测试界面所输入的所述游戏应用的文件存储信息,基于所述文件存储信息获取所述游戏应用的配置档文件;
对所述配置档文件进行解析,以获取所述游戏应用的游戏运行数据。
在一个实施例中,所述处理器1001在执行在所述测试界面展示所述功能测试用例集合时,具体执行以下操作:
获取在所述测试界面所输入的展示范围,在所述展示界面展示所述功能测试用例集合中所述展示范围对应的功能测试用例。
在本发明实施例中,通过获取在游戏应用的测试界面所输入的虚拟角色的角色标识,并在测试点数据库中获取该角色标识对应的目标测试点集合,基于目标测试点集合生成虚拟角色对应的功能测试用例集合并展示。通过基于所输入的虚拟角色的角色标识就可自动化生成游戏应用的测试用例,而不需要人工撰写测试用例,节省人力并提高测试用例的生成效率;同时,通过遍历测试点集合中的通用测试点集合以及技能效果交叉表而获取虚拟角色的测试点,遍历完整,可以覆盖所有测试场景而避免漏测。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (10)
1.一种测试用例生成方法,其特征在于,包括:
获取在游戏应用的测试界面所输入的虚拟角色的角色标识;
获取所述角色标识对应的第一技能效果集合,并获取所述第一技能效果集合中的第一技能效果;
获取第二技能效果集合,并获取所述第二技能效果集合中的第二技能效果,所述第二技能效果集合包括所述游戏应用中所有技能效果;
在技能效果交叉表中获取所述第一技能效果与所述第二技能效果叠加产生的技能展示测试点;所述技能效果交叉表包含所述游戏应用中所有技能效果相互叠加产生的技能展示测试点集合;
根据所述第一技能效果集合以及所述第二技能效果集合获取包含所述技能展示测试点的专用测试点集合;
将通用测试点集合以及所述专用测试点集合确定为所述角色标识对应的目标测试点集合;所述通用测试点集合为所述游戏应用中所有虚拟角色均适用的测试点集合;
基于所述目标测试点集合生成所述虚拟角色对应的功能测试用例集合,并在所述测试界面展示所述功能测试用例集合。
2.根据权利要求1所述的方法,其特征在于,所述获取在游戏应用的测试界面所输入的虚拟角色的角色标识之前,还包括:
获取在游戏应用的测试界面所输入的针对所述游戏应用的通用测试点集合以及技能效果交叉表;
将所述通用测试点集合以及所述技能效果交叉表保存至测试点数据库中。
3.根据权利要求1所述的方法,其特征在于,所述获取在游戏应用的测试界面所输入的虚拟角色的角色标识之前,还包括:
获取在游戏应用的测试界面所输入的所述游戏应用的文件存储信息,基于所述文件存储信息获取所述游戏应用的配置档文件;
对所述配置档文件进行解析,以获取所述游戏应用的游戏运行数据。
4.根据权利要求1所述的方法,其特征在于,所述在所述测试界面展示所述功能测试用例集合,包括:
获取在所述测试界面所输入的展示范围,在所述测试界面展示所述功能测试用例集合中所述展示范围对应的功能测试用例。
5.一种测试用例生成设备,其特征在于,包括:
标识获取单元,用于获取在游戏应用的测试界面所输入的虚拟角色的角色标识;
目标测试点获取单元,用于在测试点数据库中获取所述角色标识对应的目标测试点集合;
测试用例展示单元,用于基于所述目标测试点集合生成所述虚拟角色对应的功能测试用例集合,并在所述测试界面展示所述功能测试用例集合;
其中,所述目标测试点获取单元,包括:
专用测试点获取子单元,用于获取所述角色标识对应的第一技能效果集合,并在技能效果交叉表中采用所述第一技能效果集合获取所述角色标识对应的专用测试点集合;所述技能效果交叉表包含所述游戏应用中所有技能效果相互叠加产生的技能展示测试点集合;
目标测试点确定子单元,用于将通用测试点集合以及所述专用测试点集合确定为所述角色标识对应的目标测试点集合;所述通用测试点集合为所述游戏应用中所有虚拟角色均适用的测试点集合;
其中,所述专用测试点获取子单元,具体用于:
获取所述角色标识对应的第一技能效果集合,并获取所述第一技能效果集合中的第一技能效果;
获取第二技能效果集合,并获取所述第二技能效果集合中的第二技能效果,所述第二技能效果集合包括所述游戏应用中所有技能效果;
在所述技能效果交叉表中获取所述第一技能效果与所述第二技能效果叠加产生的技能展示测试点;
根据所述第一技能效果集合以及所述第二技能效果集合获取包含所述技能展示测试点的专用测试点集合。
6.根据权利要求5所述的设备,其特征在于,所述设备还包括:
测试点获取单元,用于获取在游戏应用的测试界面所输入的针对所述游戏应用的通用测试点集合以及技能效果交叉表;
测试点保存单元,用于将所述通用测试点集合以及所述技能效果交叉表保存至测试点数据库中。
7.根据权利要求5所述的设备,其特征在于,所述设备还包括:
文件获取单元,用于获取在游戏应用的测试界面所输入的所述游戏应用的文件存储信息,基于所述文件存储信息获取所述游戏应用的配置档文件;
文件解析单元,用于对所述配置档文件进行解析,以获取所述游戏应用的游戏运行数据。
8.根据权利要求5所述的设备,其特征在于,所述测试用例展示单元,具体用于:
获取在所述测试界面所输入的展示范围,在所述测试界面展示所述功能测试用例集合中所述展示范围对应的功能测试用例。
9.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~4任意一项的方法步骤。
10.一种电子设备,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行以下步骤:
获取在游戏应用的测试界面所输入的虚拟角色的角色标识;
获取所述角色标识对应的第一技能效果集合,并获取所述第一技能效果集合中的第一技能效果;
获取第二技能效果集合,并获取所述第二技能效果集合中的第二技能效果,所述第二技能效果集合包括所述游戏应用中所有技能效果;
在技能效果交叉表中获取所述第一技能效果与所述第二技能效果叠加产生的技能展示测试点;所述技能效果交叉表包含所述游戏应用中所有技能效果相互叠加产生的技能展示测试点集合;
根据所述第一技能效果集合以及所述第二技能效果集合获取包含所述技能展示测试点的专用测试点集合;
将通用测试点集合以及所述专用测试点集合确定为所述角色标识对应的目标测试点集合;所述通用测试点集合为所述游戏应用中所有虚拟角色均适用的测试点集合;
基于所述目标测试点集合生成所述虚拟角色对应的功能测试用例集合,并在所述测试界面展示所述功能测试用例集合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810433810.4A CN110457200B (zh) | 2018-05-08 | 2018-05-08 | 一种测试用例生成方法及其设备、存储介质、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810433810.4A CN110457200B (zh) | 2018-05-08 | 2018-05-08 | 一种测试用例生成方法及其设备、存储介质、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110457200A CN110457200A (zh) | 2019-11-15 |
CN110457200B true CN110457200B (zh) | 2023-04-25 |
Family
ID=68480419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810433810.4A Active CN110457200B (zh) | 2018-05-08 | 2018-05-08 | 一种测试用例生成方法及其设备、存储介质、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110457200B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112052173B (zh) * | 2020-09-04 | 2021-08-24 | 完美世界(北京)软件科技发展有限公司 | 技能效果修改方法、装置、设备和存储介质 |
CN112380138B (zh) * | 2020-12-07 | 2021-11-09 | 深圳开源互联网安全技术有限公司 | 一种测试用例的编写方法、装置及存储介质 |
CN112630563B (zh) * | 2020-12-07 | 2024-05-14 | 北京博电新力电气股份有限公司 | 电力二次设备的智能测试系统及测试方法 |
CN112765041B (zh) * | 2021-02-04 | 2024-04-05 | 上海硬通网络科技有限公司 | 游戏自动化测试方法、装置及电子设备 |
CN113238961B (zh) * | 2021-06-08 | 2024-04-30 | 中国农业银行股份有限公司 | 测试数据处理方法、装置、设备、存储介质及程序产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103377117A (zh) * | 2012-04-18 | 2013-10-30 | 腾讯科技(深圳)有限公司 | 一种游戏自动测试方法及装置 |
CN104572031A (zh) * | 2013-10-09 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 一种测试用例的生成方法及装置 |
CN106201877A (zh) * | 2016-07-08 | 2016-12-07 | 福州市鼓楼区森林创数文化传播有限公司 | 一种fps游戏道具的测试方法 |
CN107694091A (zh) * | 2017-08-23 | 2018-02-16 | 杭州电魂网络科技股份有限公司 | 游戏数据处理方法及系统 |
-
2018
- 2018-05-08 CN CN201810433810.4A patent/CN110457200B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103377117A (zh) * | 2012-04-18 | 2013-10-30 | 腾讯科技(深圳)有限公司 | 一种游戏自动测试方法及装置 |
CN104572031A (zh) * | 2013-10-09 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 一种测试用例的生成方法及装置 |
CN106201877A (zh) * | 2016-07-08 | 2016-12-07 | 福州市鼓楼区森林创数文化传播有限公司 | 一种fps游戏道具的测试方法 |
CN107694091A (zh) * | 2017-08-23 | 2018-02-16 | 杭州电魂网络科技股份有限公司 | 游戏数据处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110457200A (zh) | 2019-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110457200B (zh) | 一种测试用例生成方法及其设备、存储介质、电子设备 | |
US20210001224A1 (en) | Placement of user information in a game space | |
JP5887458B1 (ja) | プレイヤの移動履歴に基づいてノンプレイヤキャラクタの経路探索を行うゲームシステム等 | |
US11123636B2 (en) | Runtime animation substitution | |
US10933327B2 (en) | Network-based video game editing and modification distribution system | |
US20150154495A1 (en) | Method, apparatus, and artificial intelligence editor for implementing artificial intelligence behavior | |
CN112927332B (zh) | 骨骼动画更新方法、装置、设备及存储介质 | |
US11305193B2 (en) | Systems and methods for multi-user editing of virtual content | |
CN113018870B (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
US20240198222A1 (en) | Replay editor in video games | |
Nolêto et al. | An authoring tool for location-based mobile games with augmented reality features | |
CN112587929B (zh) | 游戏副本的生成方法、装置及设备 | |
Jacob et al. | A non-intrusive approach for 2d platform game design analysis based on provenance data extracted from game streaming | |
US10099135B2 (en) | Relative inverse kinematics graphical user interface tool | |
JP5393941B2 (ja) | ゲーム開発装置及びゲーム開発方法 | |
US10191722B1 (en) | Event synchronization for development computing system | |
CN106919388B (zh) | 一种桌面卡牌游戏引擎系统 | |
CN111388995B (zh) | 游戏人工智能信息的处理方法、系统、装置和存储介质 | |
CN112231220B (zh) | 一种游戏测试方法和装置 | |
Boeira | Lean Game Development | |
US20230241503A1 (en) | Standardized location id for virtual environments | |
CN118615701A (zh) | 虚拟场景的数据处理方法、装置、电子设备及存储介质 | |
CN116920366A (zh) | 数据处理方法、装置、计算机程序产品、设备及存储介质 | |
Gazis et al. | E-polis: An Innovative and Fun Way to Gamify Sociological Research with an Educational Serious Game–Game Development Middleware Approach | |
CN118555425A (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 |