软件的操作事件数据的测试方法及装置与流程

文档序号:17762337发布日期:2019-05-24 21:48阅读:140来源:国知局
软件的操作事件数据的测试方法及装置与流程

本发明属于计算机技术领域,尤其涉及软件的操作事件数据的测试方法及装置。



背景技术:

在软件开发过程中,需要对软件的各项功能进行测试,因此,需要对软件响应外界的操作行为所产生的操作事件数据的准确性进行测试。其中,操作事件数据包括对软件进行操作时产生的操作行为数据,以及软件响应外界的操作行为的响应数据。收集针对该软件的操作事件数据,并对操作事件数据的准确性进行测试。

操作事件数据是对软件进行某些操作产生的数据,例如,开启运行软件的相关信息,如开启次数和开启时长等;又例如,点击软件页面上某个元素的操作行为,相应的操作事件数据包括点击某个元素的点击操作数据,以及响应该点击操作点击该元素所产生的相关响应数据等。操作事件数据测试是指测试当前软件响应外界的操作行为所产生的数据是否正确。

现有的操作事件数据测试均由人工对收集的操作事件数据进行测试,但是,每一条操作事件数据包含的字段非常多,需要消耗大量的人力成本对进操作事件数据进行的测试,而且,极易产生因人工视觉疲劳造成漏测的现象。即,现有的操作事件数据测试过程人力成本高且测试出错率高。



技术实现要素:

有鉴于此,本发明的目的在于提供了软件的操作事件数据的测试方法及装置,以解决人工测试软件的操作事件数据导致的人工成本高且出错率高的问题。其技术方案如下:

第一方面,本发明提供了一种软件的操作事件数据的测试方法,应用于测试服务端,该测试服务端存储有操作事件数据所包含的各个字段的校验规则,该方法包括:

获取当前版本客户端对应的待测试操作事件数据;

依据所述各个字段的校验规则,对该待测试操作事件数据所包含的各个字段进行校验,得到该待测试操作事件数据的测试结果。

可选地,所述待测试操作事件数据包括所述当前版本客户端根据检测到的针对页面控件的操作事件所产生的操作请求,以及目标服务平台返回的与该操作请求对应的响应数据;

其中,所述目标服务平台能够为不同时刻接收到的同一操作请求提供相同的响应数据。

可选地,所述依据所述各个字段对应的校验规则,对待测试操作事件数据的各个字段进行校验,得到该待测试操作事件数据的测试结果,包括:

从该待测试操作事件数据中提取出变量字段和常量字段;

依据所述变量字段对应的校验规则,对所述变量字段所包含数据的数据格式进行校验,得到变量校验结果;

将所述变量字段包含的数据转换为第一类常量数据;

依据所述常量字段对应的校验规则,对所述第一类常量数据的数据内容,以及所述常量字段所包含的第二类常量数据的数据内容进行校验,得到常量校验结果;

依据所述常量校验结果和所述变量校验结果得到所述测试结果。

可选地,所述将所述变量字段包含的数据转换为第一类常量数据,包括:

将所述待测试操作事件数据中的全部变量字段所包含的数据都转换为同一预设常量数据;

或者,

将所述待测试操作事件数据中的变量字段所包含的数据转换为与该变量字段相对应的常量数据,且存在至少两个变量字段所对应的常量数据不相同。

可选地,所述依据所述常量字段的校验规则,对所述第一类常量数据的数据内容,以及所述常量字段所包含的第二类常量数据的数据内容进行校验,得到常量校验结果,包括:

对比所述当前版本客户端产生的所述第一类常量数据的数据内容与上一版本客户端产生的与所述待测试操作事件数据所包含操作请求所对应的第一类常量数据的数据内容是否相同,其中,所述当前版本客户端是对所述上一版本客户端进行修改得到;

若所述当前版本客户端产生的第一类常量数据的数据内容与所述上一版本客户端产生的第一类常量数据的数据内容相同,则确定所述待测试操作事件数据中的第一类常量数据正确;若不同,则确定所述待测试操作事件数据中的第一类常量数据不正确;

对比所述当前版本客户端产生的所述第二类常量数据的数据内容与所述上一版本客户端产生的与所述待测试操作事件数据包含的操作请求所对应的第二常量数据的数据内容是否相同;

若所述当前版本客户端产生的第二类常量数据的数据内容与所述上一版本客户端产生的第二常量数据的数据内容相同,则确定所述待测试操作事件数据中的第二常量数据正确;若不同,则确定所述待测试操作事件数据中的第二类常量数据不正确。

可选地,所述获取当前版本客户端对应的待测试操作事件数据,包括:

获取遍历操作所述当前版本客户端的页面控件所产生的操作数据,并依据所述操作数据产生操作请求;

发送所述操作请求,并接收与所述操作请求相对应的响应数据。

第二方面,本发明还提供了一种软件的操作事件数据的测试方法,应用于测试服务端,该测试服务端存储有操作事件数据所包含的各个字段的校验规则,该装置包括:

获取模块,用于获取当前版本客户端对应的待测试操作事件数据;

校验模块,用于依据所述各个字段的校验规则,对该待测试操作事件数据所包含的各个字段进行校验,得到该待测试操作事件数据的测试结果。

可选地,所述待测试操作事件数据包括所述当前版本客户端根据检测到的针对页面控件的操作事件所产生的操作请求,以及目标服务平台返回的与该操作请求对应的响应数据;

其中,所述目标服务平台能够为不同时刻接收到的同一类型的操作请求提供相同的响应数据。

可选地,所述校验模块包括:

提取子模块,用于从该待测试操作事件数据中提取出变量字段和常量字段;

变量校验子模块,用于依据所述变量字段对应的校验规则,对所述变量字段所包含数据的数据格式进行校验,得到变量校验结果;

数据转换子模块,用于将所述变量字段包含的数据转换为第一类常量数据;

常量校验子模块,用于依据所述常量字段对应的校验规则,对所述第一类常量数据的数据内容,以及所述常量字段所包含的第二类常量数据的数据内容进行校验,得到常量校验结果;

获得子模块,用于依据所述常量校验结果和所述变量校验结果得到所述测试结果。

可选地,所述获取模块包括:

获取子模块,用于获取遍历操作所述当前版本客户端的页面控件所产生的操作数据,并依据所述操作数据产生操作请求;

发送子模块,用于发送所述操作请求,并接收与所述操作请求相对应的响应数据。

本实施例提供的软件的操作事件数据的测试方法,测试服务端获取当前版本客户端产生的待测试操作事件数据,并依据已存储的各个字段的校验规则对该待测试操作事件数据中的各个字段进行校验得到该待测试操作事件数据对应的测试结果。该测试过程由测试服务自动完成,不需要人工逐个去比较,从而极大地降低了人工成本及出错率。而且,利用该测试方法测试服务端只需维护所有字段的校验规则,与维护一整条操作事件数据所包含的各个字段的校验规则的组合相比,字段的种类数量远远低于多个字段组合后的数量,因此降低了测试服务端的维护成本。

附图说明

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

图1是本发明实施例提供的一种软件的操作事件数据的测试系统的框图;

图2是本发明实施例提供的一种软件的操作事件数据的测试方法流程图;

图3是本发明实施例提供的另一种软件的操作事件数据的测试方法流程图;

图4是本发明实施例提供的一种软件的操作事件数据的测试装置的框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参见图1,示出了本申请实施例一种软件的操作事件数据的测试系统框图,该测试系统包括客户端1、数据服务端2和测试服务端3。

客户端1可以是web客户端,或者是移动智能终端上安装的应用程序(application,app)。客户端的本质是软件产品,在软件产品投入使用后,经过一段时间运行后需要进行局部代码修改或对bug进行修正,得到新版本的软件产品,因此,存在不同版本的客户端。

数据服务端2可以是客户端1请求数据内容的数据来源服务器,在本申请实施例中,该数据服务端2可以通过mock平台实现,mock平台具有指定接口通过设置不同参数返回不同类型的mock数据的能力,从而实现客户端展示给用户的数据来源相对“固定”。

测试服务端3用于测试客户端1产生的操作事件数据是否正确得到测试结果。

在一个应用场景下,软件开发人员开发得到软件产品后,需要对软件的各项功能进行测试,此种应用场景下,应用本发明提供的软件的操作事件数据的测试方法完成测试。

另一个应用场景下,对上一版本的客户端进行局部修改或对bug进行修正后得到当前版本的客户端,需要进行回归测试,回归测试是指修改了旧代码后,重新进行测试以确认此次修改没有引入新的错误或导致其它代码产生错误。软件开发人员可以借助本申请提供的软件的操作事件数据的测试方法完成回归测试,即测试前后两个版本的软件的操作事件数据有哪些发生了变化。

请参见图2,示出了本申请实施例一种软件的操作事件数据的测试方法流程图,该方法应用于图1所示的系统中,如图2所示,该方法可以包括以下步骤:

s110,客户端依据点击该客户端的操作生成操作请求,并将该操作请求发送至数据服务端。

该操作请求由客户端检测到用户对客户端的操作后产生,例如,点击客户端上某个页面控件的操作。

其中,页面控件是客户端显示页面上的可视化、可操作的元件,例如,页面上的按钮、编辑框等。

在本申请的一个实施例中,可以利用自动化脚本遍历点击客户端页面上的控件产生一系列点击操作,然后,依据该操作生成操作请求;这些操作请求可以由客户端响应,或者,也可以由数据服务端响应,本实施例以由数据服务端响应该操作请求为例进行说明。

利用自动化脚本可以保证页面上的每个控件都能被点击到,而且,对于两个版本的客户端的同一功能页面(例如,不同版本的客户端的首页),自动化脚本每次遍历点击的顺序相同,从而保证产生的操作事件的顺序相同,例如,对两个版本的客户端的同一功能页a上按照相同的顺序点遍历点击该功能页面上的全部控件,因此产生的操作事件的顺序相同,对应的操作事件数据的顺序大致相同,从而缩短后续查找操作事件数据所需的时间。

数据服务端用于响应客户端发送的操作请求,并依据该操作请求向客户端返回相应的数据。

s120,数据服务端响应该操作请求得到响应数据并发送至客户端。

数据服务端响应客户端发送的操作请求生成响应数据并发送至客户端。

s130,客户端依据该操作请求和对应的响应数据得到待测试操作事件数据,并将待测试操作事件数据提供给测试服务端。

将事件行为发生时的部分信息(即待测试操作事件数据)回传到测试服务端,然后由测试服务端对待测试操作事件数据进行测试。

客户端接收到数据服务端返回的响应数据后,依据该响应数据和操作请求得到待测试操作事件数据,并将该待测试操作事件数据提供给测试服务端。例如,可以从操作请求及响应数据中提取部分需要的数据得到待测试操作事件数据。

在本申请的一个实施例中,可以由客户端收集该待测试操作事件数据,此种应用场景下,客户端需要集成收集操作事件数据的功能模块,利用该功能模块收集该客户端的操作事件数据并发送至测试服务端。

在本申请的另一个实施例中,由测试服务端收集操作事件数据,此种应用场景下,客户端不需要集成收集操作事件数据的功能模块,通过配置实现将客户端的日志数据定向发送至测试服务端,由测试服务端收集操作事件数据。

s140,测试服务端依据各个字段的校验规则对该待测试操作事件数据所包含的各个字段进行较校验,得到该待测试操作事件数据的测试结果。

在本申请的一个实施例中,测试服务端内存储有所有操作事件数据包含的全部字段的校验规则,字段种类数量远远低于多个字段组合得到的操作事件数据的数量,因此,测试服务端需要维护的校验规则的数量比较少。与将每一条操作事件数据包含的所有字段的校验规则作为一个整体来维护相比,各个字段校验规则的数量远远低于各个字段组合后得到的所有操作事件的校验规则组合后的数量,因此大大降低了校验规则的维护成本。

例如,所有的操作事件数据一共包含20种字段,如果以字段为单位维护相应的校验规则,则一共只需维护20种校验规则;如果以操作事件数据为单位维护相应的校验规则,一条操作事件数据包括至少一种字段,这20种字段可以组合得到操作事件数据远大于20,可见,以操作事件数据为单位的校验规则远远多于以字段为单位的校验规则。

测试服务端获得客户端的操作事件数据后,查找该操作事件数据所包含的字段对应的校验规则;然后,依据各个字段的校验规则对该操作事件数据的各个字段进行校验,得到测试结果。如果对待测试操作事件数据中所有字段的校验都正确,则确定该待测试操作事件数据正确;如果对待测试操作事件数据中任意一个字段校验不正确,则确定该待测试操作事件数据不正确。

在本发明的一个应用场景下,当前版本客户端不存在上一版本的客户端,此种应用场景下,测试服务端已存储的操作事件数据对应的各个字段的校验规则由软件开发人员输入至测试服务端中,各个字段的校验规则根据各个字段所包含数据的特点确定。例如,时间戳字段timestamp=1534993001,时间戳字段是一个有10位数的数字,可以用正则表达式表示该字段的规则,例如,[0-9]{10},如果该字段不是由10个数字构成表明该变量字段校验失败,即认为该变量字段不正确。

在本发明的另一个应用场景下,当前版本的客户端是对上一版本客户端的代码进行修改得到,此种应用场景下,需要进行回归测试,回归测试是指修改了旧代码后,重新进行测试以确认此次修改没有引入新的错误或导致其它代码产生错误。软件开发人员可以借助本申请提供的软件的操作事件数据的测试方法完成回归测试,即比较前后两个版本的软件的操作事件数据有哪些发生了变化。然后,可以由软件测试人员分析该统计数据的测试结果,例如,通过分析该测试结果可以获知产生该测试结果的原因。

本实施例提供的软件的操作事件数据的测试方法,测试服务端获取当前版本客户端产生的待测试操作事件数据,并依据已存储的各个字段的校验规则对该待测试操作事件数据中的各个字段进行校验得到该待测试操作事件数据对应的测试结果。该测试过程由测试服务自动完成,不需要人工逐个去比较,从而极大地降低了人工成本及出错率。而且,利用该测试方法测试服务端只需维护所有字段的校验规则,与维护一整条操作事件数据所包含的各个字段的校验规则的组合相比,字段的种类数量远远低于多个字段组合后的数量,因此降低了测试服务端的维护成本。

请参见图3,示出了本申请实施例提供的另一种软件的操作事件数据的测试方法流程图,本实施例中,将客户端操作请求对应的响应数据的数据来源固定,并在对操作事件数据进行校验时,针对常量数据和变量数据分别进行相应的校验,进一步提高了测试效率,提高了测试准确率。

请参见图3,该方法可以包括以下步骤:

s210,客户端依据检测到的点击该客户端的页面控件的操作事件生成操作请求,并将该操作请求发送至mock平台。

s220,mock平台向客户端返回与该操作请求对应的响应数据。

mock平台具有指定接口通过设置不同参数返回不同类型的mock数据的能力,从而实现客户端展示给用户的数据相对“固定”。

针对页面上不同页面控件的点击操作,mock平台返回给客户端的数据不相同;但是,针对同一页面控件的点击操作,mock平台每次返回给客户端的数据相同,因此,可以称为响应数据固定。例如,mock平台在任意时刻针对客户端页面上的控件a的点击操作返回的数据都是数据a;而mock平台在任意时刻针对客户端页面上的控件b的点击操作返回的数据都是数据b。

如果操作事件数据中针对同一操作请求的响应数据相对“固定”,这样大大增加了操作事件数据中包含的常量字段的数量减少了操作事件数据中包含的变量字段的数量;由于常量字段的校验过程比变量字段的校验过程简单,所以这样能够降低操作事件数据的测试复杂度。

s230,客户端依据该操作请求及对应的响应数据得到待测试操作事件数据,并将该待测试操作事件数据发送至测试服务端。

s240,测试服务端从待测试操作事件数据中提取出变量字段和常量字段。

操作事件数据通常包括变量字段和常量字段,其中,变量字段是指待测试操作事件数据中针对不同时刻的操作,其数据很容易发生变化的字段,例如,随机值、页面停留时间等。相反,常量字段是待测试操作事件数据中针对不同时刻的操作,其数据不易发生变化的字段。

测试服务端从待测试操作事件数据中分离出变量字段和常量字段,变量字段通常都是预先定义的,因此,在解析待测试操作事件数据时,根据变量字段的定义能够识别出待测试操作事件数据中包含的变量字段,其它字段即常量字段。

s250,测试服务端依据变量字段对应的校验规则,对该变量字段所包含的数据的数据格式进行校验得到变量校验结果。

对于变量字段的校验规则是校验该变量字段所包含数据的数据格式是否符合字段规则;

其中,数据格式校验是指依据当前变量字段的数据内容的展现形式制定规则进行校验;例如,时间戳字段timestamp=1534993001,时间戳字段是一个有10位数的数字,可以用正则表达式表示该字段的规则,例如,[0-9]{10},如果该字段不是由10个数字构成表明该变量字段校验失败,即认为该变量字段有异常。

一条待测试操作事件数据中包括不止一个变量字段,只有当该条统待测试操作事件数据中的所有变量字段都校验正确后,才能确定该待测试操作事件数据的变量数据正确;如果该条待测试操作事件数据中的任意一个变量字段校验失败,则认为该条待测试操作事件数据的变量数据不正确。

s260,测试服务端将变量字段包含的数据转换为常量数据得到第一类常量数据。

把变量数据转换为常量数据时,将变量字段包含的数据赋予一个固定的数值,但并不删除该变量字段的原有数据,以便后续根据转换得到的常量数据判断待测试操作事件数据中是否缺失某些变量字段。

在本申请的一个实施例中,测试服务端可以将所有变量字段的数据都转换为同一预设的常数值。采用此种方式时,后续的常量校验更简单,只需与同一常数值进行比较,而且,维护成本低。

在本申请的另一个实施例中,测试服务端可以将不同的变量字段转换为不同的常数值,例如,将变量字段a转换为常数值1,将变量字段b转换为常数值2。还可以将一个以上的变量字段转换为同一个常数值,例如,变量字段c和d转换为常数值3。此种方式,通过为不同的变量字段赋予不同的常数值,实现区分变量字段的目的,进一步还可以赋予其它的校验功能。

s270,测试服务端依据常量字段对应的校验规则,对该第一类常量数据及常量字段所包含的第二类常量数据的数据内容进行校验,得到常量校验结果。

对于常量字段的校验规则是校验该常量字段所包含数据的数据内容是否是规定的内容,其中,数据内容是指该字段所包含的内容,例如,时间戳字段timestamp=1534993001,则“1534993001”为时间戳字段的数据内容。

例如,该常量字段所包含数据的数据内容是某一常量a,如果该常量字段的数据内容是“a”则表明该常量字段正确;如果该常量字段的数据内容不是“a”,则表明该常量字段不正确。

在本申请的一个实施例中,当前版本客户端由上一版本客户端进行代码修改得到,借助该方法完成回归测试,此种应用场景下,常量数据的校验过程如下:

将当前版本客户端产生的待测试操作事件数据对应的第一类常量数据的数据内容与上一版本的客户端在此场景(即针对同一操作)产生的第一类常量数据进行比较,若两个版本的第一类常量数据的数据内容相同,则表明代码修改未影响该操作事件数据。如果两个版本对应的第一类常量数据的数据内容不同,则第一类常量数据校验失败,表明代码修改影响了该操作事件数据。

以及,对比所述当前版本客户端产生的第二类常量数据的数据内容与上一版本客户端在此场景(即针对同一操作)产生的第二类常量数据的数据内容是否相同;若相同,则确定该第二类常量数据正确;若不同,则确定该第二类常量数据不正确。

其中,根据当前版本客户端的版本号确定出上一版本客户端的版本号,然后,根据上一版本客户端的版本号查找到上一版本客户端对应的操作事件数据,进而查找到同一操作请求对应的常量数据,即,相同场景产生的第一类常量数据和第二类常量数据。

s280,依据变量校验结果和常量校验结果得到操作事件数据的测试结果。

变量校验结果和常量校验结果均正确,则表明待测试操作事件数据正确;变量校验结果和常量校验结果任意一个不正确,则表明该待测试操作事件数据不正确。

例如,针对同一客户端的两个版本的同一控件,将用新版本点击该控件得到的操作事件数据与旧版本点击该控件得到的操作事件数据进行对比,如果对比结果一致,说明两个版本的代码修改未影响该操作事件数据。

本实施例提供的软件的操作事件数据的测试方法,测试服务端获取当前版本客户端产生的待测试操作事件数据,并依据已存储的各个字段的校验规则对该待测试操作事件数据中的各个字段进行校验得到该待测试操作事件数据对应的测试结果。该测试过程由测试服务自动完成,不需要人工逐个去比较,从而极大地降低了人工成本及出错率。而且,利用该测试方法测试服务端只需维护所有字段的校验规则,与维护一整条操作事件数据所包含的各个字段的校验规则的组合相比,字段的种类数量远远低于多个字段组合后的数量,因此降低了测试服务端的维护成本。

相应于上述的软件的操作事件数据的测试方法实施例,本发明还提供了软件的操作事件数据的测试装置实施例。

请参见图4,示出了本发明提供了一种软件的操作事件数据的测试装置的框图,该装置应用于测试服务端,该测试服务端存储有操作事件数据所包含的各个字段的校验规则,如图4所示,该装置包括:获取模块110和校验模块120。

获取模块110,用于获取当前版本客户端对应的待测试操作事件数据。

待测试操作事件数据包括当前版本客户端根据检测到的针对页面控件的操作事件所产生的操作请求,以及目标服务平台返回的与该操作请求对应的响应数据。

在本申请的一个实施例中,所述目标服务平台能够为不同时刻接收到的同一类型的操作请求提供相同的响应数据。例如,目标服务平台由mock平台实现,mock平台具有指定接口通过设置不同参数返回不同类型的mock数据的能力。

在本发明的一个实施例中,可以通过自动化脚本遍历点击客户端页面上的控件,产生一系列的点击操作,然后,依据该操作生成操作请求。这些请求可以由客户端自身响应,也可以由服务端响应。本发明以由服务端响应该操作请求为例进行说明。例如,获取模块110包括获取子模块和发送子模块。

该获取子模块,用于获取遍历操作当前版本客户端的页面控件所产生的操作数据,并依据操作数据产生操作请求。

该发送子模块,用于发送操作请求,并接收服务端返回的与操作请求相对应的响应数据。

校验模块120,用于依据各个字段的校验规则,对该待测试操作事件数据所包含的各个字段进行校验,得到该待测试操作事件数据的测试结果。

在本发明的一个实施例中,待测试操作事件数据包括变量字段和常量字段,测试服务端对待测试操作事件数据中的变量字段和常量字段分别进行校验,得到相应的校验结果。

其中,所述校验模块120包括:提取子模块、变量校验子模块、数据转换子模块、常量校验子模块和获得子模块。

该提取子模块,用于从该待测试操作事件数据中提取出变量字段和常量字段。

该变量校验子模块,用于依据变量字段对应的校验规则,对变量字段所包含数据的数据格式进行校验,得到变量校验结果。

该变量校验子模块用于校验变量字段所包含数据的数据格式是否符合对应的字段规则,若待测试操作事件数据中的全部变量字段的数据格式均符合对应的字段规则,则确定该待测试操作事件数据中的变量数据正确;若该待测试操作事件数中任意一个变量字段的数据格式不符合对应的字段规则,则确定该待测试操作事件数据中的变量数据不正确。

该数据转换子模块,用于将变量字段包含的数据转换为第一类常量数据。

把变量数据转换为常量数据时,将变量字段包含的数据赋予一个固定的数值,但并不删除该变量字段的原有数据,以便后续根据转换得到的常量数据判断待测试操作事件数据中是否缺失某些变量字段。

在本申请的一个实施例中,测试服务端可以将所有变量字段的数据都转换为同一预设的常数值。

在本申请的另一个实施例中,测试服务端可以将不同的变量字段转换为不同的常数值。

该常量校验子模块,用于依据常量字段对应的校验规则,对第一类常量数据的数据内容,以及常量字段所包含的第二类常量数据的数据内容进行校验,得到常量校验结果。

常量字段是操作事件数据中针对不同时刻的操作,其数据不易发生变化的字段。即,同一类型的操作请求对应的同一常量字段的数据内容固定不变,因此,通过比较常量字段的数据内容与该常量字段所对应的正确数据内容是否相同得到该常量字段的校验结果。

在回归测试的应用场景中,通过比较两个版本客户端在同一类型的操作(即,相同场景)所对应的第一类常量数据(或第二类常量数据)的数据内容是否相同,如果相同,则表明代码修改未影响该操作事件数据;如果不相同,则表明代码修改影响了该操作事件数据。

获得子模块,用于依据所述常量校验结果和所述变量校验结果得到所述测试结果。

如果变量校验结果和常量校验结果均正确,则确定该待测试操作事件数据正确;如果变量校验结果和常量校验结果任意一个不正确,则确定该待测试操作事件数据不正确。

本实施例提供的软件的操作事件数据的测试装置,测试服务端获取当前版本客户端产生的待测试操作事件数据,并依据已存储的各个字段的校验规则对该待测试操作事件数据中的各个字段进行校验得到该待测试操作事件数据对应的测试结果。该测试过程由测试服务自动完成,不需要人工逐个去比较,从而极大地降低了人工成本及出错率。而且,利用该测试方法测试服务端只需维护所有字段的校验规则,与维护一整条操作事件数据所包含的各个字段的校验规则的组合相比,字段的种类数量远远低于多个字段组合后的数量,因此降低了测试服务端的维护成本。

另一方面,本发明还提供了一种用于实现软件的操作事件数据的测试方法的测试服务器,该测试服务器包括处理器和存储器;

存储器内存储有处理器可执行的程序指令。其中,存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。

处理器用于执行存储器内存储的程序指令以实现上述的软件的操作事件数据的测试方法实施例。

其中,本文中的处理器可以是cpu、mcu或者dsp,或者,还可以是cpu、mcu和dsp中的至少两个结合得到。

对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本申请各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。

本申请各实施例中的装置及终端中的模块和子模块可以根据实际需要进行合并、划分和删减。

本申请所提供的几个实施例中,应该理解到,所揭露的终端,装置和方法,可以通过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,模块或子模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个子模块或模块可以结合或者可以集成到另一个模块,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的模块或子模块可以是或者也可以不是物理上分开的,作为模块或子模块的部件可以是或者也可以不是物理模块或子模块,即可以位于一个地方,或者也可以分布到多个网络模块或子模块上。可以根据实际的需要选择其中的部分或者全部模块或子模块来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能模块或子模块可以集成在一个处理模块中,也可以是各个模块或子模块单独物理存在,也可以两个或两个以上模块或子模块集成在一个模块中。上述集成的模块或子模块既可以采用硬件的形式实现,也可以采用软件功能模块或子模块的形式实现。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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