CN109558307B - 一种游戏程序的测试方法及系统 - Google Patents
一种游戏程序的测试方法及系统 Download PDFInfo
- Publication number
- CN109558307B CN109558307B CN201710878795.XA CN201710878795A CN109558307B CN 109558307 B CN109558307 B CN 109558307B CN 201710878795 A CN201710878795 A CN 201710878795A CN 109558307 B CN109558307 B CN 109558307B
- Authority
- CN
- China
- Prior art keywords
- controls
- interface
- game program
- current game
- optimal
- 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
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)
- User Interface Of Digital Computer (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种游戏程序的测试方法,包括:运行游戏程序;定位出当前游戏界面上的所有控件;遍历所述当前游戏界面上的所有控件并进行操作,获取界面跳转的最优跳转路径;在所述游戏程序运行结束时,记录所有最优跳转路径以构成导航图,并根据所述导航图对所述游戏程序进行测试。另外,本发明公开了一种游戏程序的测试系统。本发明能够提高游戏程序的测试效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种游戏程序的测试方法及系统。
背景技术
手机游戏快速发展,逐渐成为网民的一种娱乐生活方式,越来越多的用户习惯在碎片化时间玩游戏,公交车、地铁、排队和就餐等各种场景下均随处可见在手机上玩游戏的人。此外,随着智能手机的普及,逐渐从青年段向全年龄段覆盖,手机游戏因其简便性和娱乐性在获得青年用户关注的同时也将吸引较多的大龄用户使用,突破传统电脑端手机游戏的使用门槛。
但是,传统的手机游戏测试手段都是招聘游戏玩家来充当测试人员。测试界面以及流程步骤繁多,没有统一规范的流程,容易造成测试结果误差大。而且,大量的游戏界面,通过人工点击,效率低且无法全部遍历各个界面。
发明内容
本发明针对现有技术中存在的问题,提供了一种游戏程序的测试方法及系统,能够提高游戏程序的测试效率。
本发明就上述技术问题而提出的技术方案如下:
一方面,本发明提供一种游戏程序的测试方法,包括:
运行游戏程序;
定位出当前游戏界面上的所有控件;
遍历所述当前游戏界面上的所有控件并进行操作,获取界面跳转的最优跳转路径;
在所述游戏程序运行结束时,记录所有最优跳转路径以构成导航图,并根据所述导航图对所述游戏程序进行测试。
进一步地,所述定位出当前游戏界面上的所有控件,具体包括:
采集所述游戏程序的界面数据;
从所述界面数据中识别出所述游戏程序中的所有控件,并获取所有控件的属性;
根据控件的属性定位出所述当前游戏界面上的所有控件。
进一步地,所述遍历所述当前游戏界面上的所有控件并进行操作,具体包括:
根据控件的属性对所述当前游戏界面上的所有控件进行模糊匹配,过滤掉匹配出的性能相似的控件;
遍历所述当前游戏界面上过滤后的所有控件并进行操作。
进一步地,所述遍历所述当前游戏界面上的所有控件并进行操作,获取界面跳转的最优跳转路径,具体包括:
根据控件的属性依次对所述当前游戏界面上的控件进行相应的操作;
获取所述当前游戏界面跳转到最优界面的所有操作路径,并将所有操作路径中操作最少的路径作为所述最优跳转路径;所述最优界面为所述当前游戏界面所跳转的界面中具有最多未被操作的控件的界面。
优选地,所述控件的属性包括控件的名称、位置、尺寸以及表示是否已被操作过的标记。
另一方面,本发明提供一种游戏程序的测试系统,包括:
运行模块,用于运行游戏程序;
定位模块,用于定位出当前游戏界面上的所有控件;
操作模块,用于遍历所述当前游戏界面上的所有控件并进行操作,获取界面跳转的最优跳转路径;以及,
测试模块,用于在所述游戏程序运行结束时,记录所有最优跳转路径以构成导航图,并根据所述导航图对所述游戏程序进行测试。
进一步地,所述定位模块具体包括:
采集单元,用于采集所述游戏程序的界面数据;
识别单元,用于从所述界面数据中识别出所述游戏程序中的所有控件,并获取所有控件的属性;以及,
定位单元,用于根据控件的属性定位出所述当前游戏界面上的所有控件。
进一步地,所述操作模块具体包括:
过滤单元,用于根据控件的属性对所述当前游戏界面上的所有控件进行模糊匹配,过滤掉匹配出的性能相似的控件;以及,
遍历单元,用于遍历所述当前游戏界面上过滤后的所有控件并进行操作。
进一步地,所述操作模块具体包括:
操作单元,用于根据控件的属性依次对所述当前游戏界面上的控件进行相应的操作;以及,
跳转单元,用于获取所述当前游戏界面跳转到最优界面的所有操作路径,并将所有操作路径中操作最少的路径作为所述最优跳转路径;所述最优界面为所述当前游戏界面所跳转的界面中具有最多未被操作的控件的界面。
优选地,所述控件的属性包括控件的名称、位置、尺寸以及表示是否已被操作过的标记。
本发明实施例提供的技术方案带来的有益效果是:
在进行测试前,对游戏程序中的每一游戏界面上的控件进行识别和定位,进而对定位出的控件进行操作,获取当前游戏界面跳转到最优界面的最优跳转路径,遍历所有游戏界面后,将获取的所有最优跳转路径记录为导航图,并根据导航图制作测试脚本,以便根据该测试脚本对游戏程序进行测试,从而有效提高游戏程序的测试效率,且测试覆盖全面,提高测试的准确率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的游戏程序的测试方法的一种流程示意图;
图2是本发明实施例提供的游戏程序的测试方法中游戏界面跳转的示意图;
图3是本发明实施例提供的游戏程序的测试方法的另一种流程示意图;
图4是本发明实施例提供的游戏程序的测试系统的一种结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种游戏程序的测试方法,参见图1,该方法包括:
S1、运行游戏程序;
S2、定位出当前游戏界面上的所有控件;
S3、遍历所述当前游戏界面上的所有控件并进行操作,获取界面跳转的最优跳转路径;
S4、在所述游戏程序运行结束时,记录所有最优跳转路径以构成导航图,并根据所述导航图对所述游戏程序进行测试。
需要说明的是,由于程序无法区分游戏程序中的不同游戏界面,因此需要自行对游戏界面进行定义,即游戏界面定位为当前可操作控件的集合,如果可操作控件集合发生了变化,则说明游戏程序进入到一个新的游戏界面。其中,游戏界面上的控件包括输入框、提示语按钮和界面跳转按钮。
在运行游戏程序后,对游戏程序中的每个控件逐一进行深度遍历,并记录遍历过的所有游戏界面以及界面之间的跳转关系。如图2所示,当前的游戏界面1上具有控件2、控件3、控件4和控件5。当点击控件2、控件3、控件4或控件5时,游戏界面1跳转到游戏界面8,游戏界面8上具有控件6和控件7。当在游戏界面8上点击控件6时,又返回到游戏界面1,从而形成跳转路径。将界面之间的跳转路径进行记录构成导航图,再根据导航图编写测试脚本,并对测试脚本进行处理生成游戏程序能够解析的测试脚本集,即可将该测试脚本集导入游戏程序中,对游戏程序进行测试。本实施例的测试能够代替人工进行一键式多终端的兼容性测试,将应用测试从人工化转变为智能化,游戏提高游戏程序的测试效率,而且高度还原执行现场,包括手机日志、崩溃信息、截图、执行过程等,快速找到页面问题所在。
进一步地,所述定位出当前游戏界面上的所有控件,具体包括:
采集所述游戏程序的界面数据;
从所述界面数据中识别出所述游戏程序中的所有控件,并获取所有控件的属性;
根据控件的属性定位出所述当前游戏界面上的所有控件。
需要说明的是,在采集界面数据后,对采集回来的数据进行过滤、筛选和入库处理,再从处理后的数据中分析出游戏程序的所有控件,形成待分析游戏控件集合。进而解析每个控件的属性,定位当前游戏界面上的所有控件,检测当前游戏界面状态,根据状态决定对控件的操作行为,例如对于输入框的控件,对应操作为输入文字,对于按钮的控件,对应操作为点击,进而判定执行结果。其中,控件的属性包括控件的名称、位置、尺寸(例如按钮)以及表示是否已被操作过的标记。在控件被操作后,修改其属性,以对操作过的控件进行标记,避免对控件重复操作。
进一步地,所述遍历所述当前游戏界面上的所有控件并进行操作,具体包括:
根据控件的属性对所述当前游戏界面上的所有控件进行模糊匹配,过滤掉匹配出的性能相似的控件;
遍历所述当前游戏界面上过滤后的所有控件并进行操作。
需要说明的是,针对一个游戏界面上存在过多的相似按钮,只需要操作其中的部分按钮即可。通过模糊匹配的方式,就可以过滤掉其中大部分按钮。例如,如图2所示,当前游戏界面1上具有控件2、控件3、控件4和控件5。其中控件2的名称为“购买70万豆”,控件3的名称为“购买142万豆”,控件4的名称为“购买430万豆”,控件5的名称为“购买720万豆”,而且控件2、控件3、控件4和控件5的尺寸相同。采用模糊匹配的方式即可检测出控件2、控件3、控件4和控件5为相似控件,仅需随机选择其中一个控件进行操作即可。另外,在对游戏界面上的所有控件进行遍历时,对已经被操作过的控件进行过滤,或者将其操作优先级降低,从而实现智能化操作,提高操作效率和测试效率。
进一步地,所述遍历所述当前游戏界面上的所有控件并进行操作,获取界面跳转的最优跳转路径,具体包括:
根据控件的属性依次对所述当前游戏界面上的控件进行相应的操作;
获取所述当前游戏界面跳转到最优界面的所有操作路径,并将所有操作路径中操作最少的路径作为所述最优跳转路径;所述最优界面为所述当前游戏界面所跳转的界面中具有最多未被操作的控件的界面。
需要说明的是,在进入一个游戏界面后,当该游戏界面上的所有控件都被操作过了,即可全局搜索出一个最优界面,通过界面跳转,即可发现并记录一条从当前游戏界面跳转到最优界面的最优跳转路径,并跳转过去,实现探索到未测试过的按钮和发现新的游戏界面。在遍历所有游戏界面后,即可获得所有记录的最优跳转路径,并保存为一个导航图。
参见图3,是本发明实施例提供的游戏程序的测试方法的具体流程示意图,该方法包括:
S31、数据处理。对采集回来的数据做过滤、刷选、入库处理。
S32、控件识别。分析出游戏程序所有的控件,形成待分析游戏控件集合。
S33、控件定位。主要是用于控制自动化测试流程,检查游戏当前界面状态,决定操作行为,判定执行结果。
S34、控件过滤。在做控件遍历的时候,对相似控件和已经被操作过的控件进行过滤。
S35、控件导航。记录下遍历过的所有界面,以及界面之间的跳转关系。
本发明实施例在进行测试前,对游戏程序中的每一游戏界面上的控件进行识别和定位,进而对定位出的控件进行操作,获取当前游戏界面跳转到最优界面的最优跳转路径,遍历所有游戏界面后,将获取的所有最优跳转路径记录为导航图,并根据导航图制作测试脚本,以便根据该测试脚本对游戏程序进行测试,从而有效提高游戏程序的测试效率,且测试覆盖全面,提高测试的准确率。
相应的,本发明实施例提供了一种游戏程序的测试系统,能够实现上述游戏程序的测试方法的所有流程,参见图4,所述系统包括:
运行模块41,用于运行游戏程序;
定位模块42,用于定位出当前游戏界面上的所有控件;
操作模块43,用于遍历所述当前游戏界面上的所有控件并进行操作,获取界面跳转的最优跳转路径;以及,
测试模块44,用于在所述游戏程序运行结束时,记录所有最优跳转路径以构成导航图,并根据所述导航图对所述游戏程序进行测试。
进一步地,所述定位模块具体包括:
采集单元,用于采集所述游戏程序的界面数据;
识别单元,用于从所述界面数据中识别出所述游戏程序中的所有控件,并获取所有控件的属性;以及,
定位单元,用于根据控件的属性定位出所述当前游戏界面上的所有控件。
进一步地,所述操作模块具体包括:
过滤单元,用于根据控件的属性对所述当前游戏界面上的所有控件进行模糊匹配,过滤掉匹配出的性能相似的控件;以及,
遍历单元,用于遍历所述当前游戏界面上过滤后的所有控件并进行操作。
进一步地,所述操作模块具体包括:
操作单元,用于根据控件的属性依次对所述当前游戏界面上的控件进行相应的操作;以及,
跳转单元,用于获取所述当前游戏界面跳转到最优界面的所有操作路径,并将所有操作路径中操作最少的路径作为所述最优跳转路径;所述最优界面为所述当前游戏界面所跳转的界面中具有最多未被操作的控件的界面。
优选地,所述控件的属性包括控件的名称、位置、尺寸以及表示是否已被操作过的标记。
本发明实施例在进行测试前,对游戏程序中的每一游戏界面上的控件进行识别和定位,进而对定位出的控件进行操作,获取当前游戏界面跳转到最优界面的最优跳转路径,遍历所有游戏界面后,将获取的所有最优跳转路径记录为导航图,并根据导航图制作测试脚本,以便根据该测试脚本对游戏程序进行测试,从而有效提高游戏程序的测试效率,且测试覆盖全面,提高测试的准确率。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种游戏程序的测试方法,其特征在于,包括:
运行游戏程序;
定位出当前游戏界面上的所有控件;
遍历所述当前游戏界面上的所有控件并进行操作,获取界面跳转的最优跳转路径;
在所述游戏程序运行结束时,记录所有最优跳转路径以构成导航图,并根据所述导航图对所述游戏程序进行测试;
其中,所述遍历所述当前游戏界面上的所有控件并进行操作,获取界面跳转的最优跳转路径,具体包括:
根据控件的属性依次对所述当前游戏界面上的控件进行相应的操作;
获取所述当前游戏界面跳转到最优界面的所有操作路径,并将所有操作路径中操作最少的路径作为所述最优跳转路径;所述最优界面为所述当前游戏界面所跳转的界面中具有最多未被操作的控件的界面。
2.如权利要求1所述的游戏程序的测试方法,其特征在于,所述定位出当前游戏界面上的所有控件,具体包括:
采集所述游戏程序的界面数据;
从所述界面数据中识别出所述游戏程序中的所有控件,并获取所有控件的属性;
根据控件的属性定位出所述当前游戏界面上的所有控件。
3.如权利要求2所述的游戏程序的测试方法,其特征在于,所述遍历所述当前游戏界面上的所有控件并进行操作,具体包括:
根据控件的属性对所述当前游戏界面上的所有控件进行模糊匹配,过滤掉匹配出的性能相似的控件;
遍历所述当前游戏界面上过滤后的所有控件并进行操作。
4.如权利要求2所述的游戏程序的测试方法,其特征在于,所述控件的属性包括控件的名称、位置、尺寸以及表示是否已被操作过的标记。
5.一种游戏程序的测试系统,其特征在于,包括:
运行模块,用于运行游戏程序;
定位模块,用于定位出当前游戏界面上的所有控件;
操作模块,用于遍历所述当前游戏界面上的所有控件并进行操作,获取界面跳转的最优跳转路径;以及,
测试模块,用于在所述游戏程序运行结束时,记录所有最优跳转路径以构成导航图,并根据所述导航图对所述游戏程序进行测试;
其中,所述操作模块具体包括:
操作单元,用于根据控件的属性依次对所述当前游戏界面上的控件进行相应的操作;以及,
跳转单元,用于获取所述当前游戏界面跳转到最优界面的所有操作路径,并将所有操作路径中操作最少的路径作为所述最优跳转路径;所述最优界面为所述当前游戏界面所跳转的界面中具有最多未被操作的控件的界面。
6.如权利要求5所述的游戏程序的测试系统,其特征在于,所述定位模块具体包括:
采集单元,用于采集所述游戏程序的界面数据;
识别单元,用于从所述界面数据中识别出所述游戏程序中的所有控件,并获取所有控件的属性;以及,
定位单元,用于根据控件的属性定位出所述当前游戏界面上的所有控件。
7.如权利要求6所述的游戏程序的测试系统,其特征在于,所述操作模块具体包括:
过滤单元,用于根据控件的属性对所述当前游戏界面上的所有控件进行模糊匹配,过滤掉匹配出的性能相似的控件;以及,
遍历单元,用于遍历所述当前游戏界面上过滤后的所有控件并进行操作。
8.如权利要求6所述的游戏程序的测试系统,其特征在于,所述控件的属性包括控件的名称、位置、尺寸以及表示是否已被操作过的标记。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710878795.XA CN109558307B (zh) | 2017-09-26 | 2017-09-26 | 一种游戏程序的测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710878795.XA CN109558307B (zh) | 2017-09-26 | 2017-09-26 | 一种游戏程序的测试方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109558307A CN109558307A (zh) | 2019-04-02 |
CN109558307B true CN109558307B (zh) | 2022-03-22 |
Family
ID=65862762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710878795.XA Active CN109558307B (zh) | 2017-09-26 | 2017-09-26 | 一种游戏程序的测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109558307B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851201B (zh) * | 2019-10-28 | 2024-01-16 | 腾讯科技(深圳)有限公司 | 应用运行控制方法、装置、终端及存储介质 |
CN112835785B (zh) * | 2021-01-08 | 2022-09-27 | 展讯通信(上海)有限公司 | 应用程序界面跳转的单向路径锚点记忆方法及装置、存储介质、终端 |
CN115098362B (zh) * | 2022-06-16 | 2023-04-28 | 北京百度网讯科技有限公司 | 页面测试方法、装置、电子设备以及存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102279795B (zh) * | 2011-08-24 | 2013-10-09 | 北京神州绿盟信息安全科技股份有限公司 | 一种测试方法及装置 |
CN102567201B (zh) * | 2011-12-15 | 2014-09-10 | 南京大学 | 跨模型的图形用户界面测试脚本自动修复方法 |
US8819642B2 (en) * | 2012-05-17 | 2014-08-26 | Cognizant Technology Solutions India Pvt. Ltd. | Method and system for generating and processing black box test cases |
CN103019937B (zh) * | 2012-12-13 | 2015-11-18 | 广东欧珀移动通信有限公司 | 一种人机交互界面遍历测试方法 |
US9600147B2 (en) * | 2013-01-31 | 2017-03-21 | Disney Enterprises, Inc. | Multi-layer user interfaces |
CN104461900B (zh) * | 2014-12-19 | 2018-08-10 | 北京奇虎科技有限公司 | 用户界面的测试方法、中控服务器、测试终端及系统 |
CN106326104B (zh) * | 2015-07-08 | 2021-03-16 | 腾讯科技(深圳)有限公司 | 终端控件测试方法及装置 |
CN105550585B (zh) * | 2016-03-02 | 2020-09-04 | 腾讯科技(深圳)有限公司 | 一种应用程序安全性测试方法、装置和系统 |
CN107038117B (zh) * | 2017-03-23 | 2020-11-06 | 北京工业大学 | 一种基于事件处理函数间定义-引用的web自动化测试方法 |
-
2017
- 2017-09-26 CN CN201710878795.XA patent/CN109558307B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109558307A (zh) | 2019-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5767471B2 (ja) | テストの網羅性を評価する装置及び方法 | |
CN107025165B (zh) | 游戏自动化测试方法及相关装置 | |
CN110427331B (zh) | 基于接口测试工具自动生成性能测试脚本的方法 | |
CN110442511B (zh) | 可视化埋点测试方法及装置 | |
CN103136471B (zh) | 一种恶意Android应用程序检测方法和系统 | |
CN109558307B (zh) | 一种游戏程序的测试方法及系统 | |
CN111773732B (zh) | 目标游戏用户的检测方法、装置及设备 | |
CN104598380A (zh) | 一种基于控件的自动化测试方法及系统 | |
CN106055462A (zh) | 一种时长获取方法和装置 | |
CN110221959B (zh) | 应用程序的测试方法、设备以及计算机可读介质 | |
CN103489444A (zh) | 一种语音识别方法和装置 | |
CN105653946A (zh) | 基于组合事件行为触发的Android恶意行为检测系统及其检测方法 | |
CN105224614A (zh) | 应用程序分类的展示方法和装置 | |
CN108829389A (zh) | 基于Appium的安卓应用自动化触发执行方法 | |
CN113076257A (zh) | 测试脚本录制方法、装置、介质及计算机设备 | |
CN104156308B (zh) | 一种基于用户执行踪迹重放的移动应用测试方法 | |
CN110737573B (zh) | 用户界面ui自动化测试的方法和装置 | |
CN112783764B (zh) | 应用程序的自动化测试方法及装置、存储介质、终端 | |
CN113220564A (zh) | 页面的自动化测试方法、装置、设备以及存储介质 | |
US10042638B2 (en) | Evaluating documentation coverage | |
CN108632670B (zh) | 一种视频满意度确定方法及装置 | |
CN115309661A (zh) | 一种应用测试方法、装置、电子设备及可读存储介质 | |
CN107577685A (zh) | 一种知识点显示方法及装置 | |
CN110737900A (zh) | 网页功能测试方法及装置、服务器和计算机可读存储介质 | |
CN109389972A (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 | ||
CB02 | Change of applicant information |
Address after: 518057 w601, Shenzhen Hong Kong industry university research base, No. 015, Gaoxin South seventh Road, high tech Zone community, Yuehai street, Nanshan District, Shenzhen, Guangdong Applicant after: ASPIRE TECHNOLOGIES (SHENZHEN) LTD. Address before: 518057 Guangdong city of Shenzhen province Nanshan District high tech Industrial Park, ier building six floor West Wing Applicant before: ASPIRE TECHNOLOGIES (SHENZHEN) LTD. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |