一种应用软件的回归测试方法及装置、电子设备技术领域
本发明涉及电子技术领域,尤其涉及一种应用软件的回归测试方法及装置、电子
设备。
背景技术
应用软件系统在设计开发过程中离不开测试,而随着软件版本的变迁,程序被不
断的修改,在修改的过程中可能会在程序的原有功能里引入新的Bug,回归测试技术使用之
前已开发的测试用例来测试程序的原有功能,从而确认程序原有功能没有被程序的修改所
影响。
在现有的技术方案中,最常见的回归测试方法是整理一份excel用例文档,通常包
含上百条的测试用例,回归测试的时候测试人员按照测试用例的执行方法判断输入输出是
否有异常。然而随着版本迭代频繁、测试需求频繁变更,使得测试用例不断增加,通过测试
人员的测试仅仅能获知当前测试用例的回归效果,无法了解到整个应用软件的回归效果,
且有可能漏测应用软件的某一个功能点,或者有可能对某一个功能点重复测试,因此降低
了对应用软件回归测试的有效性。
发明内容
本发明实施例提供一种应用软件的回归测试方法及装置、电子设备,能够及时获
知对应用软件的回归测试结果,进而提高对应用软件回归测试的有效性。
本发明实施例第一方面提供了一种应用软件的回归测试方法,包括:
获取对当前版本的应用软件进行回归测试的多个测试用例;
通过采用所述多个测试用例对所述当前版本的应用软件的回归测试,生成目标覆
盖率文件;
将所述目标覆盖率文件与预设基准文件进行对比,并确定测试结果。
可选的,所述获取对当前版本的应用软件进行回归测试的多个测试用例,包括:
获取用于识别所述多个测试用例的脚本文件;
解析所述脚本文件,确定所述脚本文件对应的用例标识;
根据所述用例标识查找相应的测试用例。
可选的,所述多个测试用例包括第一测试用例和第二测试用例;
所述通过采用所述多个测试用例对所述当前版本的应用软件的回归测试,生成目
标覆盖率文件,包括:
通过采用所述第一测试用例对所述当前版本的应用软件的回归测试,生成第一覆
盖数据;
通过采用所述第二测试用例对所述当前版本的应用软件的回归测试,生成第二覆
盖数据;
将所述第一覆盖数据和所述第二覆盖数据进行合并,生成目标覆盖率文件。
可选的,所述预设基准文件包括预设代码覆盖率;所述目标覆盖率文件包括目标
代码覆盖率;
所述将所述目标覆盖率文件与预设基准文件进行对比,并确定测试结果,包括:
将所述目标代码覆盖率和所述预设代码覆盖率进行对比;
当所述目标代码覆盖率小于所述预设代码覆盖率时,确定对所述当前版本的应用
软件的回归测试出现漏测。
可选的,所述预设基准文件包括预设代码覆盖行数;所述目标覆盖率文件包括目
标代码覆盖行数;
所述将所述目标覆盖率文件与预设基准文件进行对比,并确定测试结果,包括:
将所述目标代码覆盖行数和所述预设代码覆盖行数进行对比;
当所述目标代码覆盖行数小于所述预设代码覆盖行数时,确定对所述当前版本的
应用软件的回归测试出现漏测。
本发明实施例第二方面提供了一种应用软件的回归测试装置,包括:
获取单元,用于获取对当前版本的应用软件进行回归测试的多个测试用例;
生成单元,用于通过采用所述多个测试用例对所述当前版本的应用软件的回归测
试,生成目标覆盖率文件;
确定单元,用于将所述目标覆盖率文件与预设基准文件进行对比,并确定测试结
果。
可选的,所述获取单元包括:
文件获取单元,用于获取用于识别所述多个测试用例的脚本文件;
标识确定单元,用于解析所述脚本文件,确定所述脚本文件对应的用例标识;
用例查找单元,用于根据所述用例标识查找相应的测试用例。
可选的,所述多个测试用例包括第一测试用例和第二测试用例;
所述生成单元包括:
第一测试单元,用于通过采用所述第一测试用例对所述当前版本的应用软件的回
归测试,生成第一覆盖数据;
第二测试单元,用于通过采用所述第二测试用例对所述当前版本的应用软件的回
归测试,生成第二覆盖数据;
文件生成单元,用于将所述第一覆盖数据和所述第二覆盖数据进行合并,生成目
标覆盖率文件。
可选的,所述预设基准文件包括预设代码覆盖率;所述目标覆盖率文件包括目标
代码覆盖率;
所述确定单元包括:
第一数据对比单元,用于将所述目标代码覆盖率和所述预设代码覆盖率进行对
比;
第一漏测确定单元,用于当所述目标代码覆盖率小于所述预设代码覆盖率时,确
定对所述当前版本的应用软件的回归测试出现漏测。
可选的,所述预设基准文件包括预设代码覆盖行数;所述目标覆盖率文件包括目
标代码覆盖行数;
所述确定单元包括:
第二数据对比单元,用于将所述目标代码覆盖行数和所述预设代码覆盖行数进行
对比;
第二漏测确定单元,当所述目标代码覆盖行数小于所述预设代码覆盖行数本发明
实施例第三方面提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器用
于存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行
与可执行程序代码对应的程序,以执行以下步骤:
获取对当前版本的应用软件进行回归测试的多个测试用例;
通过采用所述多个测试用例对所述当前版本的应用软件的回归测试,生成目标覆
盖率文件;
将所述目标覆盖率文件与预设基准文件进行对比,并确定测试结果。
在本发明实施例中,通过获取多个测试用例,并采用多个测试用例对当前版本的
应用软件的回归测试,生成目标覆盖率文件,将目标覆盖率文件与预设基准文件进行对比,
并确定测试结果。这样可以获取全部测试用例对当前版本的应用软件的回归效果,并能够
及时获知对应用软件的回归测试结果,进而提高了对应用软件回归测试的有效性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他的附图。
图1是本发明实施例提供的一种应用软件的回归测试方法的流程示意图;
图2是本发明实施例提供的另一种应用软件的回归测试方法的流程示意图;
图3是本发明实施例提供的另一种应用软件的回归测试方法的流程示意图;
图4是本发明实施例提供的一种应用软件的回归测试装置的结构示意图;
图5是本发明实施例提供的获取单元的结构示意图;
图6是本发明实施例提供的生成单元的结构示意图;
图7是本发明实施例提供的确定单元的一种结构示意图;
图8是本发明实施例提供的确定单元的另一种结构示意图;
图9是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于
本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他
实施例,都属于本发明保护的范围。
需要说明的是,在本发明实施例中使用的术语是仅仅出于描述特定实施例的目
的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一
种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本
文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组
合。另外,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”和“第
四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它
们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系
统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单
元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供的应用软件的回归测试方法可以应用于手机中的应用软件的
回归测试的场景,例如:获取对当前版本的应用软件进行回归测试的多个测试用例;通过采
用所述多个测试用例对所述当前版本的应用软件的回归测试,生成目标覆盖率文件;将所
述目标覆盖率文件与预设基准文件进行对比,并确定测试结果。这样可以获取全部测试用
例对当前版本的应用软件的回归效果,提高了对应用软件回归测试的有效性,并能够及时
获知应用软件的测试结果。
本发明实施例涉及的电子设备可以是任何具备存储和通信功能的设备,例如:平
板电脑、手机、电子阅读器、个人计算机(Personal Computer,PC)、笔记本电脑、车载设备、
网络电视、可穿戴设备等设备;所涉及的应用软件的回归测试装置可以是具备通信和存储
功能且用于回归测试的设备,也可以是嵌入于具备存储和通信功能的设备中回归测试模
块。
下面将结合附图1-附图3,对本发明实施例提供的应用软件的回归测试方法进行
详细介绍。
请参见图1,为本发明实施例提供了一种应用软件的回归测试方法的流程示意图。
如图1所示,本发明实施例的所述方法可以包括以下步骤S101-步骤S103。
S101,获取对当前版本的应用软件进行回归测试的多个测试用例。
具体的,应用软件的回归测试装置获取对当前版本的应用软件进行回归测试的多
个测试用例。其中,测试用例可以包括但不限定于为应用软件的某个功能编制的一组测试
输入、执行条件等。回归测试是指在应用软件的版本更新迭代过程中,对新版本的应用软件
进行重新测试,以保证修改后的新版本能够涵盖旧版本的应用软件的功能点、且没有引入
新的错误或导致其他代码产生错误。
可选的,所述多个测试用例包含采用不同方式进行测试的测试用例,例如第一测
试用例和第二测试用例。其中,测试用例是测试人员在专用软件上编写的用于测试应用的
代码,可行的方案中,所述第一测试用例是需要通过手动方式完成测试的用例,第二测试用
例是通过自动加载的方式完成测试的用例。
可选的,本发明实施例所涉及的应用软件可以是电脑、手机、平板等电子设备中的
任意一个应用软件,本发明实施例对此不做限定。
S102,通过采用所述多个测试用例对所述当前版本的应用软件的回归测试,生成
目标覆盖率文件。
具体的,所述应用软件的回归测试装置通过采用所述多个测试用例对所述当前版
本的应用软件的回归测试,生成目标覆盖率文件。可行的方案中,在采用每个测试用例进行
回归测试的过程中,可以生成针对这一测试用例的覆盖数据,将多个测试用例对应的多个
覆盖数据进行合并,即可得到目标覆盖率文件。其中,所述目标覆盖率文件包括目标代码覆
盖率、目标代码覆盖行数。可以理解的是,在采用每个测试用例进行回归测试的过程中,当
前版本的应用软件的有些程序代码可能被执行到,有些程序代码可能未被执行到,因此所
述应用软件的回归测试装置可以通过各个测试用例所执行的程序代码确定目标代码覆盖
率或目标代码覆盖行数。
S103,将所述目标覆盖率文件与预设基准文件进行对比,并确定测试结果。
具体的,所述应用软件的回归测试装置将所述目标覆盖率文件与预设基准文件进
行对比,并确定测试结果。所述应用软件的回归测试装置通过将对当前版本的应用软件测
试生成的目标覆盖率文件和预设基准文件进行对比,确定当前版本的应用软件是否达到预
期效果,确定的测试结果包括达到或者未达到预期效果的结果。其中,所述预设基准文件用
于与其他版本的应用软件生成的覆盖率文件进行比对,以确定测试结果,使得测试人员能
够及时获知整个应用软件的测试结果。
可选的,所述预设基准文件包括预设代码覆盖率和/或预设代码覆盖行数,所述目
标覆盖率文件包括目标代码覆盖率和/或目标代码覆盖行数。所述应用软件的回归测试装
置通过将目标代码覆盖率与预设代码覆盖率和/或将目标代码覆盖行数与预设代码覆盖行
数进行比对,确定测试结果。
可选的,本发明实施例所采用的多个测试用例与获得所述预设基准文件所采用的
测试用例相同,其中,所述预设基准文件是通过采用所述多个测试用例对历史版本的应用
软件进行测试所生成的,这样更能够体现出当前版本的应用软件与是否涵盖了历史版本的
应用软件的功能点。
可选的,所述应用软件的回归测试装置还可以获取到所述当前版本的应用软件所
包含的全部功能点,例如:菜单功能、设置功能、个人主页、顶栏、广告栏等,而这些功能点是
由测试人员编辑归纳的。通过所述目标覆盖率文件与预设基准文件的对比,所述确定的测
试结果中还可以包括当前应用软件所涵盖了的功能点和未涵盖的功能点。
在本发明实施例中,通过获取多个测试用例,并采用多个测试用例对当前版本的
应用软件的回归测试,生成目标覆盖率文件,将目标覆盖率文件与预设基准文件进行对比,
并确定测试结果。这样可以获取全部测试用例对当前版本的应用软件的回归效果,并能够
及时获知对应用软件的回归测试结果,进而提高了对应用软件回归测试的有效性。
请参见图2,为本发明实施例提供了另一种应用软件的回归测试方法的流程示意
图。如图2所示,本发明实施例的所述方法可以包括以下步骤S201-步骤S206。
S201,获取对当前版本的应用软件进行回归测试的多个测试用例。
具体的,应用软件的回归测试装置获取对当前版本的应用软件进行回归测试的多
个测试用例。其中,测试用例可以包括但不限定于为应用软件的某个功能编制的一组测试
输入、执行条件等。回归测试是指在应用软件的版本更新迭代过程中,对新版本的应用软件
进行重新测试,以保证修改后的新版本能够涵盖旧版本的应用软件的功能点、且没有引入
新的错误或导致其他代码产生错误。
进一步,所述多个测试用例包含采用不同方式进行测试的测试用例,例如第一测
试用例和第二测试用例。其中,测试用例是测试人员在专用软件上编写的用于测试应用的
代码,可行的方案中,所述第一测试用例是需要通过手动方式完成测试的用例,第二测试用
例是通过自动加载的方式完成测试的用例。
可行的方案中,当所述测试用例为第二测试用例时,所述应用软件的回归测试装
置可以获取用于识别所述多个测试用例的脚本文件,解析所述脚本文件,确定所述脚本文
件对应的用例标识,根据所述用例标识查找相应的测试用例。
S202,通过采用所述第一测试用例对所述当前版本的应用软件的回归测试,生成
第一覆盖数据。
具体的,所述应用软件的回归测试装置通过采用所述第一测试用例对所述当前版
本的应用软件的回归测试,生成第一覆盖数据。其中,所述第一测试用例是需要通过手动方
式完成测试的用例,举例来说,当所述应用个软件为手机中的应用软件时,测试人员对照第
一测试用例,对手机中的应用软件进行手动操作,并完成采用该第一测试用例对应用软件
的测试,所述应用软件的回归测试装置在测试完成之后会自动生成第一覆盖数据,所述第
一覆盖数据可以包括覆盖的程序代码与未覆盖的程序代码。
S203,通过采用所述第二测试用例对所述当前版本的应用软件的回归测试,生成
第二覆盖数据。
具体的,所述应用软件的回归测试装置通过采用所述第二测试用例对所述当前版
本的应用软件的回归测试,生成第二覆盖数据。其中,第二测试用例是自动加载的方式完成
测试的用例。所述第二覆盖数据可以包括覆盖的程序代码与未覆盖的程序代码。
S204,将所述第一覆盖数据和所述第二覆盖数据进行合并,生成目标覆盖率文件。
具体的,所述应用软件的回归测试装置将所述第一覆盖数据和所述第二覆盖数据
进行合并,生成目标覆盖率文件。可行的方案中,对于包括多个第一测试用例和多个第二测
试用例的情况,会生成多个第一覆盖数据和多个第二覆盖数据,所述应用软件的回归测试
装置将各个覆盖数据中覆盖的程序代码进行统一标记,例如用同一种颜色标亮,将未覆盖
的程序代码用另一种颜色统一标记,进而确定所目标代码覆盖率,所述目标代码覆盖率即
为目标覆盖率文件。
需要说明的是,本发明实施例对覆盖的程序代码和未覆盖的程序代码的区分方式
不做限定。
S205,将所述目标代码覆盖率和所述预设代码覆盖率进行对比。
具体的,所述应用软件的回归测试装置将所述目标代码覆盖率和所述预设代码覆
盖率进行对比。所述应用软件的回归测试装置通过将所述目标代码覆盖率和所述预设代码
覆盖率进行对比,确定当前版本的应用软件是否达到预期效果。
S206,当所述目标代码覆盖率小于所述预设代码覆盖率时,确定对所述当前版本
的应用软件的回归测试出现漏测。
具体的,当所述目标代码覆盖率小于所述预设代码覆盖率时,所述应用软件的回
归测试装置确定对所述当前版本的应用软件的回归测试出现漏测。这样测试人员可通过目
标代码覆盖率,查找未覆盖的功能点,进而对所述当前版本的应用软件的程序代码进行修
改。因此,能够及时获知对应用软件的回归测试结果,进而提高了对应用软件回归测试的有
效性。
可选的,本发明实施例所采用的多个测试用例与获得所述预设基准文件所采用的
测试用例相同,其中,所述预设基准文件是通过采用所述多个测试用例对历史版本的应用
软件进行测试所生成的,这样更能够体现出当前版本的应用软件与是否涵盖了历史版本的
应用软件的功能点。
可选的,本发明实施例中的第一覆盖数据和第二覆盖数据可以通过代码覆盖技术
进行获得,例如安卓代码覆盖技术等。
可选的,所述应用软件的回归测试装置还可以获取到所述当前版本的应用软件所
包含的全部功能点,例如:菜单功能、设置功能、个人主页、顶栏、广告栏等,而这些功能点是
由测试人员编辑归纳的。通过所述目标覆盖率文件与预设基准文件的对比,所述确定的测
试结果中还可以包括当前应用软件所涵盖了的功能点和未涵盖的功能点。
在本发明实施例中,通过获取多个测试用例,并采用多个测试用例对当前版本的
应用软件的回归测试,生成目标覆盖率文件,将目标覆盖率文件与预设基准文件进行对比,
并确定测试结果。这样可以获取全部测试用例对当前版本的应用软件的回归效果,并能够
及时获知对应用软件的回归测试结果,进而提高了对应用软件回归测试的有效性。
请参见图3,为本发明实施例提供了另一种应用软件的回归测试方法的流程示意
图。如图3所示,本发明实施例的所述方法可以包括以下步骤S301-步骤S306。
S301,获取对当前版本的应用软件进行回归测试的多个测试用例。
具体的,应用软件的回归测试装置获取对当前版本的应用软件进行回归测试的多
个测试用例。其中,测试用例可以包括但不限定于为应用软件的某个功能编制的一组测试
输入、执行条件等。回归测试是指在应用软件的版本更新迭代过程中,对新版本的应用软件
进行重新测试,以保证修改后的新版本能够涵盖旧版本的应用软件的功能点、且没有引入
新的错误或导致其他代码产生错误。
进一步,所述多个测试用例包含采用不同方式进行测试的测试用例,例如第一测
试用例和第二测试用例。其中,测试用例是测试人员在专用软件上编写的用于测试应用的
代码,可行的方案中,所述第一测试用例是需要通过手动方式完成测试的用例,第二测试用
例是通过自动加载的方式完成测试的用例。
可行的方案中,当所述测试用例为第二测试用例时,所述应用软件的回归测试装
置可以获取用于识别所述多个测试用例的脚本文件,解析所述脚本文件,确定所述脚本文
件对应的用例标识,根据所述用例标识查找相应的测试用例。
S302,通过采用所述第一测试用例对所述当前版本的应用软件的回归测试,生成
第一覆盖数据。
具体的,所述应用软件的回归测试装置通过采用所述第一测试用例对所述当前版
本的应用软件的回归测试,生成第一覆盖数据。其中,所述第一测试用例是需要通过手动方
式完成测试的用例,举例来说,当所述应用个软件为手机中的应用软件时,测试人员对照第
一测试用例,对手机中的应用软件进行手动操作,并完成采用该第一测试用例对应用软件
的测试,所述应用软件的回归测试装置在测试完成之后会自动生成第一覆盖数据,所述第
一覆盖数据可以包括覆盖的程序代码与未覆盖的程序代码。
S303,通过采用所述第二测试用例对所述当前版本的应用软件的回归测试,生成
第二覆盖数据。
具体的,所述应用软件的回归测试装置通过采用所述第二测试用例对所述当前版
本的应用软件的回归测试,生成第二覆盖数据。其中,第二测试用例是自动加载的方式完成
测试的用例。所述第二覆盖数据可以包括覆盖的程序代码与未覆盖的程序代码。
S304,将所述第一覆盖数据和所述第二覆盖数据进行合并,生成目标覆盖率文件。
具体的,所述应用软件的回归测试装置将所述第一覆盖数据和所述第二覆盖数据
进行合并,生成目标覆盖率文件。可行的方案中,对于包括多个第一测试用例和多个第二测
试用例的情况,会生成多个第一覆盖数据和多个第二覆盖数据,所述应用软件的回归测试
装置将各个覆盖数据中覆盖的程序代码进行统一标记,例如用同一种颜色标亮,将未覆盖
的程序代码用另一种颜色统一标记,进而确定所目标代码覆盖行数,所述目标代码覆盖行
数即为目标覆盖率文件。
需要说明的是,本发明实施例对覆盖的程序代码和未覆盖的程序代码的区分方式
不做限定。
S305,将所述目标代码覆盖行数和所述预设代码覆盖行数进行对比。
具体的,所述应用软件的回归测试装置将所述目标代码覆盖行数和所述预设代码
覆盖行数进行对比。所述应用软件的回归测试装置通过将所述目标代码覆盖行数和所述预
设代码覆盖行数进行对比,确定当前版本的应用软件是否达到预期效果。
S306,当所述目标代码覆盖行数小于所述预设代码覆盖行数时,确定对所述当前
版本的应用软件的回归测试出现漏测。
具体的,当所述目标代码覆盖行数小于所述预设代码覆盖行数时,所述应用软件
的回归测试装置确定对所述当前版本的应用软件的回归测试出现漏测。这样测试人员可通
过目标代码覆盖行数,查找未覆盖的功能点,进而对所述当前版本的应用软件的程序代码
进行修改。因此,能够及时获知对应用软件的回归测试结果,进而提高了对应用软件回归测
试的有效性。
可选的,本发明实施例所采用的多个测试用例与获得所述预设基准文件所采用的
测试用例相同,其中,所述预设基准文件是通过采用所述多个测试用例对历史版本的应用
软件进行测试所生成的,这样更能够体现出当前版本的应用软件与是否涵盖了历史版本的
应用软件的功能点。
可选的,本发明实施例中的第一覆盖数据和第二覆盖数据可以通过代码覆盖技术
进行获得,例如安卓代码覆盖技术等。
可选的,所述应用软件的回归测试装置还可以获取到所述当前版本的应用软件所
包含的全部功能点,例如:菜单功能、设置功能、个人主页、顶栏、广告栏等,而这些功能点是
由测试人员编辑归纳的。通过所述目标覆盖率文件与预设基准文件的对比,所述确定的测
试结果中还可以包括当前应用软件所涵盖了的功能点和未涵盖的功能点。
在本发明实施例中,通过获取多个测试用例,并采用多个测试用例对当前版本的
应用软件的回归测试,生成目标覆盖率文件,将目标覆盖率文件与预设基准文件进行对比,
并确定测试结果。这样可以获取全部测试用例对当前版本的应用软件的回归效果,并能够
及时获知对应用软件的回归测试结果,进而提高了对应用软件回归测试的有效性。
请参见图4,为本发明实施例提供了一种应用软件的回归测试装置的结构示意图。
如图4所示,本发明实施例的所述应用软件的回归测试装置1可以包括:获取单元11、生成单
元12和确定单元13。
获取单元11,用于获取对当前版本的应用软件进行回归测试的多个测试用例。
具体的,所述获取单元11获取对当前版本的应用软件进行回归测试的多个测试用
例。其中,测试用例可以包括但不限定于为应用软件的某个功能编制的一组测试输入、执行
条件等。回归测试是指在应用软件的版本更新迭代过程中,对新版本的应用软件进行重新
测试,以保证修改后的新版本能够涵盖旧版本的应用软件的功能点、且没有引入新的错误
或导致其他代码产生错误。
进一步,所述多个测试用例包含采用不同方式进行测试的测试用例,例如第一测
试用例和第二测试用例。其中,测试用例是测试人员在专用软件上编写的用于测试应用的
代码,可行的方案中,所述第一测试用例是需要通过手动方式完成测试的用例,第二测试用
例是通过自动加载的方式完成测试的用例。
可行的方案中,当所述测试用例为第二测试用例时,请一并参见图5,为本发明实
施例提供的一种获取单元的结构示意图,如图5所示,所述获取单元11包括文件获取单元
111、标识确定单元112和用例查找单元113。
文件获取单元111,用于获取用于识别所述多个测试用例的脚本文件。
具体的,所述文件获取单元111获取用于识别所述多个测试用例的脚本文件,其中
所述脚本文件中包含了用于识别测试用例的用例标识。
标识确定单元112,用于解析所述脚本文件,确定所述脚本文件对应的用例标识。
具体的,标识确定单元112解析所述脚本文件,确定所述脚本文件对应的用例标
识,以使根据用例标识获取到测试用例。
用例查找单元113,用于根据所述用例标识查找相应的测试用例。
具体的,用例查找单元113根据所述用例标识查找相应的测试用例。
生成单元12,用于通过采用所述多个测试用例对所述当前版本的应用软件的回归
测试,生成目标覆盖率文件。
具体的,请一并参见图6,为本发明实施例提供的一种生成单元的结构示意图,如
图6所示,所述生成单元12包括第一测试单元121、第二测试单元122和文件生成单元123。
第一测试单元121,用于通过采用所述第一测试用例对所述当前版本的应用软件
的回归测试,生成第一覆盖数据。
具体的,所述第一测试单元121通过采用所述第一测试用例对所述当前版本的应
用软件的回归测试,生成第一覆盖数据。其中,所述第一测试用例是需要通过手动方式完成
测试的用例,举例来说,当所述应用个软件为手机中的应用软件时,测试人员对照第一测试
用例,对手机中的应用软件进行手动操作,并完成采用该第一测试用例对应用软件的测试,
所述第一测试单元121在测试完成之后会自动生成第一覆盖数据,所述第一覆盖数据可以
包括覆盖的程序代码与未覆盖的程序代码。
第二测试单元122,用于通过采用所述第二测试用例对所述当前版本的应用软件
的回归测试,生成第二覆盖数据。
具体的,所述第二测试单元122通过采用所述第二测试用例对所述当前版本的应
用软件的回归测试,生成第二覆盖数据。其中,第二测试用例是自动加载的方式完成测试的
用例。所述第二覆盖数据可以包括覆盖的程序代码与未覆盖的程序代码。
文件生成单元123,用于将所述第一覆盖数据和所述第二覆盖数据进行合并,生成
目标覆盖率文件。
具体的,所述文件生成单元123将所述第一覆盖数据和所述第二覆盖数据进行合
并,生成目标覆盖率文件。可行的方案中,对于包括多个第一测试用例和多个第二测试用例
的情况,会生成多个第一覆盖数据和多个第二覆盖数据,所述文件生成单元123将各个覆盖
数据中覆盖的程序代码进行统一标记,例如用同一种颜色标亮,将未覆盖的程序代码用另
一种颜色统一标记,进而确定所目标代码覆盖率,所述目标代码覆盖率即为目标覆盖率文
件。
需要说明的是,本发明实施例对覆盖的程序代码和未覆盖的程序代码的区分方式
不做限定。
确定单元13,用于将所述目标覆盖率文件与预设基准文件进行对比,并确定测试
结果。
一种可行的方案中,请一参见图7,为本发明实施例提供的一种确定单元的一种结
构示意图,如图7所示,所述确定单元13包括第一数据对比单元131和第一漏测确定单元
132。图7所示的实施例中,所述预设基准文件包括预设代码覆盖率,所述目标覆盖率文件包
括目标代码覆盖率。
第一数据对比单元131,用于将所述目标代码覆盖率和所述预设代码覆盖率进行
对比;
具体的,所述第一数据对比单元131将所述目标代码覆盖率和所述预设代码覆盖
率进行对比。所述第一数据对比单元131通过将所述目标代码覆盖率和所述预设代码覆盖
率进行对比,确定当前版本的应用软件是否达到预期效果。
第一漏测确定单元132,用于当所述目标代码覆盖率小于所述预设代码覆盖率时,
确定对所述当前版本的应用软件的回归测试出现漏测。
具体的,当所述目标代码覆盖率小于所述预设代码覆盖率时,所述第一漏测确定
单元132确定对所述当前版本的应用软件的回归测试出现漏测。这样测试人员可通过目标
代码覆盖率,查找未覆盖的功能点,进而对所述当前版本的应用软件的程序代码进行修改。
因此,能够及时获知对应用软件的回归测试结果,进而提高了对应用软件回归测试的有效
性。
另一种可行的方案中,请一并参见图8,为本发明实施例提供的一种确定单元的另
一种结构示意图,如图8所示,所述确定单元13包括第二数据对比单元133和第二漏测确定
单元134。图8所示的实施例中,所述预设基准文件包括预设代码覆盖行数,所述目标覆盖率
文件包括目标代码覆盖行数。
第二数据对比单元133,用于将所述目标代码覆盖行数和所述预设代码覆盖行数
进行对比;
具体的,所述第二数据对比单元133将所述目标代码覆盖行数和所述预设代码覆
盖行数进行对比。所述第二数据对比单元133通过将所述目标代码覆盖行数和所述预设代
码覆盖行数进行对比,确定当前版本的应用软件是否达到预期效果。
第二漏测确定单元134,当所述目标代码覆盖行数小于所述预设代码覆盖行数时,
确定对所述当前版本的应用软件的回归测试出现漏测。
具体的,当所述目标代码覆盖行数小于所述预设代码覆盖行数时,所述第二漏测
确定单元134确定对所述当前版本的应用软件的回归测试出现漏测。这样测试人员可通过
目标代码覆盖行数,查找未覆盖的功能点,进而对所述当前版本的应用软件的程序代码进
行修改。因此,能够及时获知对应用软件的回归测试结果,进而提高了对应用软件回归测试
的有效性。
可选的,本发明实施例所采用的多个测试用例与获得所述预设基准文件所采用的
测试用例相同,其中,所述预设基准文件是通过采用所述多个测试用例对历史版本的应用
软件进行测试所生成的,这样更能够体现出当前版本的应用软件与是否涵盖了历史版本的
应用软件的功能点。
可选的,本发明实施例中的第一覆盖数据和第二覆盖数据可以通过代码覆盖技术
进行获得,例如安卓代码覆盖技术等。
可选的,所述应用软件的回归测试装置还可以获取到所述当前版本的应用软件所
包含的全部功能点,例如:菜单功能、设置功能、个人主页、顶栏、广告栏等,而这些功能点是
由测试人员编辑归纳的。通过所述目标覆盖率文件与预设基准文件的对比,所述确定的测
试结果中还可以包括当前应用软件所涵盖了的功能点和未涵盖的功能点。
在本发明实施例中,通过获取多个测试用例,并采用多个测试用例对当前版本的
应用软件的回归测试,生成目标覆盖率文件,将目标覆盖率文件与预设基准文件进行对比,
并确定测试结果。这样可以获取全部测试用例对当前版本的应用软件的回归效果,并能够
及时获知对应用软件的回归测试结果,进而提高了对应用软件回归测试的有效性。
请参见图9,为本发明实施例提供了一种电子设备的结构示意图。如图9所示,所述
电子设备1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,用户接口
1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的
连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口
1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接
口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储
器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一
个位于远离前述处理器1001的存储装置。如图9所示,作为一种计算机存储介质的存储器
1005中可以包括操作系统、网络通信模块、用户接口模块以及应用软件的回归测试程序。
在图9所示的电子设备1000中,用户接口1003主要用于测试用例的编辑、增加、删
除等操作;而处理器1001可以用于调用存储器1005中存储的应用软件的回归测试,并具体
执行以下操作:
获取对当前版本的应用软件进行回归测试的多个测试用例;
通过采用所述多个测试用例对所述当前版本的应用软件的回归测试,生成目标覆
盖率文件;
将所述目标覆盖率文件与预设基准文件进行对比,并确定测试结果。
在一个实施例中,所述多个测试用例包含第一测试用例和第二测试用例。
在一个实施例中,所述处理器1001在执行获取对当前版本的应用软件进行回归测
试的多个测试用例,具体执行以下步骤:
获取用于识别所述多个测试用例的脚本文件;
解析所述脚本文件,确定所述脚本文件对应的用例标识;
根据所述用例标识查找相应的测试用例。
在一个实施例中,所述处理器1001在执行通过采用所述多个测试用例对所述当前
版本的应用软件的回归测试,生成目标覆盖率文件,具体执行以下步骤:
通过采用所述第一测试用例对所述当前版本的应用软件的回归测试,生成第一覆
盖数据;
通过采用所述第二测试用例对所述当前版本的应用软件的回归测试,生成第二覆
盖数据;
将所述第一覆盖数据和所述第二覆盖数据进行合并,生成目标覆盖率文件。
在一个实施例中,预设基准文件包括预设代码覆盖率,所述目标覆盖率文件包括
目标代码覆盖率;
所述处理器1001在执行将所述目标覆盖率文件与预设基准文件进行对比,并确定
测试结果,具体执行以下步骤:
将所述目标代码覆盖率和所述预设代码覆盖率进行对比;
当所述目标代码覆盖率小于所述预设代码覆盖率时,确定对所述当前版本的应用
软件的回归测试出现漏测。
在一个实施例中,所述预设基准文件包括预设代码覆盖行数,所述目标覆盖率文
件包括目标代码覆盖行数;
所述处理器1001在执行将所述目标覆盖率文件与预设基准文件进行对比,并确定
测试结果,具体执行以下步骤:
将所述目标代码覆盖行数和所述预设代码覆盖行数进行对比;
当所述目标代码覆盖行数小于所述预设代码覆盖行数时,确定对所述当前版本的
应用软件的回归测试出现漏测。
在本发明实施例中,通过获取多个测试用例,并采用多个测试用例对当前版本的
应用软件的回归测试,生成目标覆盖率文件,将目标覆盖率文件与预设基准文件进行对比,
并确定测试结果。这样可以获取全部测试用例对当前版本的应用软件的回归效果,并能够
及时获知对应用软件的回归测试结果,进而提高了对应用软件回归测试的有效性。
本发明实施例中所述模块或单元,可以通过通用集成电路,例如CPU(Central
Processing Unit,中央处理器),或通过ASIC(Application Specific Integrated
Circuit,专用集成电路)来实现。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例终端中的模块或单元可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以
通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质
中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁
碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access
Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范
围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。以上所揭露的仅为
本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求
所作的等同变化,仍属本发明所涵盖的范围。