软件接口测试参数的验证方法及系统与流程

文档序号:16207939发布日期:2018-12-08 07:21阅读:464来源:国知局
软件接口测试参数的验证方法及系统与流程

本发明涉及接口自动化测试技术领域,具体涉及一种软件接口测试参数的验证方法及系统。

背景技术

软件接口是软件系统提供给内部或外部使用的一套功能方法,软件接口信息包括方法名称(即接口输出的数据对象操作名称)、输入参数和输出参数,1个方法对应0个以上的输入参数和若干个输出参数。为了保证软件接口的正常使用,需要对软件接口进行测试。

传统的软件接口测试方法为:软件接口测试执行之后,会输出一个数据对象集合,数据对象集合中包含0个以上的数据对象,每个数据对象包含若干个输出参数,每个输出参数对应数据对象的1个属性的测试值;人工逐一核对每个输出参数的正确性,具体为核对数据对象集合中的数据对象数量是否正确、数据对象的每个属性的测试值是否正确。

但是,当软件接口的方法较多时,会存在大量的输出参数,每个输出参数又会有多个属性测试值,此时人工逐一核对每个输出参数的正确性的过程非常繁琐,不仅测试效率较低,而且测试精度难以保障。



技术实现要素:

针对现有技术中存在的缺陷,本发明解决的技术问题为:如何简化软件接口的测试过程,本发明不仅测试效率较高,而且能够保证测试精度。

为达到以上目的,本发明提供的软件接口测试参数的验证方法,包括以下步骤:

s1:在被测试接口的数据源中,获取被测试接口的每个属性对应的源数据,根据源数据生成该属性的期望值,根据所有属性的期望值形成期望结果集合,转到s2;

s2:将期望结果集合中每个属性的期望值,与测试结果文件中对应属性的测试值进行比对后,生成具备差异信息的验证文件。

在上述技术方案的基础上,s1中在被测试接口的数据源中,获取被测试接口的每个属性对应的源数据,根据源数据生成该属性的期望值的流程包括:当属性存在固定值时,将固定值作为该属性的期望值;当属性不存在固定值时,在被测试接口的数据源中,获取被测试接口的每个属性对应的源数据,根据源数据生成该属性的期望值。

在上述技术方案的基础上,s1中所述根据所有属性的期望值形成期望结果集合的流程包括:将被测试接口的每个数据对象和对应的所有属性的期望值进行关联,将所有数据对象及其关联的期望值形成期望结果集合。

在上述技术方案的基础上,s2中所述测试结果文件包括被测试接口的至少1个数据对象、以及数据对象的每个属性的测试值;s2的流程包括:遍历测试结果文件中的每个属性测试值,当遍历到的属性测试值与期望结果集合中的属性期望值不同时,在缓存的测试结果文件中,将属性测试值替换对应的属性期望值;所有属性测试值遍历完成后,将缓存中的测试结果文件保存为期望结果文件;将测试结果文件多于期望结果集合的数据对象、以及测试结果文件少于期望结果集合的数据对象,均保存至比对报告文件;根据比对报告文件和期望结果文件形成验证文件。

在上述技术方案的基础上,s2的具体流程包括:

s201:将测试结果文件缓存为测试中间文件,遍历测试中间文件中的所有数据对象,判断期望结果集合中是否存在与遍历到的当前数据对象相同的数据对象,若是,将期望结果集合中对应的数据对象进行匹配标记,转到s202,否则将当前数据对象记录为多余项,转到s204;

s202:在测试中间文件中遍历当前数据对象的所有属性的测试值,判断遍历到的属性测试值,是否与期望结果集合中对应属性的期望值相同,若是,转到s204,否则转到s203;

s203:在测试中间文件中,将遍历到的属性的测试值,替换为期望结果集合中对应属性的期望值,转到s204;

s204:当测试中间文件中的所有数据对象、以及每个数据对象对应的所有属性均遍历完成后,将测试中间文件保存为期望结果文件;当期望结果集合存在未进行匹配标记的数据对象时,将所有未进行匹配标记的数据对象记录为缺失项,转到s205;

s205:将所有多余项和缺失项均记录在比对报告文件中,根据比对报告文件和期望结果文件形成验证文件。

本发明提供的软件接口测试参数的验证系统,包括期望结果集合生成模块和测试验证模块:

期望结果集合生成模块用于:在被测试接口的数据源中,获取被测试接口的每个属性对应的源数据,根据源数据生成该属性的期望值,根据所有属性的期望值形成期望结果集合,向测试验证模块发送测试验证信号;

测试验证模块用于:收到测试验证信号后,将期望结果集合中每个属性的期望值,与测试结果文件中对应属性的测试值进行比对后,生成具备差异信息的验证文件。

在上述技术方案的基础上,所述期望结果集合生成模块在被测试接口的数据源中,获取被测试接口的每个属性对应的源数据,根据源数据生成该属性的期望值的流程包括:当属性存在固定值时,将固定值作为该属性的期望值;当属性不存在固定值时,在被测试接口的数据源中,获取被测试接口的每个属性对应的源数据,根据源数据生成该属性的期望值。

在上述技术方案的基础上,所述期望结果集合生成模块根据所有属性的期望值形成期望结果集合的流程包括:将被测试接口的每个数据对象和对应的所有属性的期望值进行关联,将所有数据对象及其关联的期望值形成期望结果集合。

在上述技术方案的基础上,所述测试验证模块中的测试结果文件包括被测试接口的至少1个数据对象、以及数据对象的每个属性的测试值;测试验证模块的流程包括:遍历测试结果文件中的每个属性测试值,当遍历到的属性测试值与期望结果集合中的属性期望值不同时,在缓存的测试结果文件中,将属性测试值替换对应的属性期望值;所有属性测试值遍历完成后,将缓存中的测试结果文件保存为期望结果文件;将测试结果文件多于期望结果集合的数据对象、以及测试结果文件少于期望结果集合的数据对象,均保存至比对报告文件;根据比对报告文件和期望结果文件形成验证文件。

在上述技术方案的基础上,所述测试验证模块的具体流程包括:

测试验证模块01:将测试结果文件缓存为测试中间文件,遍历测试中间文件中的所有数据对象,判断期望结果集合中是否存在与遍历到的当前数据对象相同的数据对象,若是,将期望结果集合中对应的数据对象进行匹配标记,转到测试验证模块02,否则将当前数据对象记录为多余项,转到测试验证模块04;

测试验证模块02:在测试中间文件中遍历当前数据对象的所有属性的测试值,判断遍历到的属性测试值,是否与期望结果集合中对应属性的期望值相同,若是,转到测试验证模块04,否则转到测试验证模块03;

测试验证模块03:在测试中间文件中,将遍历到的属性的测试值,替换为期望结果集合中对应属性的期望值,转到测试验证模块04;

测试验证模块04:当测试中间文件中的所有数据对象、以及每个数据对象对应的所有属性均遍历完成后,将测试中间文件保存为期望结果文件;当期望结果集合存在未进行匹配标记的数据对象时,将所有未进行匹配标记的数据对象记录为缺失项,转到测试验证模块05;

测试验证模块05:将所有多余项和缺失项均记录在比对报告文件中,根据比对报告文件和期望结果文件形成验证文件。

与现有技术相比,本发明的优点在于:

(1)参见本发明方法的s1和s2可知,本发明能够自动生成包含被测试接口所有属性期望值的期望结果集合,之后通过期望结果集合中的属性期望值,与被测试接口调用后得到的测试结果文件的属性测试值进行自动对比,即可得出具备差异信息的验证文件;与现有技术中人工逐一核对每个输出参数的正确性相比,本发明使得测试人员能够直接根据验证文件中的差异信息快速而清楚的知晓具体问题,进而显著提高了测试效率、测试精度、以及测试用例覆盖率。

进一步,参见本发明的s2的具体流程可知,本发明进行期望结果集合和测试结果文件对比时,还通过数据对象的差异得出了测试结果文件中的多余项和缺失项,进而使得操作人员能够根据验证文件中的多余项和缺失项,对被测试接口进行具体问题定位。

(2)参见本发明s2的具体流程可知,本发明生成的期望结果文件直接由缓存的测试结果文件另存得到,因此期望结果文件和测试结果文件的对象排序相同,这非常方便测试人员能够迅速发现测试结果与期望结果不一致之处,进而提高了问题定位效率。

附图说明

图1为本发明实施例中软件接口测试参数的验证方法的流程图;

图2为本发明实施例四中s1的流程图;

图3为本发明实施例六中s2的流程图。

具体实施方式

以下结合附图及实施例对本发明作进一步详细说明。

参见图1所示,本发明实施例中的软件接口测试参数的验证方法,包括以下步骤:

s1:被测试接口生成后,会有一张被测试接口的参数表,其中包括被测试接口的所有数据对象、以及每个数据对象的所有属性;在被测试接口的数据源中,获取参数表中被测试接口的每个属性对应的源数据,根据源数据生成该属性的期望值(期望值可能来自于不同的数据源),根据所有属性的期望值形成期望结果集合,转到s2。

s2:将期望结果集合中每个属性的期望值,与测试结果文件(测试结果文件在被测试接口调用后得到)中对应属性的测试值进行比对后,生成具备差异信息的验证文件;测试人员能够根据验证文件中的差异信息快速和清楚地知晓具体信息,进而能够及时做出相应的处理。

下面通过六个实施例说明本发明的方法。

实施例一:

s1中的期望结果集合中包括被测试接口所有属性的期望值、以及每个属性所属的数据对象(以键值进行标识,数据对象可直接在参数表中获取),即期望结果集合中包括若干数据对象,每个数据对象又包括若干属性的期望值。

s2中的测试结果文件包括被测试接口的至少1个数据对象(为了简化后续比对,数据对象在文件中以键值进行标识)、以及数据对象的每个属性的测试值。

实施例二:

在实施例一的基础上,s1中被测试接口的数据源包括被测试接口所属系统的数据库、被测试接口所属系统的数据文件(例如静态数据,协议文件等)、以及被测试接口所属系统的用户访问界面。

实施例三:

s1中在被测试接口的数据源中,获取被测试接口的每个属性对应的源数据,根据源数据生成该属性的期望值的流程包括:

当属性存在固定值时,直接将固定值作为该属性的期望值;

当属性不存在固定值、且对应的源数据位于数据库中时,从数据库中提取该属性对应的源数据后(在当前自动化测试工具中提供可重复使用的系统数据库连接,在需要访问系统数据库时,随时获取该连接,仅使用该连接进行数据库查询相关操作),将源数据转化为该属性的期望值,转化过程为现有过程,在被测试接口创建后,即可自动完成该过程;

当属性不存在固定值、且对应的源数据位于数据文件中时,解析数据文件后提取该属性对应的源数据,将源数据转化为该属性的期望值;

当属性不存在固定值、且对应的源数据位于用户访问界面中时,从用户访问界面中提取该属性对应的源数据后(可通过自行开发的或第三方支持的工具模拟用户访问系统界面,在系统提供的用户访问界面进行相关查询操作模拟,并调用相关功能函数将所需的界面源数据提取出来),将源数据转化为该属性的期望值。

实施例四:

在实施例三的基础上,参见图2所示,s1的具体流程包括:

s101:遍历被测试接口的每个属性,根据遍历到的属性对应的源数据,生成该属性的期望值,转到s102。

s102:将被测试接口的每个数据对象和对应的所有属性的期望值进行关联,将所有数据对象及其关联的期望值形成期望结果集合。

实施例五:

在实施例一的基础上,s2的流程包括:

遍历测试结果文件中的每个属性测试值,当遍历到的属性测试值与期望结果集合中的属性期望值不同时,在缓存的测试结果文件中,将属性测试值替换对应的属性期望值;所有属性测试值遍历完成后,将缓存中的测试结果文件保存为期望结果文件;

将测试结果文件中的数据对象数量,期望结果集合中的数据对象数量,测试结果文件多于期望结果集合的数据对象(记录为多余项),以及测试结果文件少于期望结果集合的数据对象(记录为缺失项),均保存至比对报告文件;

根据比对报告文件和期望结果文件形成验证文件,比对报告文件中的多余项、缺失项,以及期望结果文件中替换的属性期望值,均为差异信息。操作人员可通过测试结果文件和期望结果集合中的数据对象数量,可得知被测试接口的数据对象数量的准确性;通过多余项、缺失项以及通过将期望结果文件与测试结果文件进行比对,可得知差异数据,进而定位被测试接口存在的问题。

实施例六:

在实施例五的基础上,参见图3所示,s2的具体流程包括:

s201:将测试结果文件缓存为测试中间文件,遍历测试中间文件中的所有数据对象,判断期望结果集合中是否存在与遍历到的当前数据对象相同的数据对象(此时直接通过键值是否相同进行判断,简洁明了),若是,将期望结果集合中对应的数据对象进行匹配标记,表示该对象被匹配过,即测试中间文件和期望结果集合中均存在该键值的对象,转到s202,否则将当前数据对象记录为多余项(即调用被测接口不应该出现的测试结果项),将当前测试项(即被测试接口被调用的项目)的测试结论记录为不通过,转到s204。

s202:在测试中间文件中遍历当前数据对象的所有属性的测试值,判断遍历到的属性测试值,是否与期望结果集合中对应属性的期望值相同,若是,转到s204,否则转到s203。

s203:在测试中间文件中,将遍历到的属性的测试值,替换为期望结果集合中对应属性的期望值,将当前测试项的测试结论记录为不通过,转到s204。

s204:当测试中间文件中的所有数据对象、以及每个数据对象对应的所有属性均遍历完成后,将测试中间文件保存为期望结果文件;当期望结果集合存在未进行匹配标记的数据对象时(若所有数据对象均进行过匹配标记,则不进行任何处理),将所有未进行匹配标记的数据对象记录为缺失项(即应该在被测接口调用后输出的对象);同时设置该项测试结论为测试不通过,转到s205。

s205:将测试结果文件中的数据对象数量、期望结果集合中的数据对象数量、以及所有多余项和缺失项,均记录在比对报告文件中,将当前测试项的测试结论(当测试结果文件中的数据对象数量与期望结果集合不同时,测试结论也为不通过)、比对报告文件和期望结果文件形成验证文件。

实际应用时,s205中比对报告文件的记录信息可在所有数据对象及其属性遍历完成后统一记录,也可在遍历过程中确定信息后即时记录(例如确定一条多余项则记录一条)。

由此可知,操作人员可根据当前测试项的测试结论得知被测试接口是否通过测试,若未通过,则通过对比报告文件中的多余项和缺失项,可对被测试接口进行具体问题定位,通过期望结果文件和测试结果文件的比对,可得知被测试接口的哪些数据对象的属性需要调整。

本发明实施例中的软件接口测试参数的验证系统,包括期望结果集合生成模块和测试验证模块。

期望结果集合生成模块用于:当属性存在固定值时,将固定值作为该属性的期望值;当属性不存在固定值时,在被测试接口的数据源中,获取被测试接口的每个属性对应的源数据,根据源数据生成该属性的期望值;将被测试接口的每个数据对象和对应的所有属性的期望值进行关联,将所有数据对象及其关联的期望值形成期望结果集合;向测试验证模块发送测试验证信号。

测试验证模块用于:收到测试验证信号后,将期望结果集合中每个属性的期望值,与测试结果文件(测试结果文件包括被测试接口的至少1个数据对象、以及数据对象的每个属性的测试值)中对应属性的测试值进行比对后,生成具备差异信息的验证文件。

测试验证模块的流程包括:遍历测试结果文件中的每个属性测试值,当遍历到的属性测试值与期望结果集合中的属性期望值不同时,在缓存的测试结果文件中,将属性测试值替换对应的属性期望值;所有属性测试值遍历完成后,将缓存中的测试结果文件保存为期望结果文件;将测试结果文件多于期望结果集合的数据对象、以及测试结果文件少于期望结果集合的数据对象,均保存至比对报告文件;根据比对报告文件和期望结果文件形成验证文件。

测试验证模块的具体流程包括:

测试验证模块01:将测试结果文件缓存为测试中间文件,遍历测试中间文件中的所有数据对象,判断期望结果集合中是否存在与遍历到的当前数据对象相同的数据对象,若是,将期望结果集合中对应的数据对象进行匹配标记,转到测试验证模块02,否则将当前数据对象记录为多余项,转到测试验证模块04;

测试验证模块02:在测试中间文件中遍历当前数据对象的所有属性的测试值,判断遍历到的属性测试值,是否与期望结果集合中对应属性的期望值相同,若是,转到测试验证模块04,否则转到测试验证模块03;

测试验证模块03:在测试中间文件中,将遍历到的属性的测试值,替换为期望结果集合中对应属性的期望值,转到测试验证模块04;

测试验证模块04:当测试中间文件中的所有数据对象、以及每个数据对象对应的所有属性均遍历完成后,将测试中间文件保存为期望结果文件;当期望结果集合存在未进行匹配标记的数据对象时,将所有未进行匹配标记的数据对象记录为缺失项,转到测试验证模块05;

测试验证模块05:将所有多余项和缺失项均记录在比对报告文件中,根据比对报告文件和期望结果文件形成验证文件。

需要说明的是:本发明实施例提供的系统在进行模块间通信时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

进一步,本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

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