太阳城集团

  • / 17
  • 下载费用:30 金币  

一种应用程序回归测试方法及装置.pdf

摘要
申请专利号:

CN201611190652.1

申请日:

2016.12.21

公开号:

太阳城集团CN106776327A

公开日:

2017.05.31

当前法律状态:

实审

有效性:

审中

法律详情: 实质审查的生效IPC(主分类):G06F 11/36申请日:20161221|||公开
IPC分类号: G06F11/36 主分类号: G06F11/36
申请人: 北京奇虎科技有限公司
发明人: 张秋震; 张晶; 李伟; 杜冰
地址: 100088 北京市西城区新街口外大街28号D座112室(德胜园区)
优先权:
专利代理机构: 北京华沛德权律师事务所 11302 代理人: 房德权
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201611190652.1

授权太阳城集团号:

|||

法律状态太阳城集团日:

2017.06.23|||2017.05.31

法律状态类型:

太阳城集团实质审查的生效|||公开

摘要

太阳城集团本发明公开了一种应用程序回归测试方法,包括:在对应用程序的第一版本的第一功能进行回归测试时,获取第一功能对应的第一测试用例,应用程序的第一版本安装在移动终端上;运行第一测试用例;在运行第一测试用例结束后,对移动终端的显示屏输出的图像进行截屏,获得第一截图;获取第一测试用例对应的第一标准截图,第一标准截图是第一功能正常实现时移动终端的显示屏输出的图像;比较第一截图与第一标准截图,若第一截图与第一标准截图一致,则回归测试通过;若第一截图与第一标准截图不一致,则回归测试未通过。本发明实现了提高回归测试效率的技术效果。同时,本发明还公开了一种应用程序回归测试方法及装置。

权利要求书

1.一种应用程序回归测试方法,其特征在于,包括:
在对应用程序的第一版本的第一功能进行回归测试时,获取所述第一功能对应的第一
测试用例,其中,所述应用程序的第一版本安装在移动终端上;
运行所述第一测试用例;
在运行所述第一测试用例结束后,对所述移动终端的显示屏输出的图像进行截屏,获
得第一截图;
获取所述第一测试用例对应的第一标准截图,其中,所述第一标准截图是所述第一功
能正常实现时所述移动终端的显示屏输出的图像;
比较所述第一截图与所述第一标准截图,其中,若所述第一截图与所述第一标准截图
一致,则所述回归测试通过;若所述第一截图与所述第一标准截图不一致,则所述回归测试
未通过。
2.如权利要求1所述的应用程序回归测试方法,其特征在于,所述获取所述第一功能对
应的第一测试用例之前,还包括:
在所述移动终端上安装所述应用程序的第一版本。
3.如权利要求1所述的应用程序回归测试方法,其特征在于,所述运行所述第一测试用
例,包括:
基于所述第一测试用例,确定需要调用的API函数序列,其中,所述API函数序列中包含
每个API函数的名称、以及每个API函数被调用的先后顺序;
调用所述API函数序列。
4.如权利要求3所述的应用程序回归测试方法,其特征在于,所述API函数为
MonkeyRunner对应的MonkeyRunner API函数。
5.如权利要求4所述的应用程序回归测试方法,其特征在于,所述MonkeyRunner API函
数,包括以下函数中的任意组合:
用于启动应用程序的MonkeyDevice.startActivity()函数;
用于点击显示屏的MonkeyDevice.touch()函数;
用于触发按键的MonkeyDevice.press()函数;
用于输入文本的MonkeyDevice.type()函数。
6.如权利要求1所述的应用程序回归测试方法,其特征在于,所述获取所述第一测试用
例对应的第一标准截图,包括:
从标准截图库中提取与所述一测试用例对应的所述第一标准截图。
7.如权利要求6所述的应用程序回归测试方法,其特征在于,所述标准截图库的生成方
法,包括:
在对应用程序的第一版本的第一功能进行回归测试之前,在所述移动终端上安装所述
应用程序的第二版本,其中,所述第二版本在所述第一版本之前,所述第二版本上的全部功
能都可以正常实现;
基于所述应用程序的第二版本的M个功能,获得M个测试用例,其中,所述M个测试用例
与所述M个功能一一对应,所述第一测试用例属于所述M个测试用例,所述第一功能属于所
述M个功能,M为正整数;
依次运行所述M个测试用例;
在所述M个测试用例运行结束后,依次对所述移动终端的显示屏输出的图像进行截屏,
获得M个标准截图,其中,所述M个标准截图与所述M个测试用例一一对应,所述第一标准截
图属于所述M个标准截图;
基于所述M个标准截图,生成所述标准截图库。
8.如权利要求1~7任一所述的应用程序回归测试方法,其特征在于,所述比较所述第
一截图与所述第一标准截图之后,还包括:
若所述回归测试未通过,则输出一表示所述回归测试未通过的警示太阳城集团。
9.一种应用程序回归测试装置,其特征在于,包括:
第一获取模块,用于在对应用程序的第一版本的第一功能进行回归测试时,获取所述
第一功能对应的第一测试用例,其中,所述应用程序的第一版本安装在移动终端上;
第一运行模块,用于运行所述第一测试用例;
第一截屏模块,用于在运行所述第一测试用例结束后,对所述移动终端的显示屏输出
的图像进行截屏,获得第一截图;
第二获取模块,用于获取所述第一测试用例对应的第一标准截图,其中,所述第一标准
截图是所述第一功能正常实现时所述移动终端的显示屏输出的图像;
比较模块,用于比较所述第一截图与所述第一标准截图,其中,若所述第一截图与所述
第一标准截图一致,则所述回归测试通过;若所述第一截图与所述第一标准截图不一致,则
所述回归测试未通过。
10.如权利要求9所述的应用程序回归测试装置,其特征在于,还包括:
第一安装模块,用于所述获取所述第一功能对应的第一测试用例之前,在所述移动终
端上安装所述应用程序的第一版本。

说明书

一种应用程序回归测试方法及装置

技术领域

本发明涉及软件测试技术领域,尤其涉及一种应用程序回归测试方法及装置。

背景技术

回归测试,是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或
导致其他代码产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本。回归
测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,
软件开发的各个阶段都会进行多次回归测试。在渐进和快速迭代开发中,新版本的连续发
布使回归测试进行的更加频繁,而在极端编程方法中,更是要求每天都进行若干次回归测
试。因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是很有意义的。

目前,Android应用的自动化回归测试方法繁多(例如:Instrumentation、
robotium、monkey、等等)。但是,这些自动化回归测试方法存在过程繁琐、效率较低的问题。

发明内容

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上
述问题的应用程序回归测试方法及装置。

本发明的一个方面,提供了一种应用程序回归测试方法,包括:

在对应用程序的第一版本的第一功能进行回归测试时,获取所述第一功能对应的
第一测试用例,其中,所述应用程序的第一版本安装在移动终端上;

运行所述第一测试用例;

在运行所述第一测试用例结束后,对所述移动终端的显示屏输出的图像进行截
屏,获得第一截图;

获取所述第一测试用例对应的第一标准截图,其中,所述第一标准截图是所述第
一功能正常实现时所述移动终端的显示屏输出的图像;

比较所述第一截图与所述第一标准截图,其中,若所述第一截图与所述第一标准
截图一致,则所述回归测试通过;若所述第一截图与所述第一标准截图不一致,则所述回归
测试未通过。

可选地,所述获取所述第一功能对应的第一测试用例之前,还包括:

在所述移动终端上安装所述应用程序的第一版本。

可选地,所述运行所述第一测试用例,包括:

基于所述第一测试用例,确定需要调用的API函数序列,其中,所述API函数序列中
包含每个API函数的名称、以及每个API函数被调用的先后顺序;

调用所述API函数序列。

可选地,所述API函数为MonkeyRunner对应的MonkeyRunner API函数。

可选地,所述MonkeyRunner API函数,包括以下函数中的任意组合:

用于启动应用程序的MonkeyDevice.startActivity()函数;

用于点击显示屏的MonkeyDevice.touch()函数;

用于触发按键的MonkeyDevice.press()函数;

用于输入文本的MonkeyDevice.type()函数。

可选地,所述获取所述第一测试用例对应的第一标准截图,包括:

从标准截图库中提取与所述一测试用例对应的所述第一标准截图。

可选地,所述标准截图库的生成方法,包括:

在对应用程序的第一版本的第一功能进行回归测试之前,在所述移动终端上安装
所述应用程序的第二版本,其中,所述第二版本在所述第一版本之前,所述第二版本上的全
部功能都可以正常实现;

基于所述应用程序的第二版本的M个功能,获得M个测试用例,其中,所述M个测试
用例与所述M个功能一一对应,所述第一测试用例属于所述M个测试用例,所述第一功能属
于所述M个功能,M为正整数;

依次运行所述M个测试用例;

在所述M个测试用例运行结束后,依次对所述移动终端的显示屏输出的图像进行
截屏,获得M个标准截图,其中,所述M个标准截图与所述M个测试用例一一对应,所述第一标
准截图属于所述M个标准截图;

基于所述M个标准截图,生成所述标准截图库。

可选地,所述比较所述第一截图与所述第一标准截图之后,还包括:

若所述回归测试未通过,则输出一表示所述回归测试未通过的警示太阳城集团。

本发明的另一个方面,提供一种应用程序回归测试装置,包括:

第一获取模块,用于在对应用程序的第一版本的第一功能进行回归测试时,获取
所述第一功能对应的第一测试用例,其中,所述应用程序的第一版本安装在移动终端上;

第一运行模块,用于运行所述第一测试用例;

第一截屏模块,用于在运行所述第一测试用例结束后,对所述移动终端的显示屏
输出的图像进行截屏,获得第一截图;

第二获取模块,用于获取所述第一测试用例对应的第一标准截图,其中,所述第一
标准截图是所述第一功能正常实现时所述移动终端的显示屏输出的图像;

比较模块,用于比较所述第一截图与所述第一标准截图,其中,若所述第一截图与
所述第一标准截图一致,则所述回归测试通过;若所述第一截图与所述第一标准截图不一
致,则所述回归测试未通过。

可选地,所述的应用程序回归测试装置,还包括:

第一安装模块,用于所述获取所述第一功能对应的第一测试用例之前,在所述移
动终端上安装所述应用程序的第一版本。

可选地,所述运行模块,具体用于:

基于所述第一测试用例,确定需要调用的API函数序列,其中,所述API函数序列中
包含每个API函数的名称、以及每个API函数被调用的先后顺序;调用所述API函数序列。

可选地,所述API函数为MonkeyRunner对应的MonkeyRunner API函数。

可选地,所述MonkeyRunner API函数,包括以下函数中的任意组合:

用于启动应用程序的MonkeyDevice.startActivity()函数;

用于点击显示屏的MonkeyDevice.touch()函数;

用于触发按键的MonkeyDevice.press()函数;

用于输入文本的MonkeyDevice.type()函数。

可选地,所述第二获取模块,具体用于:

从标准截图库中提取与所述一测试用例对应的所述第一标准截图。

可选地,所述的应用程序回归测试装置,还包括:

第二安装模块,用于在对应用程序的第一版本的第一功能进行回归测试之前,在
所述移动终端上安装所述应用程序的第二版本,其中,所述第二版本在所述第一版本之前,
所述第二版本上的全部功能都可以正常实现;

获得模块,用于基于所述应用程序的第二版本的M个功能,获得M个测试用例,其
中,所述M个测试用例与所述M个功能一一对应,所述第一测试用例属于所述M个测试用例,
所述第一功能属于所述M个功能,M为正整数;

第二运行模块,用于依次运行所述M个测试用例;

第二截屏模块,用于在所述M个测试用例运行结束后,依次对所述移动终端的显示
屏输出的图像进行截屏,获得M个标准截图,其中,所述M个标准截图与所述M个测试用例一
一对应,所述第一标准截图属于所述M个标准截图;

生成模块,用于基于所述M个标准截图,生成所述标准截图库。

可选地,所述的应用程序回归测试装置,还包括:

输出模块,用于所述比较所述第一截图与所述第一标准截图之后,若所述回归测
试未通过,则输出一表示所述回归测试未通过的警示太阳城集团。

本发明实施例中提供的技术方案,至少具有如下技术效果或优点:

在本发明实施例中,公开了一种应用程序回归测试方法,包括:在对应用程序的第
一版本的第一功能进行回归测试时,获取第一功能对应的第一测试用例;运行第一测试用
例,并在运行第一测试用例结束后对移动终端的显示屏输出的图像进行截屏,获得第一截
图;获取第一测试用例对应的第一标准截图,第一标准截图是第一功能正常实现时移动终
端的显示屏输出的图像;比较第一截图与第一标准截图,若第一截图与第一标准截图一致,
则回归测试通过;若第一截图与第一标准截图不一致,则回归测试未通过。本发明通过比较
第一截图与第一标准截图是否一致,即可判断回归测试是否通过,过程简单,从而提高了回
归测试的效率。所以有效地解决了现有的自动化回归测试方法存在过程繁琐、效率较低的
技术问题。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,
而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够
更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通
技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明
的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明一个实施例的一种应用程序回归测试系统的架构图;

图2示出了根据本发明一个实施例的一种应用程序回归测试方法的流程图;

图3示出了根据本发明一个实施例的标准截图库的生成方法的流程图;

图4示出了根据本发明一个实施例的一种应用程序回归测试装置的结构图。

具体实施方式

本发明实施例提供了一种应用程序回归测试方法及装置,用以解决现有技术的自
动化回归测试方法存在过程繁琐、效率较低的技术问题。

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开
的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例
所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围
完整的传达给本领域的技术人员。

在正式介绍本实施例中的应用程序回归测试方法之前,先对用于实现该应用程序
回归测试方法的系统的进行介绍。如图1所示,该应用程序回归测试系统主要由PC
(Personal Computer,个人电脑)和移动终端组成。其中,所述移动终端可以是:智能手机、
或平板电脑、或车载电脑等智能终端,此处不做具体限定。在PC侧安装有一测试脚本,本实
施例提供的应用程序回归测试方法,主要由PC侧的测试脚本完成。

实施例一

本实施例提供了一种应用程序回归测试方法,如图2所示,包括:

步骤S101:在对应用程序的第一版本的第一功能进行回归测试时,获取第一功能
对应的第一测试用例,其中,应用程序的第一版本安装在移动终端上。

在具体实施过程中,所述应用程序即需为要进行回归测试的Android平台下的应
用程序。所述应用程序,可以是:游戏类应用程序、或视频类应用程序、或音乐类应用程序、
或购物类应用程序、或安全类应用程序、或拍照类应用程序、或炒股类应用程序、或社交类
应用程序、或团购类应用程序、或点餐类应用程序、或支付类应用程序,或太阳城集团器类应用程
序,等等。此处,对于所述应用程序具体是何种应用程序,本实施例不做具体限定。

在具体实施过程中,所述应用程序的第一版本是该应用程序第二版本(第二版本
可以是应用程序开发过程中的最终版,即Final Build)后的升级版本,其中,该第一版相较
于第二版本,某些功能进行了修改,对应的代码也发生了变化,所以,需要对这个修改过的
功能进行回归测试,从而确认该修改是否引入了新的错误或是否导致其他代码产生错误。

作为一种可选的实施例,在步骤S101之前,还包括:在移动终端上安装应用程序的
第一版本。

在本申请实施例中,采用MonkeyRunner作为辅助测试工具,因此,需要事先在PC侧
安装配置MonkeyRunner环境,然后利用MonkeyRunner将应用程序的第一版本安装在移动终
端中。具体来讲,可以利用MonkeyRunner提供的MonkeyDevice.installPackage()函数将
应用程序的第一版本安装在移动终端中。此处,选用MonkeyRunner作为辅助测试工具,相比
于其他测试工具(例如:Instrumentation、robotium或monkey),不用破坏待测应用程序的
签名,并且可以更加方便、快捷地对移动终端进行操控(例如:按键输入、触摸屏输入、手势
输入等等),可以节省大量太阳城集团,从而提高回归测试效率。

在具体实施过程中,所述应用程序的第一版本和第二版本具有相同的M个功能,M
为正整数,第一功能为所述M个功能中的任一功能,且第一功能即为第一版本中被修改过的
功能,所以,需要对第一功能进行回归测试。

在具体实施过程中,在采用人工方式实现每个功能时,每个功能都对应有一套操
作测试流程,其也就对应有一测试用例,该测试用例用于模拟人工对该功能进行操作的流
程。具体来讲,每个功能对应的操作控件(例如:按钮、输入框,等等)是不同的,对应的操作
步骤也是不同的。例如:在启动应用程序的第一版本后,移动终端的显示屏(例如:电容式电
视屏)会输出一UI(User Interface,用户界面),在实现某一功能时,是该点击显示屏上的
哪个位置,或者,点击显示屏上的哪个按钮,或者,该功能对应有一输入框时,该输入什么内
容,等等;每个功能都对应有一套操作流程。第一测试用例就是用来模拟人工实现第一功能
时的操作流程的。

在具体实施过程中,所述M个功能各自对应有一个测试用例(共有M个测试用例),
每个测试用例用来测试对应的功能,所述M个测试用例可以是应用程序的开发过程中测试
人员所使用的测试用例。此处,即可从这M个测试用例中选出第一功能对应的第一测试用
例。

步骤S102:运行第一测试用例。

在具体实施过程中,在运行第一测试用例时,可以基于第一测试用例,确定需要调
用的API函数序列,再调用该API函数序列;其中,该API函数序列中包含每个API函数的名
称、以及每个API函数被调用的先后顺序。

具体来讲,第一测试用例对应有一API函数序列,该API函数序列中按顺序记录有
多个API函数(例如:用于启动应用程序的API函数,或用于点击显示屏的API函数,或用于触
发按键的API函数,或用于输入文本的输入文本的API函数,等等),通过调用该API函数序
列,即可对第一工能对应的控件进行操作,继而模拟人工实现第一功能时的操作流程来尝
试实现第一功能。

在具体实施过程中,可以调用为MonkeyRunner提供的MonkeyRunner API函数,来
对第一功能对应的控件进行操作。其中,所述MonkeyRunner API函数,包括以下函数中的任
意组合:用于启动应用程序的MonkeyDevice.startActivity()函数;用于点击显示屏的
MonkeyDevice.touch()函数;用于触发按键的MonkeyDevice.press()函数;用于输入文本
的MonkeyDevice.type()函数,等等。

步骤S103:在运行第一测试用例结束后,对移动终端的显示屏输出的图像进行截
屏,获得第一截图。

在具体实施过程中,可以通过调用MonkeyRunner提供的
MonkeyDevice.takeSnapshot()函数进行截屏,从而获得第一截图。

步骤S104:获取第一测试用例对应的第一标准截图,其中,第一标准截图是第一功
能正常实现时移动终端的显示屏输出的图像。

在具体实施过程中,可以从标准截图库中提取与一测试用例对应的第一标准截
图。其中,第一标准截图是第一功能正常实现时移动终端的显示屏输出的图像,通过比较第
一截图与第一标准截图,即可知道在运行第一测试用例后,第一功能是否正常实现。

作为一种可选的实施例,如图3所示,该标准截图库的生成方法,包括(步骤S201~
步骤S 204):

步骤S201:在对应用程序的第一版本的第一功能进行回归测试之前,在移动终端
上安装应用程序的第二版本,其中,第二版本在第一版本之前,第二版本上的全部功能都可
以正常实现。

在具体实施过程中,步骤S201~步骤S 204在步骤S101之前执行,从而事先得到标
准截图库。其中,第二版本为第一版本之前的早期版本,其可以是应用程序开发过程中的最
终版。可以在MonkeyRunner环境下,利用MonkeyRunner提供的
MonkeyDevice.installPackage()函数将应用程序的第二版本安装待移动终端中。

步骤S201:基于应用程序的第二版本的M个功能,获得M个测试用例,其中,M个测试
用例与M个功能一一对应,第一测试用例属于M个测试用例,第一功能属于M个功能,M为正整
数。

在具体实施过程中,所述M个功能可以是第二版本的全部功能,第一版本的第一功
能也属于所述M个功能中。

步骤S202:依次运行M个测试用例。

步骤S203:在M个测试用例运行结束后,依次对移动终端的显示屏输出的图像进行
截屏,获得M个标准截图,其中,M个标准截图与M个测试用例一一对应,第一标准截图属于M
个标准截图。

在具体实施过程中,可以依次运行M个测试用例中的每个测试用例。具体来讲,先
运行一个测试用例,调用该测试用例对应的API序列(包括以下函数的任意组合:
MonkeyDevice.startActivity()、MonkeyDevice.touch()、MonkeyDevice.press()、
MonkeyDevice.type()、等等),在调用结束后通过MonkeyDevice.takeSnapshot()函数进
行截图,获得该测试用例对应的标准截图。再运行下一个测试用例,获得下一个测试用例对
应的标准截图;以此类推,直到所述M个测试用例都被运行,得到M个标准截图。

步骤S204:基于M个标准截图,生成标准截图库。

在具体实施过程中,所述标准截图库中存储有所述M个标准截图,以及每个标准截
图和测试用例的对应关系。

步骤S105:比较第一截图与第一标准截图,其中,若第一截图与第一标准截图一
致,则回归测试通过;若第一截图与第一标准截图不一致,则回归测试未通过。

在具体实施过程中,可以利用自动化图片比较工具(例如:Beyond Compare—
picture view)来比较第一截图与第一标准截图。在进行比较时,可以采用相对严格的标
准,例如:若发现第一截图中的内容与第一标准截图中的内容有一处不同,则认为第一截图
与第一标准截图不一致。

作为一种可选的实施例,步骤S105之后,还包括:若回归测试未通过,则输出一表
示回归测试未通过的警示太阳城集团。

在具体实施过程中,所述警示太阳城集团可以是声音类警示太阳城集团或文字/符号类警示信
息,在为文字/符号类警示太阳城集团时,可以由PC的显示屏输出;若为声音类警示太阳城集团时,可以由
PC的扬声器输出。另外,PC也可以将该警示太阳城集团发送到测试人员的邮箱中。在测试人员在收
到该警示消息后,即可对应用程序的第一版本出现问题的原因进行分析,及时找出原因所
在。

本发明实施例中提供的技术方案,至少具有如下技术效果或优点:

在本发明实施例中,公开了一种应用程序回归测试方法,包括:在对应用程序的第
一版本的第一功能进行回归测试时,获取第一功能对应的第一测试用例;运行第一测试用
例,并在运行第一测试用例结束后对移动终端的显示屏输出的图像进行截屏,获得第一截
图;获取第一测试用例对应的第一标准截图,第一标准截图是第一功能正常实现时移动终
端的显示屏输出的图像;比较第一截图与第一标准截图,若第一截图与第一标准截图一致,
则回归测试通过;若第一截图与第一标准截图不一致,则回归测试未通过。本发明通过比较
第一截图与第一标准截图是否一致,即可判断回归测试是否通过,过程简单,从而提高了测
试效率。所以有效地解决了现有的自动化回归测试方法存在过程繁琐、效率较低的技术问
题。

实施例二

本实施例还提供了一种应用程序回归测试装置,如图4所示,包括:

第一获取模块301,用于在对应用程序的第一版本的第一功能进行回归测试时,获
取第一功能对应的第一测试用例,其中,应用程序的第一版本安装在移动终端上;

第一运行模块302,用于运行第一测试用例;

第一截屏模块303,用于在运行第一测试用例结束后,对移动终端的显示屏输出的
图像进行截屏,获得第一截图;

第二获取模块304,用于获取第一测试用例对应的第一标准截图,其中,第一标准
截图是第一功能正常实现时移动终端的显示屏输出的图像;

比较模块305,用于比较第一截图与第一标准截图,其中,若第一截图与第一标准
截图一致,则回归测试通过;若第一截图与第一标准截图不一致,则回归测试未通过。

作为一种可选的实施例,所示应用程序回归测试装置,还包括:

第一安装模块,用于获取第一功能对应的第一测试用例之前,在移动终端上安装
应用程序的第一版本。

作为一种可选的实施例,第一运行模块302,具体用于:

基于第一测试用例,确定需要调用的API函数序列,其中,API函数序列中包含每个
API函数的名称、以及每个API函数被调用的先后顺序;调用API函数序列。

作为一种可选的实施例,API函数为MonkeyRunner对应的MonkeyRunner API函数。

作为一种可选的实施例,MonkeyRunner API函数,包括以下函数中的任意组合:

用于启动应用程序的MonkeyDevice.startActivity()函数;

用于点击显示屏的MonkeyDevice.touch()函数;

用于触发按键的MonkeyDevice.press()函数;

用于输入文本的MonkeyDevice.type()函数。

作为一种可选的实施例,第二获取模块304,具体用于:

从标准截图库中提取与一测试用例对应的第一标准截图。

作为一种可选的实施例,所述应用程序回归测试装置,还包括:

第二安装模块,用于在对应用程序的第一版本的第一功能进行回归测试之前,在
移动终端上安装应用程序的第二版本,其中,第二版本在第一版本之前,第二版本上的全部
功能都可以正常实现;

获得模块,用于基于应用程序的第二版本的M个功能,获得M个测试用例,其中,M个
测试用例与M个功能一一对应,第一测试用例属于M个测试用例,第一功能属于M个功能,M为
正整数;

第二运行模块,用于依次运行M个测试用例;

第二截屏模块,用于在M个测试用例运行结束后,依次对移动终端的显示屏输出的
图像进行截屏,获得M个标准截图,其中,M个标准截图与M个测试用例一一对应,第一标准截
图属于M个标准截图;

生成模块,用于基于M个标准截图,生成标准截图库。

作为一种可选的实施例,所述应用程序回归测试装置,还包括:

输出模块,用于比较第一截图与第一标准截图之后,若回归测试未通过,则输出一
表示回归测试未通过的警示太阳城集团。

由于本实施例所介绍的应用程序回归测试装置为实施本申请实施例中用于应用
程序回归测试方法所采用的装置,故而基于本申请实施例中所介绍的应用程序回归测试方
法,本领域所属技术人员能够了解本实施例的应用程序回归测试装置的具体实施方式以及
其各种变化形式,所以在此对于该应用程序回归测试装置如何实现本申请实施例中的应用
程序回归测试方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中应用程序
回归测试方法所采用的装置,都属于本申请所欲保护的范围。

本发明实施例中提供的技术方案,至少具有如下技术效果或优点:

在本发明实施例中,公开了一种应用程序回归测试装置,包括:第一获取模块,用
于在对应用程序的第一版本的第一功能进行回归测试时,获取第一功能对应的第一测试用
例,其中,应用程序的第一版本安装在移动终端上;第一运行模块,用于运行第一测试用例;
第一截屏模块,用于在运行第一测试用例结束后,对移动终端的显示屏输出的图像进行截
屏,获得第一截图;第二获取模块,用于获取第一测试用例对应的第一标准截图,其中,第一
标准截图是第一功能正常实现时移动终端的显示屏输出的图像;比较模块,用于比较第一
截图与第一标准截图,其中,若第一截图与第一标准截图一致,则回归测试通过;若第一截
图与第一标准截图不一致,则回归测试未通过。本发明通过比较第一截图与第一标准截图
是否一致,即可判断回归测试是否通过,过程简单,从而提高了测试效率。所以有效地解决
了现有的自动化回归测试方法存在过程繁琐、效率较低的技术问题。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。
各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求
的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种
编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发
明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施
例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构
和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在
上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施
例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保
护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面
的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,
遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身
都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地
改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单
元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或
子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何
组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任
何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权
利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代
替。

此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所
包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围
之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之
一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行
的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用
微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一种应用程序回归测试装
置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述
的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这
样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的
形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他
形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领
域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,
不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未
列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的
元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实
现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项
来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名
称。

本发明公开了,A1、一种应用程序回归测试方法,其特征在于,包括:

在对应用程序的第一版本的第一功能进行回归测试时,获取所述第一功能对应的
第一测试用例,其中,所述应用程序的第一版本安装在移动终端上;

运行所述第一测试用例;

在运行所述第一测试用例结束后,对所述移动终端的显示屏输出的图像进行截
屏,获得第一截图;

获取所述第一测试用例对应的第一标准截图,其中,所述第一标准截图是所述第
一功能正常实现时所述移动终端的显示屏输出的图像;

比较所述第一截图与所述第一标准截图,其中,若所述第一截图与所述第一标准
截图一致,则所述回归测试通过;若所述第一截图与所述第一标准截图不一致,则所述回归
测试未通过。

A2、如A1所述的应用程序回归测试方法,其特征在于,所述获取所述第一功能对应
的第一测试用例之前,还包括:

在所述移动终端上安装所述应用程序的第一版本。

A3、如A1所述的应用程序回归测试方法,其特征在于,所述运行所述第一测试用
例,包括:

基于所述第一测试用例,确定需要调用的API函数序列,其中,所述API函数序列中
包含每个API函数的名称、以及每个API函数被调用的先后顺序;

调用所述API函数序列。

A4、如A3所述的应用程序回归测试方法,其特征在于,所述API函数为
MonkeyRunner对应的MonkeyRunner API函数。

A5、如A4所述的应用程序回归测试方法,其特征在于,所述MonkeyRunner API函
数,包括以下函数中的任意组合:

用于启动应用程序的MonkeyDevice.startActivity()函数;

用于点击显示屏的MonkeyDevice.touch()函数;

用于触发按键的MonkeyDevice.press()函数;

用于输入文本的MonkeyDevice.type()函数。

A6、如A1所述的应用程序回归测试方法,其特征在于,所述获取所述第一测试用例
对应的第一标准截图,包括:

从标准截图库中提取与所述一测试用例对应的所述第一标准截图。

A7、如A6所述的应用程序回归测试方法,其特征在于,所述标准截图库的生成方
法,包括:

在对应用程序的第一版本的第一功能进行回归测试之前,在所述移动终端上安装
所述应用程序的第二版本,其中,所述第二版本在所述第一版本之前,所述第二版本上的全
部功能都可以正常实现;

基于所述应用程序的第二版本的M个功能,获得M个测试用例,其中,所述M个测试
用例与所述M个功能一一对应,所述第一测试用例属于所述M个测试用例,所述第一功能属
于所述M个功能,M为正整数;

依次运行所述M个测试用例;

在所述M个测试用例运行结束后,依次对所述移动终端的显示屏输出的图像进行
截屏,获得M个标准截图,其中,所述M个标准截图与所述M个测试用例一一对应,所述第一标
准截图属于所述M个标准截图;

基于所述M个标准截图,生成所述标准截图库。

A8、如A1~A7任一所述的应用程序回归测试方法,其特征在于,所述比较所述第一
截图与所述第一标准截图之后,还包括:

若所述回归测试未通过,则输出一表示所述回归测试未通过的警示太阳城集团。

B9、一种应用程序回归测试装置,其特征在于,包括:

第一获取模块,用于在对应用程序的第一版本的第一功能进行回归测试时,获取
所述第一功能对应的第一测试用例,其中,所述应用程序的第一版本安装在移动终端上;

第一运行模块,用于运行所述第一测试用例;

第一截屏模块,用于在运行所述第一测试用例结束后,对所述移动终端的显示屏
输出的图像进行截屏,获得第一截图;

第二获取模块,用于获取所述第一测试用例对应的第一标准截图,其中,所述第一
标准截图是所述第一功能正常实现时所述移动终端的显示屏输出的图像;

比较模块,用于比较所述第一截图与所述第一标准截图,其中,若所述第一截图与
所述第一标准截图一致,则所述回归测试通过;若所述第一截图与所述第一标准截图不一
致,则所述回归测试未通过。

B10、如B9所述的应用程序回归测试装置,其特征在于,还包括:

第一安装模块,用于所述获取所述第一功能对应的第一测试用例之前,在所述移
动终端上安装所述应用程序的第一版本。

B11、如B9所述的应用程序回归测试装置,其特征在于,所述运行模块,具体用于:

基于所述第一测试用例,确定需要调用的API函数序列,其中,所述API函数序列中
包含每个API函数的名称、以及每个API函数被调用的先后顺序;调用所述API函数序列。

B12、如B11所述的应用程序回归测试装置,其特征在于,所述API函数为
MonkeyRunner对应的MonkeyRunner API函数。

B13、如B12所述的装置,其特征在于,所述MonkeyRunner API函数,包括以下函数
中的任意组合:

用于启动应用程序的MonkeyDevice.startActivity()函数;

用于点击显示屏的MonkeyDevice.touch()函数;

用于触发按键的MonkeyDevice.press()函数;

用于输入文本的MonkeyDevice.type()函数。

B14、如B9所述的应用程序回归测试装置,其特征在于,所述第二获取模块,具体用
于:

从标准截图库中提取与所述一测试用例对应的所述第一标准截图。

B15、如B14所述的应用程序回归测试装置,其特征在于,还包括:

第二安装模块,用于在对应用程序的第一版本的第一功能进行回归测试之前,在
所述移动终端上安装所述应用程序的第二版本,其中,所述第二版本在所述第一版本之前,
所述第二版本上的全部功能都可以正常实现;

获得模块,用于基于所述应用程序的第二版本的M个功能,获得M个测试用例,其
中,所述M个测试用例与所述M个功能一一对应,所述第一测试用例属于所述M个测试用例,
所述第一功能属于所述M个功能,M为正整数;

第二运行模块,用于依次运行所述M个测试用例;

第二截屏模块,用于在所述M个测试用例运行结束后,依次对所述移动终端的显示
屏输出的图像进行截屏,获得M个标准截图,其中,所述M个标准截图与所述M个测试用例一
一对应,所述第一标准截图属于所述M个标准截图;

生成模块,用于基于所述M个标准截图,生成所述标准截图库。

B16、如B9~B15任一所述的应用程序回归测试装置,其特征在于,还包括:

输出模块,用于所述比较所述第一截图与所述第一标准截图之后,若所述回归测
试未通过,则输出一表示所述回归测试未通过的警示太阳城集团。

关 键 词:
一种 应用程序 回归 测试 方法 装置
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
太阳城集团本文
本文标题:一种应用程序回归测试方法及装置.pdf
链接地址:http://zh228.com/p-6019881.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
葡京赌场|welcome document.write ('');