一种游戏程序的测试方法及系统与流程

文档序号:17287916发布日期:2019-04-03 03:43阅读:213来源:国知局
一种游戏程序的测试方法及系统与流程

本发明涉及计算机技术领域,尤其涉及一种游戏程序的测试方法及系统。



背景技术:

手机游戏快速发展,逐渐成为网民的一种娱乐生活方式,越来越多的用户习惯在碎片化时间玩游戏,公交车、地铁、排队和就餐等各种场景下均随处可见在手机上玩游戏的人。此外,随着智能手机的普及,逐渐从青年段向全年龄段覆盖,手机游戏因其简便性和娱乐性在获得青年用户关注的同时也将吸引较多的大龄用户使用,突破传统电脑端手机游戏的使用门槛。

但是,传统的手机游戏测试手段都是招聘游戏玩家来充当测试人员。测试界面以及流程步骤繁多,没有统一规范的流程,容易造成测试结果误差大。而且,大量的游戏界面,通过人工点击,效率低且无法全部遍历各个界面。



技术实现要素:

本发明针对现有技术中存在的问题,提供了一种游戏程序的测试方法及系统,能够提高游戏程序的测试效率。

本发明就上述技术问题而提出的技术方案如下:

一方面,本发明提供一种游戏程序的测试方法,包括:

运行游戏程序;

定位出当前游戏界面上的所有控件;

遍历所述当前游戏界面上的所有控件并进行操作,获取界面跳转的最优跳转路径;

在所述游戏程序运行结束时,记录所有最优跳转路径以构成导航图,并根据所述导航图对所述游戏程序进行测试。

进一步地,所述定位出当前游戏界面上的所有控件,具体包括:

采集所述游戏程序的界面数据;

从所述界面数据中识别出所述游戏程序中的所有控件,并获取所有控件的属性;

根据控件的属性定位出所述当前游戏界面上的所有控件。

进一步地,所述遍历所述当前游戏界面上的所有控件并进行操作,具体包括:

根据控件的属性对所述当前游戏界面上的所有控件进行模糊匹配,过滤掉匹配出的性能相似的控件;

遍历所述当前游戏界面上过滤后的所有控件并进行操作。

进一步地,所述遍历所述当前游戏界面上的所有控件并进行操作,获取界面跳转的最优跳转路径,具体包括:

根据控件的属性依次对所述当前游戏界面上的控件进行相应的操作;

获取所述当前游戏界面跳转到最优界面的所有操作路径,并将所有操作路径中操作最少的路径作为所述最优跳转路径;所述最优界面为所述当前游戏界面所跳转的界面中具有最多未被操作的控件的界面。

优选地,所述控件的属性包括控件的名称、位置、尺寸以及表示是否已被操作过的标记。

另一方面,本发明提供一种游戏程序的测试系统,包括:

运行模块,用于运行游戏程序;

定位模块,用于定位出当前游戏界面上的所有控件;

操作模块,用于遍历所述当前游戏界面上的所有控件并进行操作,获取界面跳转的最优跳转路径;以及,

测试模块,用于在所述游戏程序运行结束时,记录所有最优跳转路径以构成导航图,并根据所述导航图对所述游戏程序进行测试。

进一步地,所述定位模块具体包括:

采集单元,用于采集所述游戏程序的界面数据;

识别单元,用于从所述界面数据中识别出所述游戏程序中的所有控件,并获取所有控件的属性;以及,

定位单元,用于根据控件的属性定位出所述当前游戏界面上的所有控件。

进一步地,所述操作模块具体包括:

过滤单元,用于根据控件的属性对所述当前游戏界面上的所有控件进行模糊匹配,过滤掉匹配出的性能相似的控件;以及,

遍历单元,用于遍历所述当前游戏界面上过滤后的所有控件并进行操作。

进一步地,所述操作模块具体包括:

操作单元,用于根据控件的属性依次对所述当前游戏界面上的控件进行相应的操作;以及,

跳转单元,用于获取所述当前游戏界面跳转到最优界面的所有操作路径,并将所有操作路径中操作最少的路径作为所述最优跳转路径;所述最优界面为所述当前游戏界面所跳转的界面中具有最多未被操作的控件的界面。

优选地,所述控件的属性包括控件的名称、位置、尺寸以及表示是否已被操作过的标记。

本发明实施例提供的技术方案带来的有益效果是:

在进行测试前,对游戏程序中的每一游戏界面上的控件进行识别和定位,进而对定位出的控件进行操作,获取当前游戏界面跳转到最优界面的最优跳转路径,遍历所有游戏界面后,将获取的所有最优跳转路径记录为导航图,并根据导航图制作测试脚本,以便根据该测试脚本对游戏程序进行测试,从而有效提高游戏程序的测试效率,且测试覆盖全面,提高测试的准确率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图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,用于在所述游戏程序运行结束时,记录所有最优跳转路径以构成导航图,并根据所述导航图对所述游戏程序进行测试。

进一步地,所述定位模块具体包括:

采集单元,用于采集所述游戏程序的界面数据;

识别单元,用于从所述界面数据中识别出所述游戏程序中的所有控件,并获取所有控件的属性;以及,

定位单元,用于根据控件的属性定位出所述当前游戏界面上的所有控件。

进一步地,所述操作模块具体包括:

过滤单元,用于根据控件的属性对所述当前游戏界面上的所有控件进行模糊匹配,过滤掉匹配出的性能相似的控件;以及,

遍历单元,用于遍历所述当前游戏界面上过滤后的所有控件并进行操作。

进一步地,所述操作模块具体包括:

操作单元,用于根据控件的属性依次对所述当前游戏界面上的控件进行相应的操作;以及,

跳转单元,用于获取所述当前游戏界面跳转到最优界面的所有操作路径,并将所有操作路径中操作最少的路径作为所述最优跳转路径;所述最优界面为所述当前游戏界面所跳转的界面中具有最多未被操作的控件的界面。

优选地,所述控件的属性包括控件的名称、位置、尺寸以及表示是否已被操作过的标记。

本发明实施例在进行测试前,对游戏程序中的每一游戏界面上的控件进行识别和定位,进而对定位出的控件进行操作,获取当前游戏界面跳转到最优界面的最优跳转路径,遍历所有游戏界面后,将获取的所有最优跳转路径记录为导航图,并根据导航图制作测试脚本,以便根据该测试脚本对游戏程序进行测试,从而有效提高游戏程序的测试效率,且测试覆盖全面,提高测试的准确率。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1