一种自动化测试方法和装置与流程

文档序号:13876227阅读:155来源:国知局
一种自动化测试方法和装置与流程

本申请涉及互联网领域,尤其是一种自动化测试方法和装置。



背景技术:

自动化测试是将以人为驱动的测试行为转化为机器执行的一种过程。通常情况下,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。自动化测试可以通过使用自动测试工具,自动化的完成功能测试和性能测试,以减少测试人员的工作。其中,功能测试包括测试所有功能(如支付流程,注册流程等)是否可用,是否出现bug现象等,性能测试包括验证cpu(centralprocessingunit,中央处理器)、内存、网络、电量、流量的性能指标等。

随着互联网技术的快速发展,有些应用会支持多种虚拟资源类型,目前针对这种应用,只能采用手工方式进行测试,而无法对其进行自动化测试。当采用手工方式对这种应用进行测试时,需要针对每种虚拟资源类型分别进行测试,测试工作量很大,测试任务繁重,容易无法测试到所有资源类型。而且,这种应用的发布频次较高,如两周一个版本,加大了测试人员的测试工作量。



技术实现要素:

本申请实施例提供一种自动化测试方法,应用于移动终端上,且所述移动终端上运行了支持多种虚拟资源类型的应用,所述应用的多个应用页面被划分到至少一个等价类中,且各等价类包括至少两个应用页面,所述方法包括:

获取所述多个应用页面分别对应的虚拟资源数量;

比较等价类内包括的至少两个应用页面对应的虚拟资源数量是否相同;

根据比较结果确定自动化测试结果。

所述方法进一步包括:

获取所述多个应用页面分别对应的页面属性;

将页面属性相同的至少两个应用页面划分到一个等价类中。

所述页面属性包括:展示虚拟资源数量最小值,展示虚拟资源数量区间值,展示虚拟资源数量实际值。

所述将页面属性相同的至少两个应用页面划分到一个等价类中的过程,具体包括:将页面属性是展示虚拟资源数量最小值的至少两个应用页面划分到第一等价类中,其中,该应用页面包括:首页页面、搜索列表页面、收藏夹页面;

将页面属性是展示虚拟资源数量区间值的至少两个应用页面划分到第二等价类中,其中,该应用页面包括:产品属性选择前页面、详情页面;

将页面属性是展示虚拟资源数量实际值的至少两个应用页面划分到第三等价类中,其中,该应用页面包括:产品属性选择后页面、购物车页面、下单页面。

所述获取所述多个应用页面分别对应的虚拟资源数量的过程,具体包括:

在针对同一商品执行自动化测试的过程中,当在所述多个应用页面分别进行自动化测试时,获取所述商品在所述多个应用页面上展示的虚拟资源数量;

或者,获取所述商品在所述多个应用页面上展示的虚拟资源数量以及所述虚拟资源数量对应的虚拟资源类型。

所述方法进一步包括:

在自动化测试过程之前,分别为所述多个应用页面配置全局变量;

其中,所述全局变量包括针对虚拟资源数量的第一变量;或者,所述全局变量包括针对虚拟资源数量的第二变量和针对虚拟资源类型的第三变量。

所述方法进一步包括:所述获取所述商品在所述多个应用页面上展示的虚拟资源数量之后,针对所述多个应用页面中的每个应用页面:将该应用页面对应的虚拟资源数量记录到该应用页面对应的第一变量中;或者,

所述获取所述商品在所述多个应用页面上展示的虚拟资源数量以及所述虚拟资源数量对应的虚拟资源类型之后,针对所述多个应用页面中的每个应用页面:将该应用页面对应的虚拟资源数量记录到该应用页面对应的第二变量中;将该应用页面对应的虚拟资源类型记录到该应用页面对应的第三变量中。

所述比较等价类内包括的至少两个应用页面对应的虚拟资源数量是否相同的过程,具体包括:

在自动化测试过程之后,确定属于同一个等价类的至少两个应用页面;

从所述至少两个应用页面分别对应的全局变量中,提取出所述至少两个应用页面分别对应的虚拟资源数量;

比较所述至少两个虚拟资源数量是否相同。

所述比较等价类内包括的至少两个应用页面对应的虚拟资源数量是否相同的过程,具体包括:

在自动化测试过程之后,确定属于同一个等价类的至少两个应用页面;

从所述至少两个应用页面分别对应的全局变量中,提取出所述至少两个应用页面分别对应的虚拟资源数量和虚拟资源类型;

比较所述至少两个应用页面对应的虚拟资源类型是否相同;

若不相同,则确定自动化测试结果为测试失败;

若相同,则比较所述至少两个应用页面对应的虚拟资源数量是否相同。

所述方法进一步包括:为所述全局变量配置全局开关;

若所述全局开关处于开启状态,则允许将虚拟资源数量记录到所述全局变量的第一变量中,或者,允许将虚拟资源数量和虚拟资源类型分别记录到所述全局变量的第二变量和第三变量中;

若所述全局开关处于关闭状态,则拒绝将虚拟资源数量记录到所述全局变量的第一变量中,或者,拒绝将虚拟资源数量和虚拟资源类型分别记录到所述全局变量的第二变量和第三变量中。

所述方法进一步包括:

若所述应用运行在支持第一操作系统的移动终端上,则开启所述全局开关;

若所述应用运行在支持第二操作系统的移动终端上,则关闭所述全局开关。

所述虚拟资源类型包括币种;所述虚拟资源数量包括价格。

本申请实施例提供一种自动化测试装置,应用于移动终端上,且所述移动终端上运行了支持多种虚拟资源类型的应用,所述应用的多个应用页面被划分到至少一个等价类中,且各等价类包括至少两个应用页面,所述装置包括:

获取模块,用于获取所述多个应用页面分别对应的虚拟资源数量;

比较模块,用于比较等价类内包括的至少两个应用页面对应的虚拟资源数量是否相同;

确定模块,用于根据比较结果确定自动化测试结果。

所述自动化测试装置还包括:分配模块,用于获取所述多个应用页面分别对应的页面属性;将页面属性相同的至少两个应用页面划分到一个等价类中。

所述分配模块,具体用于在将页面属性相同的至少两个应用页面划分到一个等价类中的过程中,将页面属性是展示虚拟资源数量最小值的至少两个应用页面划分到第一等价类中,其中,该应用页面包括:首页页面、搜索列表页面、收藏夹页面;将页面属性是展示虚拟资源数量区间值的至少两个应用页面划分到第二等价类中,其中,该应用页面包括:产品属性选择前页面、详情页面;将页面属性是展示虚拟资源数量实际值的至少两个应用页面划分到第三等价类中,其中,该应用页面包括:产品属性选择后页面、购物车页面、下单页面。

所述获取模块,具体用于在获取所述多个应用页面分别对应的虚拟资源数量的过程中,在针对同一商品执行自动化测试的过程中,

当在多个应用页面分别进行自动化测试时,获取所述商品在多个应用页面上展示的虚拟资源数量;或者,获取所述商品在所述多个应用页面上展示的虚拟资源数量以及所述虚拟资源数量对应的虚拟资源类型。

还包括:

维护模块,用于在自动化测试过程之前,分别为所述多个应用页面配置全局变量;其中,所述全局变量包括针对虚拟资源数量的第一变量;或者,所述全局变量包括针对虚拟资源数量的第二变量和针对虚拟资源类型的第三变量。

所述维护模块,还用于在获取所述商品在所述多个应用页面上展示的虚拟资源数量之后,针对所述多个应用页面中的每个应用页面:将该应用页面对应的虚拟资源数量记录到该应用页面对应的第一变量中;或者,

在获取所述商品在所述多个应用页面上展示的虚拟资源数量以及所述虚拟资源数量对应的虚拟资源类型之后,针对所述多个应用页面中的每个应用页面:将该应用页面对应的虚拟资源数量记录到该应用页面对应的第二变量中;将该应用页面对应的虚拟资源类型记录到该应用页面对应的第三变量中。

所述比较模块,具体用于在比较等价类内包括的至少两个应用页面对应的虚拟资源数量是否相同的过程:

在自动化测试过程之后,确定属于同一个等价类的至少两个应用页面;从所述至少两个应用页面分别对应的全局变量中,提取出所述至少两个应用页面分别对应的虚拟资源数量;比较所述至少两个虚拟资源数量是否相同;或者,

在自动化测试过程之后,确定属于同一个等价类的至少两个应用页面;从所述至少两个应用页面分别对应的全局变量中,提取出所述至少两个应用页面分别对应的虚拟资源数量和虚拟资源类型;比较所述至少两个应用页面对应的虚拟资源类型是否相同;若不相同,则确定自动化测试结果为测试失败;若相同,则比较所述至少两个应用页面对应的虚拟资源数量是否相同。

所述维护模块,还用于为所述全局变量配置全局开关;

若所述全局开关处于开启状态,则允许将虚拟资源数量记录到所述全局变量的第一变量中,或者,允许将虚拟资源数量和虚拟资源类型分别记录到所述全局变量的第二变量和第三变量中;若所述全局开关处于关闭状态,则拒绝将虚拟资源数量记录到所述全局变量的第一变量中,或者,拒绝将虚拟资源数量和虚拟资源类型分别记录到所述全局变量的第二变量和第三变量中。

所述维护模块,还用于若所述应用运行在支持第一操作系统的移动终端上,则开启所述全局开关;若所述应用运行在支持第二操作系统的移动终端上,则关闭所述全局开关。

所述虚拟资源类型包括币种;所述虚拟资源数量包括价格。

基于上述技术方案,本申请实施例中,对于支持多种虚拟资源类型的应用来说,可以通过自动化测试方式进行测试,得到每种虚拟资源类型的测试结果,而不用采用手工方式进行测试,测试工作量较小,极大程度的解放了传统手工测试,可以实现多种虚拟资源类型的全面测试。即使应用的发布频次较高,如两周一个版本,也不会额外增加测试人员的工作量,显著提高用户使用感受。

附图说明

为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1是本申请一种实施方式中的自动化测试方法流程图;

图2是本申请另一种实施方式中的自动化测试方法流程图;

图3是本申请一种实施方式中的自动化测试过程的示意图;

图4是本申请一种实施方式中的移动终端的硬件结构图;

图5是本申请一种实施方式中的自动化测试装置结构图。

具体实施方式

在本申请使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

针对现有技术中存在的问题,本申请实施例中提出一种自动化测试方法,可以应用于支持多种虚拟资源类型的应用上。该应用即通常所说的客户端软件,可以运行在终端设备(如pc(personalcomputer,个人计算机)、移动终端、笔记本电脑等)上。以终端设备为移动终端(如手机、平板电脑、ipad等)为例,则自动化测试方法可以应用在无线自动化测试的应用场景下。在一个例子中,上述终端设备或者移动终端,可以为真实的终端设备或者移动终端,也可以为能够模拟出终端设备功能或者移动终端功能的服务器。

在一个例子中,该自动化测试方法,可以基于自动化技术测试多种虚拟资源类型的功能是否可用,是否出现bug现象等。如果虚拟资源类型的功能不可用或者出现bug现象,基于测试结果对虚拟资源类型的软件代码进行修复。

在一个例子中,为了完成自动化测试过程,可以预先配置测试用例。该测试用例是研发人员为了测试功能是否能够实现而编制的一组操作集合,通常情况下,一个测试用例可以包含执行环境、预设条件、输入参数、预期结果,并包含若干个操作步骤,可以通过一个测试用例来测试功能是否能够实现。

本申请实施例提出的自动化测试方法,应用于移动终端上,移动终端上运行了支持多种虚拟资源类型的应用,该应用的多个应用页面被划分到至少一个等价类中,且各等价类包括至少两个应用页面,例如,将应用页面1和应用页面2划分到等价类1中。参见图1所示,该方法包括以下步骤:

步骤101,获取多个应用页面分别对应的虚拟资源数量。例如,获取应用页面1对应的虚拟资源数量1,获取应用页面2对应的虚拟资源数量2。

步骤102,比较等价类内包括的至少两个应用页面对应的虚拟资源数量是否相同。例如,比较虚拟资源数量1和虚拟资源数量2是否相同。

步骤103,根据比较结果确定自动化测试结果。

该自动化测试结果可以为测试成功或者测试失败。例如,如果虚拟资源数量1和虚拟资源数量2相同,则可以确定自动化测试结果为测试成功。如果虚拟资源数量1和虚拟资源数量2不同,则可以确定自动化测试结果为测试失败。

在一个例子中,上述步骤的顺序只是一个示例,各步骤之间的执行顺序可以根据实际需要改变,对各步骤的顺序不做限制,以上述顺序为例进行说明。

在一个例子中,针对多个应用页面被划分到至少一个等价类中,且各等价类包括至少两个应用页面的过程,具体可以包括但不限于如下方式:获取多个应用页面分别对应的页面属性,并将页面属性相同的至少两个应用页面划分到一个等价类中。进一步的,该页面属性可以包括但不限于:展示虚拟资源数量最小值,展示虚拟资源数量区间值,展示虚拟资源数量实际值。

在一个例子中,将页面属性相同的至少两个应用页面划分到一个等价类中的过程,可以包括但不限于如下方式:将页面属性是展示虚拟资源数量最小值的至少两个应用页面划分到第一等价类中,该应用页面(即页面属性是展示虚拟资源数量最小值的应用页面)可以包括但不限于:首页页面、搜索列表页面、收藏夹页面。以及,将页面属性是展示虚拟资源数量区间值的至少两个应用页面划分到第二等价类中,该应用页面(即页面属性是展示虚拟资源数量区间值的应用页面)可以包括但不限于:产品属性(即sku)选择前页面、详情页面。以及,将页面属性是展示虚拟资源数量实际值的至少两个应用页面划分到第三等价类中,该应用页面(即页面属性是展示虚拟资源数量实际值的应用页面)可以包括但不限于:产品属性选择后页面、购物车页面、下单页面。

基于上述处理,第一等价类中可以包括首页页面、搜索列表页面、收藏夹页面;第二等价类中可以包括产品属性选择前页面、详情页面;第三等价类中可以包括产品属性选择后页面、购物车页面、下单页面。当然,上述划分方式只是本申请实施例的一个示例,对此划分方式并不做限制,可以根据实际情况进行划分,只要能够使得页面属性相同的应用页面划分到同一个等价类中即可,例如,还可以将订单列表页面和订单详情页面划分到第三等价类中,在此不做详加赘述。

针对步骤101-步骤103,可以划分为如下情况进行处理:

情况一,针对一种虚拟资源类型的处理。虽然应用支持多种虚拟资源类型,但是在自动化测试过程中,先针对一种虚拟资源类型进行测试,待该虚拟资源类型测试完成后,针对另一个虚拟资源类型进行测试,以此类推。基于此,每次自动化测试针对的虚拟资源类型是相同的,且可以唯一获知该虚拟资源类型。

针对步骤101,获取多个应用页面分别对应的虚拟资源数量的过程,包括但不限于:在针对同一商品执行自动化测试的过程,当在多个应用页面分别进行自动化测试时,获取商品在多个应用页面上展示的虚拟资源数量。例如,针对商品1执行自动化测试的过程,当在首页页面进行自动化测试时,获取商品1在首页页面上展示的虚拟资源数量a1;当在搜索列表页面进行自动化测试时,获取商品1在搜索列表页面上展示的虚拟资源数量a2;当在收藏夹页面进行自动化测试时,获取商品1在收藏夹页面上展示的虚拟资源数量a3;以此类推。

在一个例子中,在执行自动化测试过程之前,还可以分别为多个应用页面配置全局变量,且该全局变量可以包括针对虚拟资源数量的第一变量。基于此全局变量,在获取到商品在多个应用页面上展示的虚拟资源数量之后,则针对多个应用页面中的每个应用页面,还可以将该应用页面对应的虚拟资源数量记录到该应用页面对应的第一变量中。例如,针对首页页面配置全局变量1,则将虚拟资源数量a1记录到全局变量1的第一变量中。针对搜索列表页面配置全局变量2,则将虚拟资源数量a2记录到全局变量2的第一变量中。以此类推。

针对步骤102,在一个例子中,比较等价类内包括的至少两个应用页面对应的虚拟资源数量是否相同的过程,可以包括但不限于如下方式:在自动化测试过程之后,确定属于同一个等价类的至少两个应用页面,并从所述至少两个应用页面分别对应的全局变量中,提取出所述至少两个应用页面分别对应的虚拟资源数量。进一步的,比较所述至少两个虚拟资源数量是否相同。

例如,确定属于第一等价类的应用页面可以包括首页页面、搜索列表页面、收藏夹页面。基于此,可以从该首页页面对应的全局变量1中提取出虚拟资源数量a1,从该搜索列表页面对应的全局变量2中提取出虚拟资源数量a2,从该收藏夹页面对应的全局变量3中提取出虚拟资源数量a3。之后,比较该虚拟资源数量a1、该虚拟资源数量a2、该虚拟资源数量a3是否相同。

针对步骤103,如果虚拟资源数量a1、虚拟资源数量a2、虚拟资源数量a3均相同,则确定在首页页面、搜索列表页面、收藏夹页面的测试结果为测试成功。如果虚拟资源数量a1、虚拟资源数量a2、虚拟资源数量a3不完全相同,则确定在首页页面、搜索列表页面、收藏夹页面的测试结果为测试失败。

情况二、针对多种虚拟资源类型的处理。由于应用支持多种虚拟资源类型,自动化测试过程是对多种虚拟资源类型进行测试,即针对一个虚拟资源类型的测试过程,可能会跳转到另一个虚拟资源类型。基于此,每次自动化测试针对的虚拟资源类型可能为多个,需要获取虚拟资源数量对应的虚拟资源类型。

针对步骤101,在一个例子中,获取多个应用页面分别对应的虚拟资源数量的过程,可以包括但不限于如下方式:在针对同一商品执行自动化测试的过程中,当在多个应用页面分别进行自动化测试时,获取该商品在多个应用页面上展示的虚拟资源数量以及所述虚拟资源数量对应的虚拟资源类型。

例如,在针对商品1执行自动化测试的过程中,当在首页页面进行自动化测试时,获取商品1在首页页面上展示的虚拟资源数量a1以及虚拟资源类型a;当在搜索列表页面进行自动化测试时,获取商品1在搜索列表页面上展示的虚拟资源数量a2以及虚拟资源类型a;当在收藏夹页面进行自动化测试时,获取商品1在收藏夹页面上展示的虚拟资源数量a3以及虚拟资源类型a;以此类推。此外,针对虚拟资源类型b、虚拟资源类型c等其它虚拟资源类型,也可以同样按照上述方式获取虚拟资源数量以及虚拟资源类型,在此不再重复赘述。

在一个例子中,在执行自动化测试过程之前,还可以分别为多个应用页面配置全局变量,该全局变量可以包括针对虚拟资源数量的第二变量以及针对虚拟资源类型的第三变量。基于此全局变量,在获取商品在多个应用页面上展示的虚拟资源数量以及虚拟资源类型之后,针对多个应用页面中的每个应用页面,还可以将该应用页面对应的虚拟资源数量记录到该应用页面对应的第二变量中,并可以将该应用页面对应的虚拟资源类型记录到该应用页面对应的第三变量中。

例如,针对首页页面配置全局变量1,将虚拟资源数量a1记录到全局变量1的第二变量中,将虚拟资源类型a记录到全局变量1的第三变量中。针对搜索列表页面配置全局变量2,将虚拟资源数量a2记录到全局变量2的第二变量中,将虚拟资源类型a记录到全局变量2的第三变量中。以此类推。

针对步骤102,在一个例子中,比较等价类内包括的至少两个应用页面对应的虚拟资源数量是否相同的过程,可以包括但不限于如下方式:在自动化测试过程之后,确定属于同一个等价类的至少两个应用页面,并从所述至少两个应用页面分别对应的全局变量中,提取出所述至少两个应用页面分别对应的虚拟资源数量和虚拟资源类型。进一步的,比较所述至少两个应用页面对应的虚拟资源类型是否相同;若不相同,则直接确定自动化测试结果为测试失败;若相同,则进一步比较所述至少两个应用页面对应的虚拟资源数量是否相同。

例如,确定属于第一等价类的应用页面包括首页页面、搜索列表页面、收藏夹页面。从首页页面对应的全局变量1中提取出虚拟资源数量a1和虚拟资源类型a,从搜索列表页面对应的全局变量2中提取出虚拟资源数量a2和虚拟资源类型a,从收藏夹页面对应的全局变量3中提取出虚拟资源数量a3和虚拟资源类型a。由于首页页面、搜索列表页面、收藏夹页面对应的虚拟资源类型相同,因此比较虚拟资源数量a1、虚拟资源数量a2、虚拟资源数量a3是否相同。

针对步骤103,在虚拟资源类型不同的情况下,不再执行步骤103,直接确定测试结果为测试失败。在虚拟资源类型相同的情况下,如果虚拟资源数量a1、虚拟资源数量a2、虚拟资源数量a3均相同,则确定针对虚拟资源类型a,在首页页面、搜索列表页面、收藏夹页面的测试结果为测试成功。如果虚拟资源数量a1、虚拟资源数量a2、虚拟资源数量a3不完全相同,则确定针对虚拟资源类型a,在首页页面、搜索列表页面、收藏夹页面的测试结果为测试失败。

基于上述技术方案,本申请实施例中,对于支持多种虚拟资源类型的应用来说,可以通过自动化测试方式对应用进行测试,得到每种虚拟资源类型的测试结果,而不用采用手工方式对应用进行测试,测试工作量较小,极大程度的解放了传统手工测试,可以实现多种虚拟资源类型的全面测试。即使应用的发布频次较高,如两周一个版本,也不会额外增加测试人员的工作量。

在一个例子中,还可以为全局变量配置全局开关。若全局开关处于开启状态,则允许将虚拟资源数量记录到全局变量的第一变量中,或者,允许将虚拟资源数量和虚拟资源类型分别记录到全局变量的第二变量和第三变量中,即允许执行本申请实施例的技术方案。若全局开关处于关闭状态,则拒绝将虚拟资源数量记录到全局变量的第一变量中,或者,拒绝将虚拟资源数量和虚拟资源类型分别记录到全局变量的第二变量和第三变量中,即拒绝执行本申请实施例的技术方案,按照传统方式进行处理。

在一个例子中,若应用运行在支持第一操作系统的移动终端上,则可以开启全局开关。若应用运行在支持第二操作系统的移动终端上,则可以关闭全局开关。其中,第一操作系统可以为ios8(移动操作系统8)、ios9等,第二操作系统可以为ios7等。当然,上述只是第一操作系统和第二操作系统的一个示例,在实际应用中,第一操作系统和第二操作系统还可以为其它操作系统,在此不再赘述。上述开启/关闭全局开关的方式,也只是本申请实施例的一个示例,在实际应用中,还可以基于其它策略,开启/关闭全局开关,在此不再赘述。

在一个例子中,上述虚拟资源可以为任意形式的业务交互数据。作为一示例性实施例,上述虚拟资源可以包括实际资产或者虚拟资产,如优惠券、电子贺卡、礼金、资金、卡券、积分等涉及用户资产的数据。针对某商品来说,上述虚拟资源类型可以包括但不限于币种,虚拟资源数量可以包括但不限于价格。

例如,该币种可以包括但不限于美元,卢布,英镑,人民币等。当然,币种并不局限于此,还可以为日元、欧元等其它币种,本申请实施例对此不做限制。假设某商品的价格为1美元,当币种(虚拟资源类型)为美元时,商品的价格(虚拟资源数量)为1美元,当币种为卢布时,商品的价格为63.79卢布,当币种为英镑时,商品的价格为0.7533英镑,当币种为人民币时,商品的价格为6.6547人民币。以此类推,针对同一价格,不同币种下的显示值是不同的。

随着互联网技术的快速发展,有些应用(如购物类应用等)会支持多种币种,如美元,卢布,英镑,人民币等,针对这种应用来说,用户在下单、支付等核心交易流程的应用页面,商品价格以及货币单位会随着币种的切换而发生变化。例如,针对某个商品,当用户选择使用美元进行支付时,则各应用页面将显示美元的价格和单位,如可以为1dollar。当用户选择使用卢布进行支付时,则各应用页面将显示卢布的价格和单位,如可以为63.79руб。

但是,如果应用页面的源代码出现问题,则可能会出现如下情况:当用户选择使用卢布进行支付时,则各应用页面显示的卢布的价格和单位为1руб。显然,这种情况是需要避免的,而为了避免出现这种情况,就需要对应用页面进行测试,如测试应用页面在各币种下的支付功能是否可用。

目前,是采用手工方式对各币种下的应用页面进行测试,而这一方式下,需要针对每种币种(如13种币种)分别进行测试,测试工作量很大,测试任务繁重。与此不同的是,本申请实施例中,可以采用自动化测试方式对每种币种(如13种币种)进行测试,一定程度保障了用户在下单、支付等核心交易流程的数据准确性,其具有覆盖面全、灵活、可插拔、强校验的特点。

以下针对虚拟资源类型是币种,虚拟资源数量是价格的情况,对本申请实施例的自动化测试方法进行说明。首先,将多个应用页面划分到至少一个等价类,各等价类包括至少两个应用页面。例如,将应用页面1和应用页面2划分到等价类1中。在此基础上,参见图2所示,该自动化测试方法包括以下步骤:

步骤201,获取多个应用页面分别对应的价格和币种。例如,获取应用页面1对应的价格1和卢布(币种),并获取应用页面2对应的价格2和卢布。

步骤202,比较等价类内包括的至少两个应用页面对应的币种是否相同。

如果相同,则执行步骤203;如果不相同,则执行步骤205。

步骤203,比较等价类内包括的至少两个应用页面对应的价格是否相同。

如果相同,则执行步骤204;如果不相同,则执行步骤205。

步骤204,根据比较结果确定自动化测试结果为测试成功。

步骤205,根据比较结果确定自动化测试结果为测试失败。

在一个例子中,上述步骤的顺序只是一个示例,各步骤之间的执行顺序可以根据实际需要改变,对各步骤的顺序不做限制,以上述顺序为例进行说明。

在一个例子中,针对将多个应用页面划分到至少一个等价类的过程,可以包括但不限于如下方式:获取多个应用页面分别对应的页面属性,并将页面属性相同的至少两个应用页面划分到一个等价类中。其中,该页面属性可以包括但不限于:展示价格最小值,展示价格区间值,展示价格实际值。

在一个例子中,将页面属性相同的至少两个应用页面划分到一个等价类中的过程,具体可以包括但不限于如下方式:将页面属性是展示价格最小值的至少两个应用页面划分到第一等价类中,该应用页面(即页面属性是展示价格最小值的应用页面)可以包括但不限于:首页页面、搜索列表页面、收藏夹页面。将页面属性是展示价格区间值的至少两个应用页面划分到第二等价类中,该应用页面(即页面属性是展示价格区间值的应用页面)可以包括但不限于:产品属性选择前页面、详情页面。将页面属性是展示价格实际值的至少两个应用页面划分到第三等价类中,该应用页面(即页面属性是展示价格实际值的应用页面)可以包括但不限于:产品属性选择后页面、购物车页面、下单页面。

在一个例子中,用户在下单、支付等核心交易流程的应用页面,可以包括但不限于如下应用页面:首页页面、搜索列表页面(searchlist页面)、产品属性选择前页面、详情页面(detail页面)、收藏夹页面(wishlist页面)、产品属性选择后页面、购物车页面(cart页面)、下单页面(placeorder页面)等。

通过对这些应用页面进行分析可以发现:1、首页页面,其展示价格最小值,以吸引用户点击下一页,如1руб。2、搜索列表页面,其展示价格最小值,如1руб。3、收藏夹页面,其展示价格最小值,如1руб。4、产品属性选择前页面,若用户没有选择商品的颜色、大小、型号等产品属性,则是产品属性选择前页面,且会展示价格区间值,如1руб-10руб。5、详情页面,其展示价格区间值,如1руб-10руб。6、产品属性选择后页面,产品属性是商品的属性,如商品的颜色、大小、型号等,若用户已经选择了商品的颜色、大小、型号等产品属性,则是产品属性选择后页面,且展示价格实际值,如8руб。7、购物车页面,在商品已经添加到购物车时,购物车页面中会展示价格实际值,如8руб。8、下单页面,其会展示价格实际值,如8руб。

基于上述处理,第一等价类中可以包括首页页面、搜索列表页面、收藏夹页面;第二等价类中可以包括产品属性选择前页面、详情页面;第三等价类中可以包括产品属性选择后页面、购物车页面、下单页面。当然,上述划分方式只是本申请实施例的一个示例,对此划分方式并不做限制,可以根据实际情况进行划分,只要能够使得页面属性相同的应用页面划分到同一个等价类中即可,例如,还可以将订单列表页面和订单详情页面划分到第三等价类中,在此不做详加赘述。

以下结合图3所示的自动化测试的示意图,对本申请实施例进行说明。在执行自动化测试过程之前,分别为首页页面、搜索列表页面、收藏夹页面、产品属性选择前页面、详情页面、产品属性选择后页面、购物车页面、下单页面配置全局变量,该全局变量可以包括针对价格的第一变量以及针对币种的第二变量。其中,在图3中,配置全局变量的时间点可以为时间点1,即执行自动化测试之前。

在图3中,自动化测试的时间点为时间点2,本申请实施例对此自动化测试过程不做调整。因此,可以采用传统的自动化测试过程进行测试,在此基础上,执行本申请实施例的测试过程,对目前的自动化测试的代码的侵入非常小。

当传统的自动化测试过程执行到某个应用页面时,即时间点3,就可以执行本申请实施例的测试过程,获取该应用页面对应的价格和币种,执行步骤201。

针对步骤201,在一个例子中,获取多个应用页面分别对应的价格和币种的过程,可以包括但不限于如下方式:在针对同一商品(如商品1)执行自动化测试的过程中,当在多个应用页面分别进行自动化测试时,获取该商品1在多个应用页面上展示的价格和币种。例如,针对商品1的下单、支付等核心交易流程,会在多个应用页面执行自动化测试,而在多个应用页面进行自动化测试的过程中,就可以获取到商品1的展示价格和币种。

例如,针对商品1的自动化测试过程,当在首页页面进行自动化测试时,获取商品1在首页页面上展示的价格a1和币种a;当在搜索列表页面进行自动化测试时,获取商品1在搜索列表页面上展示的价格a2和币种a;以此类推。

进一步的,在获取到多个应用页面分别对应的价格和币种之后,针对多个应用页面中的每个应用页面,还可以将该应用页面对应的价格记录到该应用页面对应的第二变量中,并可以将该应用页面对应的币种记录到该应用页面对应的第三变量中。例如,针对首页页面配置全局变量1,将价格a1记录到全局变量1的第二变量中,将币种a记录到全局变量1的第三变量中。以此类推。

为了从应用页面上获取商品的价格以及商品的币种,在一个例子中,可以调用价格提取功能,从应用页面上获取商品的价格,并可以调用币种提取功能,从应用页面上获取商品的币种,并将该价格和该币种记录到对应应用页面的全局变量。例如,当自动化测试执行到详情页面时,调用详情页面的价格提取功能,从详情页面上获取商品的价格,并调用详情页面的币种提取功能,从详情页面上获取商品的币种,并将该价格和该币种记录到详情页面的全局变量。

在一个例子中,由于在同一应用页面的不同币种下,价格与币种的展示位置可能并不一样,例如,针对卢布,在首页页面上先显示价格,后显示币种,如1руб,针对美元,在首页页面上先显示币种,后显示价格,如dollar1。基于此,可以采用currencyformat(货币格式化)处理方式,按照先价格后币种的方式,将获取的价格与币种记录到应用页面的全局变量;或者,按照先币种后价格的方式,将获取的币种与价格记录到应用页面的全局变量。

在一个例子中,还可以为全局变量配置全局开关。若全局开关处于开启状态,则允许将价格和币种分别记录到全局变量的第二变量和第三变量中,即执行本申请实施例的技术方案。若全局开关处于关闭状态,则拒绝将价格和币种分别记录到全局变量的第二变量和第三变量中,即拒绝执行本申请实施例的技术方案,按照传统方式进行处理。其中,若应用运行在支持第一操作系统的移动终端上,则可以开启全局开关。若应用运行在支持第二操作系统的移动终端上,则可以关闭全局开关。第一操作系统可以为ios8、ios9等,第二操作系统可以为ios7等。当然,上述只是第一操作系统和第二操作系统的一个示例,在实际应用中,第一操作系统和第二操作系统还可以为其它操作系统,在此不再赘述。上述开启/关闭全局开关的方式,也只是本申请实施例的一个示例,在实际应用中,还可以基于其它策略,开启/关闭全局开关,在此不再赘述。

其中,由于在支持ios7的移动终端上,应用页面上显示的价格、币种与商品的其它属性混合在一起,无法单独提取,因此,可以通过关闭全局开关,以避免采用本申请实施例的技术方案时,由于价格、币种提取错误导致的测试结果错误。在支持ios8、ios9的移动终端上,应用页面上显示的价格、币种没有与商品的其它属性混合在一起,可以单独提取,因此,可以开启全局开关。

在自动化测试过程结束之后,即时间点4,可以执行步骤202-步骤205,执行币种和价格的校验。在执行币种和价格的校验过程中,将所有已经赋值的全局变量以等价类的维度进行币种、价格的一一校验,即对同一个等价类的多个应用页面进行校验,继而确定出币种和价格的校验成功或者失败。若不是对同一个等价类的多个应用页面进行校验,则会导致币种和价格的校验失败。

针对步骤202-步骤205,在自动化测试过程之后,确定属于同一个等价类的至少两个应用页面,并从所述至少两个应用页面分别对应的全局变量中,提取出所述至少两个应用页面分别对应的价格和币种,比较等价类内包括的至少两个应用页面对应的币种是否相同。如果不相同,则根据比较结果确定自动化测试结果为测试失败。如果相同,则比较等价类内包括的至少两个应用页面对应的价格是否相同。若相同,根据比较结果确定自动化测试结果为测试成功。若不同,则根据比较结果确定自动化测试结果为测试失败。

例如,确定属于第一等价类的应用页面可以包括首页页面、搜索列表页面、收藏夹页面。基于此,从首页页面对应的全局变量1中提取出价格a1和币种a,并从搜索列表页面对应的全局变量2中提取出价格a2和币种a,并从收藏夹页面对应的全局变量3中提取出价格a3和币种a。进一步的,比较第一等价类内包括的首页页面、搜索列表页面、收藏夹页面对应的币种是否相同。由于相同(均是币种a),因此,比较第一等价类内包括的首页页面、搜索列表页面、收藏夹页面对应的价格是否相同,即比较价格a1、价格a2、价格a3是否相同。若相同,则确定针对币种a,在首页页面、搜索列表页面、收藏夹页面的测试结果为测试成功。若不相同,则确定针对币种a,在首页页面、搜索列表页面、收藏夹页面的测试结果为测试失败。对于属于第二等价类的应用页面、属于第三等价类的应用页面的处理方式与此类似,在此不再重复赘述。

基于上述技术方案,本申请实施例中,对于支持多种币种的应用来说,可以通过自动化测试方式对应用进行测试,得到每种币种的测试结果,而不用采用手工方式对应用进行测试,测试工作量较小,极大程度的解放了传统手工测试,可以实现多种币种的全面测试。即使应用的发布频次较高,如两周一个版本,也不会额外增加测试人员的工作量。而且,对目前的自动化测试的代码的侵入非常小,可以对首页页面、搜索列表页面、收藏夹页面、产品属性选择前页面、详情页面、产品属性选择后页面、购物车页面、下单页面等应用页面进行检验,检验粒度细,只要应用页面中出现币种和价格信息,就可以对该应用页面进行全自动化的全数据校验。而且,在上述过程中,可以为全局变量配置全局开关;在提取价格和币种之前,可以判断是否需要提取价格和币种,可以认为这个过程是一个开关;在进行校验之前,可以判断是否需要进行交易,可以认为这个过程是一个开关。这样,在整个自动化测试过程中,就存在三个开关,通过这三个开关可以灵活控制整个自动化测试过程是否需要执行多币种测试功能,当三个开关中有一个处于关闭状态时,就屏蔽本申请技术方案的多币种测试功能,对传统的测试过程并没有任何影响,做到了真正意义上的覆盖全、灵活、可插拔,且强校验的特点,显著提高了用户的使用感受。

基于与上述方法同样的申请构思,本申请实施例还提供一种自动化测试装置120,该自动化测试装置120可以应用在移动终端10上。该自动化测试装置120可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过移动终端10的处理器11,读取非易失性存储器12中对应的计算机程序指令形成的。从硬件层面而言,如图4所示,为移动终端10的硬件结构图,除图4所示的处理器11、非易失性存储器12外,移动终端10还可包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,移动终端10还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。

如图5所示,为本申请提出的自动化测试装置的结构图,应用于移动终端上,所述移动终端上运行了支持多种虚拟资源类型的应用,所述应用的多个应用页面被划分到至少一个等价类中,且各等价类包括至少两个应用页面,所述装置包括:获取模块121,用于获取所述多个应用页面分别对应的虚拟资源数量;比较模块122,用于比较等价类内包括的至少两个应用页面对应的虚拟资源数量是否相同;确定模块123,用于根据比较结果确定自动化测试结果。

在一个例子中,所述自动化测试装置还包括分配模块(在图中未体现),该分配模块,用于获取所述多个应用页面分别对应的页面属性;将页面属性相同的至少两个应用页面划分到一个等价类中。所述页面属性包括:展示虚拟资源数量最小值,展示虚拟资源数量区间值,展示虚拟资源数量实际值。

所述分配模块,具体用于在将页面属性相同的至少两个应用页面划分到一个等价类中的过程中,将页面属性是展示虚拟资源数量最小值的至少两个应用页面划分到第一等价类中,其中,该应用页面包括:首页页面、搜索列表页面、收藏夹页面;将页面属性是展示虚拟资源数量区间值的至少两个应用页面划分到第二等价类中,其中,该应用页面包括:产品属性选择前页面、详情页面;将页面属性是展示虚拟资源数量实际值的至少两个应用页面划分到第三等价类中,其中,该应用页面包括:产品属性选择后页面、购物车页面、下单页面。

所述获取模块121,具体用于在获取所述多个应用页面分别对应的虚拟资源数量的过程中,在针对同一商品执行自动化测试的过程中,

当在多个应用页面分别进行自动化测试时,获取所述商品在多个应用页面上展示的虚拟资源数量;或者,获取所述商品在所述多个应用页面上展示的虚拟资源数量以及所述虚拟资源数量对应的虚拟资源类型。

所述自动化测试装置还包括(在图中未体现):

维护模块,用于在自动化测试过程之前,分别为所述多个应用页面配置全局变量;其中,所述全局变量包括针对虚拟资源数量的第一变量;或者,所述全局变量包括针对虚拟资源数量的第二变量和针对虚拟资源类型的第三变量。

在一个例子中,所述维护模块,还用于在获取所述商品在所述多个应用页面上展示的虚拟资源数量之后,针对所述多个应用页面中的每个应用页面:将该应用页面对应的虚拟资源数量记录到该应用页面对应的第一变量中;或者,

在获取所述商品在所述多个应用页面上展示的虚拟资源数量以及所述虚拟资源数量对应的虚拟资源类型之后,针对所述多个应用页面中的每个应用页面:将该应用页面对应的虚拟资源数量记录到该应用页面对应的第二变量中;将该应用页面对应的虚拟资源类型记录到该应用页面对应的第三变量中。

在一个例子中,所述比较模块122,具体用于在比较等价类内包括的至少两个应用页面对应的虚拟资源数量是否相同的过程:

在自动化测试过程之后,确定属于同一个等价类的至少两个应用页面;从所述至少两个应用页面分别对应的全局变量中,提取出所述至少两个应用页面分别对应的虚拟资源数量;比较所述至少两个虚拟资源数量是否相同;或者,

在自动化测试过程之后,确定属于同一个等价类的至少两个应用页面;从所述至少两个应用页面分别对应的全局变量中,提取出所述至少两个应用页面分别对应的虚拟资源数量和虚拟资源类型;比较所述至少两个应用页面对应的虚拟资源类型是否相同;若不相同,则确定自动化测试结果为测试失败;若相同,则比较所述至少两个应用页面对应的虚拟资源数量是否相同。

所述维护模块,还用于为所述全局变量配置全局开关;

若所述全局开关处于开启状态,则允许将虚拟资源数量记录到所述全局变量的第一变量中,或者,允许将虚拟资源数量和虚拟资源类型分别记录到所述全局变量的第二变量和第三变量中;若所述全局开关处于关闭状态,则拒绝将虚拟资源数量记录到所述全局变量的第一变量中,或者,拒绝将虚拟资源数量和虚拟资源类型分别记录到所述全局变量的第二变量和第三变量中。

在一个例子中,所述维护模块,还用于若所述应用运行在支持第一操作系统的移动终端上,则开启所述全局开关;若所述应用运行在支持第二操作系统的移动终端上,则关闭所述全局开关。

在一个例子中,所述虚拟资源类型包括币种;所述虚拟资源数量包括价格。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的。

本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

以上公开的仅为本申请的几个具体实施例,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

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