接口测试案例的生成方法、装置、设备及存储介质与流程

文档序号:18884483发布日期:2019-10-15 20:40阅读:157来源:国知局
接口测试案例的生成方法、装置、设备及存储介质与流程

本发明涉及金融科技(fintech)技术领域,尤其涉及接口测试案例的生成方法、装置、设备及计算机可读存储介质。



背景技术:

随着计算机技术的发展,越来越多的技术(大数据、分布式、区块链blockchain、人工智能等)应用在金融领域,传统金融业正在逐步向金融科技(fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。对于银行业务系统,一般均需要进行接口测试,其中,接口测试主要测试的是数据的交换。接口测试主要通过接口测试案例进行测试。现有的接口测试案例一般是人工进行单条编写,而且依赖于测试人员的工作经验和技术能力,限制了接口测试案例的多样性、复杂性和完备性。因此,现有接口测试案例不仅编写效率低下,而且案例测试准确性较低。



技术实现要素:

本发明的主要目的在于提出一种接口测试案例的生成方法、装置、设备及计算机可读存储介质,旨在解决现有接口测试案例编写效率低下以及案例测试准确性较低的技术问题。

为实现上述目的,本发明提供一种接口测试案例的生成方法,所述接口测试案例的生成方法包括如下步骤:

在接收到测试请求时,确定所述测试请求对应的目标接口文档,并获取所述目标接口文档中的各个请求参数字段;

根据所述各个请求参数字段的字段类型,确定所述各个请求参数字段对应的预设字段取值范围,并根据所述测试请求对应的测试类型,确定所述各个请求参数字段的目标取值规则;

根据所述目标取值规则,在所述各个请求参数字段对应的字段取值范围内取出对应的目标值,并根据所述目标值对所述各个请求参数字段进行赋值,生成对应的接口测试案例。

可选地,所述根据所述各个请求参数字段的字段类型,确定所述各个请求参数字段对应的预设字段取值范围,并根据所述测试请求对应的测试类型,确定所述各个请求参数字段的取值规则的步骤具体包括:

根据所述各个请求参数字段的字段类型,在预设数据库中确定所述各个请求参数字段对应的预设字段取值范围;

根据所述测试请求对应的测试类型,在所述全字段测试类型、必选字段测试类型以及各字段测试类型中确定所述目标测试类型;

根据所述目标测试类型在所述全字段取值规则、必选字段取值规则以及各字段取值规则中确定所述目标取值规则。

可选地,所述根据所述目标取值规则,在所述各个请求参数字段对应的字段取值范围内取出对应的目标值,并根据所述目标值对所述各个请求参数字段进行赋值,生成对应的接口测试案例的步骤具体包括:

若所述目标取值规则为全字段取值规则,则在所述各个请求参数字段对应的字段取值范围内取出对应的安全值,作为所述目标值;

根据所述各个请求参数字段对应的目标值,对所述各个请求参数字段进行赋值,生成全字段测试案例,作为所述接口测试案例。

可选地,所述根据所述目标取值规则,在所述各个请求参数字段对应的字段取值范围内取出对应的目标值,并根据所述目标值对所述各个请求参数字段进行赋值,生成对应的接口测试案例的步骤具体包括:

若所述目标取值规则为必选字段取值规则,则根据必选字段标识在所述各个请求参数字段中确定必选参数字段,并将所述必选参数字段依次添加至必选参数字段队列;

在其他非必选参数字段以及所述必选参数字段对应的字段取值范围内取出对应的安全值,作为所述目标值,并根据所述目标值对所述其他非必选参数字段以及必选参数字段进行赋值,生成第一测试案例;

根据所述必选参数字段队列中的字段顺序,依次将所述必选参数字段队列中的各个必选参数字段作为待测必选参数字段;

将所述待测必选参数字段赋值为空值,并将所述待测必选参数字段之外的其他必选参数字段以及所述其他非必选参数字段赋值为对应的安全值,生成所述各个待测必选参数字段对应的待测必选字段测试案例,其中,所述待测必选字段测试案例的个数等于所述必选参数字段的个数;

根据各个待测必选字段测试案例和所述第一测试案例,生成必选字段测试案例,作为所述接口测试案例。

可选地,所述根据所述目标取值规则,在所述各个请求参数字段对应的字段取值范围内取出对应的目标值,并根据所述目标值对所述各个请求参数字段进行赋值,生成对应的接口测试案例的步骤具体包括:

若所述目标取值规则为各字段取值规则,依次获取所述各个请求参数字段,作为目标参数字段;

在所述目标参数字段对应的字段取值范围内取出对应的目标值,其中,所述目标值包括超长参数值、上边界值、下边界值、空值和其他类型参数值中的至少一种;

根据所述目标值对所述目标参数字段进行赋值,将所述目标参数字段之外的其他请求参数字段赋值为安全值,生成所述各个请求参数字段对应的待测各字段测试案例;

根据各个待测各字段测试案例生成各字段测试案例,作为所述接口测试案例,其中,所述待测各字段测试案例的个数等于所述各个请求参数字段的个数。

可选地,所述接口测试案例的生成方法还包括:

根据所述接口测试案例、服务id、服务场景号以及案例执行逻辑,生成接口测试案例集,并将所述接口测试案例集进行存储;

根据测试类型、预设报告模板以及所述接口测试案例集的测试结果,生成并显示对应的测试报告。

可选地,所述根据测试类型、预设报告模板以及所述接口测试案例集的执行结果,生成并显示对应的测试报告的步骤之后,还包括:

在接收到用户基于所述测试报告触发的调整指令时,将所述接口测试案例集进行对应调整和修复,以优化所述接口测试案例集。

可选地,所述在接收到测试请求时,确定所述测试请求对应的目标接口文档的步骤具体包括:

在接收到测试请求时,获取所述测试请求中的页面请求,根据所述页面请求在文件服务器中确定对应的目标接口文档,其中,所述页面请求包括http或post。

此外,为实现上述目的,本发明还提供一种接口测试案例的生成装置,所述接口测试案例的生成装置包括:

参数字段获取模块,用于在接收到测试请求时,确定所述测试请求对应的目标接口文档,并获取所述目标接口文档中的各个请求参数字段;

取值规则确定模块,用于根据所述各个请求参数字段的字段类型,确定所述各个请求参数字段对应的预设字段取值范围,并根据所述测试请求对应的测试类型,确定所述各个请求参数字段的目标取值规则;

测试案例生成模块,用于根据所述目标取值规则,在所述各个请求参数字段对应的字段取值范围内取出对应的目标值,并根据所述目标值对所述各个请求参数字段进行赋值,生成对应的接口测试案例。

可选地,所述取值规则确定模块具体包括:

取值范围确定单元,用于根据所述各个请求参数字段的字段类型,在预设数据库中确定所述各个请求参数字段对应的预设字段取值范围;

测试类型确定单元,用于根据所述测试请求对应的测试类型,在所述全字段测试类型、必选字段测试类型以及各字段测试类型中确定所述目标测试类型;

取值规则确定单元,用于根据所述目标测试类型在所述全字段取值规则、必选字段取值规则以及各字段取值规则中确定所述目标取值规则。

可选地,所述测试案例生成模块具体包括:

取值确定单元,用于若所述目标取值规则为全字段取值规则,则在所述各个请求参数字段对应的字段取值范围内取出对应的安全值,作为所述目标值;

字段赋值单元,用于根据所述各个请求参数字段对应的目标值,对所述各个请求参数字段进行赋值,生成全字段测试案例,作为所述接口测试案例。

可选地,所述测试案例生成模块具体还用于:

若所述目标取值规则为必选字段取值规则,则根据必选字段标识在所述各个请求参数字段中确定必选参数字段,并将所述必选参数字段依次添加至必选参数字段队列;

在其他非必选参数字段以及所述必选参数字段对应的字段取值范围内取出对应的安全值,作为所述目标值,并根据所述目标值对所述其他非必选参数字段以及必选参数字段进行赋值,生成第一测试案例;

根据所述必选参数字段队列中的字段顺序,依次将所述必选参数字段队列中的各个必选参数字段作为待测必选参数字段;

将所述待测必选参数字段赋值为空值,并将所述待测必选参数字段之外的其他必选参数字段以及所述其他非必选参数字段赋值为对应的安全值,生成所述各个待测必选参数字段对应的待测必选字段测试案例,其中,所述待测必选字段测试案例的个数等于所述必选参数字段的个数;

根据各个待测必选字段测试案例和所述第一测试案例,生成必选字段测试案例,作为所述接口测试案例。

可选地,所述测试案例生成模块具体还用于:

若所述目标取值规则为各字段取值规则,依次获取所述各个请求参数字段,作为目标参数字段;

在所述目标参数字段对应的字段取值范围内取出对应的目标值,其中,所述目标值包括超长参数值、上边界值、下边界值、空值和其他类型参数值中的至少一种;

根据所述目标值对所述目标参数字段进行赋值,将所述目标参数字段之外的其他请求参数字段赋值为安全值,生成所述各个请求参数字段对应的待测各字段测试案例;

根据各个待测各字段测试案例生成各字段测试案例,作为所述接口测试案例,其中,所述待测各字段测试案例的个数等于所述各个请求参数字段的个数。

可选地,所述参数字段获取模块还用于:

在接收到测试请求时,获取所述测试请求中的页面请求,根据所述页面请求在文件服务器中确定对应的目标接口文档,其中,所述页面请求包括http或post。

此外,为实现上述目的,本发明还提供一种接口测试案例的生成设备,所述接口测试案例的生成设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的接口测试案例的生成程序,所述接口测试案例的生成程序被所述处理器执行时实现如上所述的接口测试案例的生成方法的步骤。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有接口测试案例的生成程序,所述接口测试案例的生成程序被处理器执行时实现如上所述的接口测试案例的生成方法的步骤。

本发明在接收到测试请求时,确定所述测试请求对应的目标接口文档,并获取所述目标接口文档中的各个请求参数字段;根据所述各个请求参数字段的字段类型,确定所述各个请求参数字段对应的预设字段取值范围,并根据所述测试请求对应的测试类型,确定所述各个请求参数字段的目标取值规则;根据所述目标取值规则,在所述各个请求参数字段对应的字段取值范围内取出对应的目标值,并根据所述目标值对所述各个请求参数字段进行赋值,生成对应的接口测试案例。通过上述方式,本发明基于目标接口文档中的请求参数字段,结合参数字段的字段类型、预设字段取值范围以及字段取值规则,实现了案例的快速生成以及批量生成,提升了测试案例的多样性、完备性以及准确度,解决了现有接口测试案例编写效率低下以及案例测试准确性较低的技术问题。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;

图2为本发明接口测试案例的生成方法第一实施例的流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。

本发明实施例接口测试案例的生成设备可以是pc机或服务器设备,其上运行有java虚拟机。

如图1所示,该接口测试案例的生成设备可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及接口测试案例的生成程序。

在图1所示的设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的接口测试案例的生成程序,并执行下述接口测试案例的生成方法中的操作。

基于上述硬件结构,提出本发明接口测试案例的生成方法实施例。

参照图2,图2为本发明接口测试案例的生成方法第一实施例的流程示意图,所述接口测试案例的生成方法包括:

步骤s10,在接收到测试请求时,确定所述测试请求对应的目标接口文档,并获取所述目标接口文档中的各个请求参数字段;

现有的接口测试案例一般是人工进行单条编写,而且依赖于测试人员的工作经验和技术能力,限制了接口测试案例的多样性、复杂性和完备性。因此,现有接口测试案例不仅编写效率低下,而且案例测试准确性较低。为了解决上述问题,本实施例基于目标接口文档中的请求参数字段,结合参数字段的字段类型、预设字段取值范围以及字段取值规则,实现了案例的快速生成以及批量生成,提升了测试案例的多样性、完备性以及准确度。本实施中以实现rmb接口测试案例的生成为例进行说明,其中,rmb是一种自行开发的中间件消息协议。具体地,在接收到开发人员上传接口文档操作触发的测试请求时,确定所述测试请求对应的目标接口文档。其中,所述在接收到测试请求时,确定所述测试请求对应的目标接口文档的步骤具体包括:在接收到测试请求时,获取所述测试请求中的页面请求,根据所述页面请求在文件服务器中确定对应的目标接口文档,其中,所述页面请求包括http或post。为了提升数据安全性,开发人员可以将各个api接口文档,即目标接口文档,上传至内网的文件服务器中进行存储,并根据获取目标接口文档的页面请求链接http/post生成对应的测试请求。其中,目标接口文档为线上文档。获取所述目标接口文档中的服务id、服务场景号以及包括各个请求参数字段的请求参数表。

步骤s20,根据所述各个请求参数字段的字段类型,确定所述各个请求参数字段对应的预设字段取值范围,并根据所述测试请求对应的测试类型,确定所述各个请求参数字段的目标取值规则;

本实施例中,所述请求参数表包括各个请求参数字段的参数字段名、是否为必选字段、字段类型等。服务器的数据库中预先存储有各个参数字段对应的预设字段取值范围,其中,所述字段取值范围为预先自定义的各个字段类型对应的取值范围,如安全值、上边界值、下边界值、空值null、非本字段类型的参数值。根据预设数据库,确定所述各个请求参数的字段类型,如int、string、long、date、char、decimal等,然后根据所述字段类型,确定各个请求参数对应的字段取值范围。根据所述测试请求确定当前的测试类型。

其中,根据所述各个请求参数字段的字段类型,在预设数据库中确定所述各个请求参数字段对应的预设字段取值范围;

根据所述测试请求对应的测试类型,在所述全字段测试类型、必选字段测试类型以及各字段测试类型中确定所述目标测试类型;

根据所述目标测试类型在所述全字段取值规则、必选字段取值规则以及各字段取值规则中确定所述目标取值规则。

本实施例中,测试类型包括全字段测试类型、必选字段测试类型以及各字段测试类型,目标测试类型可以是其中任一种测试类型,也可以是任两种测试类型的结合,或者是三种测试类型的结合。其中,所述全字段测试类型、必选字段测试类型以及各字段测试类型分别对应全字段取值规则、必选字段取值规则以及各字段取值规则。根据所述目标测试类型在所述全字段取值规则、必选字段取值规则以及各字段取值规则确定至少一种规则作为目标取值规则。其中,所述全字段取值规则、必选字段取值规则以及各字段取值规则均为预先自定义的取值规则,还可以进一步定义取值顺序等。

步骤s30,根据所述目标取值规则,在所述各个请求参数字段对应的字段取值范围内取出对应的目标值,并根据所述目标值对所述各个请求参数字段进行赋值,生成对应的接口测试案例。

本实施例中,根据所述目标取值规则,在所述各个请求参数字段各自对应的字段取值范围内取出一字段值,作为所述各个请求参数字段对应的目标值。根据所述各个请求参数字段对应的目标值,对所述各个请求参数字段进行赋值,从而根据赋值的各个请求参数字段,作为接口测试案例,以对rmb中的各个接口进行测试。

进一步地,所述步骤s30之后,还包括:

根据所述接口测试案例、服务id、服务场景号以及案例执行逻辑,生成接口测试案例集,并将所述接口测试案例集进行存储;

根据测试类型、预设报告模板以及所述接口测试案例集的测试结果,生成并显示对应的测试报告。

本实施例中,执行完所述接口测试案例后,创建一个由服务id、服务场景号命名的目录,目录中包含上述所有生成的接口测试案例,由此生成接口测试案例集。通过上述方式,本实施例中完成了对rmb接口测试案例的创建、存储、执行,进一步地,本实施例还包括测试案例的报告输出,即通过所述接口测试案例的测试类型,在预先设定的报告模板确定对应的类型报告模板。并将所述接口测试案例集产生的测试结果,即测试参数字段以及对应的赋值,加上断言验证的结果,填写至对应类型报告模板的对应区域,生成对应的测试报告。具体实施例中,本方案生成的案例支持冒烟测试、回归测试、集成测试、功能测试、性能测试。通过进行不同的参数配置来完成上述各个阶段的测试。每种测试完成后,生成不同结果的测试报告。本实施例中的测试案例方法可以支持简单json体、复杂json体、http的body、url参数等多种形式。由此,对基于json/httpbody/url等格式请求报文的自动化的完成案例生成,以及案例生成方法在冒烟、回归、集成、功能以及性能等各测试阶段的整个自动化闭环流程保护,即无需外界干预。

进一步地,所述根据测试类型、预设报告模板以及所述接口测试案例集的执行结果,生成并显示对应的测试报告的步骤之后,还包括:

在接收到用户基于所述测试报告触发的调整指令时,将所述接口测试案例集进行对应调整和修复,以优化所述接口测试案例集。

本实施例中,接口测试案例集还可以进一步支持用户增、删、改、查、导入、导出测试案例。具体可以是人工复查测试案例集中的测试案例以及对应的测试结果,根据所述测试结果可以对应增加、删除、修改其中的测试案例,并可以根据测试案例的案例号查询相应的想滚测试案例进行精准修改,或者是导入其他测试案例集中的测试案例,或者将本测试案例集中的测试案例导出至其他测试案例集中等。从而节省测试案例的生成资源,提升各个测试案例集的案例生成效率,提升各个测试案例集的完整度。更多实施例中,通过输入线程数、循环数还可以生成冒烟测试或性能测试对应的测试案例。其中,冒烟测试的线程数=1,循环数=1;性能测试的线程数=m,循环数=n。m和n分别取不同的值,回归性能测试的时候,这个m和n为性能结果测试出的最优性能下的线程数和循环数。首次测试的话,用m=10,然后m=20,40,60,80,即根据20的标准依次递增。

本实施例在接收到测试请求时,确定所述测试请求对应的目标接口文档,并获取所述目标接口文档中的各个请求参数字段;根据所述各个请求参数字段的字段类型,确定所述各个请求参数字段对应的预设字段取值范围,并根据所述测试请求对应的测试类型,确定所述各个请求参数字段的目标取值规则;根据所述目标取值规则,在所述各个请求参数字段对应的字段取值范围内取出对应的目标值,并根据所述目标值对所述各个请求参数字段进行赋值,生成对应的接口测试案例。通过上述方式,本发明基于目标接口文档中的请求参数字段,结合参数字段的字段类型、预设字段取值范围以及字段取值规则,实现了案例的快速生成以及批量生成,提升了测试案例的多样性、完备性以及准确度,解决了现有接口测试案例编写效率低下以及案例测试准确性较低的技术问题。

进一步地,基于本发明接口测试案例的生成方法第一实施例,提出本发明接口测试案例的生成方法第二实施例。

在本实施例中,所述步骤s30具体包括:

若所述目标取值规则为全字段取值规则,则在所述各个请求参数字段对应的字段取值范围内取出对应的安全值,作为所述目标值;

根据所述各个请求参数字段对应的目标值,对所述各个请求参数字段进行赋值,生成全字段测试案例,作为所述接口测试案例。

本实施例中,若所述测试类型为单个的全字段测试类型,则所述目标取值规则即为全字段取值规则,其中,所述全字段取值规则即为根据所述各个请求参数字段对应的安全值,对各个请求参数字段进行对应赋值,生成一组全字段测试案例,也就是一组标准案例。其中,所述安全值为rmb报文内各个参数字段的合法取值,不同参数字段类型对应不同的合法取值。安全值属于请求参数字段对应的预定义字段取值范围内的其中一种值。该组标准案例中包含待测试接口的所有的参数字段,即目标接口文档中的全部请求参数字段,且各个请求参数字段的取值都是取各自请求参数字段类型内的安全值。通过所述全字段测试案例对所述各个请求参数字段进行标准化测试,即判断各个请求参数字段赋值安全值时,是否能正常执行。

进一步地,基于本发明接口测试案例的生成方法第一实施例,提出本发明接口测试案例的生成方法第三实施例。

在本实施例中,所述步骤s30具体包括:

若所述目标取值规则为必选字段取值规则,则根据必选字段标识在所述各个请求参数字段中确定必选参数字段,并将所述必选参数字段依次添加至必选参数字段队列;

在其他非必选参数字段以及所述必选参数字段对应的字段取值范围内取出对应的安全值,作为所述目标值,并根据所述目标值对所述其他非必选参数字段以及必选参数字段进行赋值,生成第一测试案例;

根据所述必选参数字段队列中的字段顺序,依次将所述必选参数字段队列中的各个必选参数字段作为待测必选参数字段;

将所述待测必选参数字段赋值为空值,并将所述待测必选参数字段之外的其他必选参数字段以及所述其他非必选参数字段赋值为对应的安全值,生成所述各个待测必选参数字段对应的待测必选字段测试案例,其中,所述待测必选字段测试案例的个数等于所述必选参数字段的个数;

根据各个待测必选字段测试案例和所述第一测试案例,生成必选字段测试案例,作为所述接口测试案例。

本实施例中,若所述测试类型为必选字段测试类型,则所述目标取值规则为必选字段取值规则,其中,所述必选字段取值规则为在将各个必选参数字段以及非必选参数字段赋值为安全值,以测试各个必选参数字段是否可以正常执行,然后依次将各个必选参数字段赋值为空值,且其他非必选参数字段赋值为安全值,即依次赋值各个必选参数字段空值,以测试各个必选参数字段在某个字段为空值的情况下是否会得到对应的异常测试结果。具体地:

3.1.首先选取字段标识为“是”的字段,即为必选参数字段,根据所述必选参数字段生成必选参数字段队列。将所述必选参数字段队列中的各个必选参数字段均赋值为对应的安全值,并将所述其他非必选参数字段赋值为对应的安全值或者也可以将所述其他非必选参数字段赋值为空值,即防止所述其他非必选参数字段的赋值影响所述必选参数字段的赋值结果。由此,生成必选参数字段的第一测试案例。

3.2.然后将必选参数字段队列中的第一个必选参数字段作为待测必选参数字段,并将所述第一个必选参数字段赋值为空值,或者不对所述第一个必选参数字段进行赋值,将所述必选参数字段队列中的剩余必选参数字段,即其他必选参数字段,并将所述其他非必选参数字段赋值为安全值,由此生成第一个待测必选字段测试案例。

3.n:以此类推,若所述必选参数字段队列中有n个必选参数字段,则将必选参数字段队列中的第n个必选参数字段作为待测必选参数字段,并将所述第n个必选参数字段赋值为空值,或者不对所述第n个必选参数字段进行赋值,将所述必选参数字段队列中的剩余必选参数字段,即其他必选参数字段,并将所述其他非必选参数字段赋值为安全值,由此生成第n个待测必选字段测试案例。

综上,根据各个待测试必选字段测试案例以及第一测试案例,组合生成必选字段测试案例。通过所述必选字段测试案例,对所述各个请求参数字段中的必选参数字段进行测试。

进一步地,基于本发明接口测试案例的生成方法第一实施例,提出本发明接口测试案例的生成方法第四实施例。

在本实施例中,所述步骤s30具体包括:

若所述目标取值规则为各字段取值规则,依次获取所述各个请求参数字段,作为目标参数字段;

在所述目标参数字段对应的字段取值范围内取出对应的目标值,其中,所述目标值包括超长参数值、上边界值、下边界值、空值和其他类型参数值中的至少一种;

根据所述目标值对所述目标参数字段进行赋值,将所述目标参数字段之外的其他请求参数字段赋值为安全值,生成所述各个请求参数字段对应的待测各字段测试案例;

根据各个待测各字段测试案例生成各字段测试案例,作为所述接口测试案例,其中,所述待测各字段测试案例的个数等于所述各个请求参数字段的个数。

本实施例中,若所述测试类型为各字段测试类型,则所述目标取值规则为各字段取值规则。其中,所述各字段取值规则为将所述各个请求参数字段进行各个取值的赋值,以对各个请求参数字段进行单个全面性测试。所述字段取值范围内可以包括安全值、超长参数值、上边界值、下边界值、空值和其他类型参数值等,其中,各字段测试案例待取的目标值为超长参数值、上边界值、下边界值、空值和其他类型参数值中的至少一种。然后将其他请求参数字段赋值为安全值,防止其他请求参数字段的赋值对所述目标参数字段的测试结果产生影响。具体地:

4.1、获取第一个请求参数字段,作为目标参数字段,判断所述目标参数字段,即第一个请求参数字段的字段类型和指定长度。优先测试长度边界,生成一个超出该字段指定长度的值a1,即超长参数值,然后从字段取值范围内,取出除去安全值外的其他各种值,即上边界值、下边界值、空值和其他类型参数值等,记做a2、a3、ak,其中,k为当前可以取值的个数,即目标值的个数。其他请求参数字段分别取各个参数字段对应的安全值,记做z[m]。其中,m为然后分别用a1…..ak和z[m]生成k组测试案例,即a1z[m],a2z[m],a3z[m]...akz[m];

4.2、顺次取第二个请求参数字段,作为目标参数字段,判断所述目标参数字段,即第二个请求参数字段的字段类型和指定长度。优先测试长度边界,生成一个超出该字段指定长度的值b1,即超长参数值,然后从字段取值范围内,取出除去安全值外的其他各种值,即上边界值、下边界值、空值和其他类型参数值等,记做b2、b3、bj,其中,j为当前可以取值的个数,即目标值的个数。其他请求参数字段分别取各个参数字段对应的安全值,记做y[m]。其中,m为然后分别用b1…..bj和z[m]生成j组测试案例,即b1z[m],b2z[m],b3z[m]...bjz[m];

4.n、顺次取第n个字段,其中,n为请求参数字段的个数,重复上述的操作,直至各个请求参数字段被遍历取完。

综上,根据第四实施例中的各组测试案例生成各字段测试案例。通过所述各字段测试案例对所述各个请求参数字段进行字段的全面测试。更多实施例中,可以同时对所述各个请求参数进行全字段测试类型、必选字段测试类型以及各字段测试类型中的一种、两种或者全部。

本发明还提供一种接口测试案例的生成装置,所述接口测试案例的生成装置包括:

参数字段获取模块,用于在接收到测试请求时,确定所述测试请求对应的目标接口文档,并获取所述目标接口文档中的各个请求参数字段;

取值规则确定模块,用于根据所述各个请求参数字段的字段类型,确定所述各个请求参数字段对应的预设字段取值范围,并根据所述测试请求对应的测试类型,确定所述各个请求参数字段的目标取值规则;

测试案例生成模块,用于根据所述目标取值规则,在所述各个请求参数字段对应的字段取值范围内取出对应的目标值,并根据所述目标值对所述各个请求参数字段进行赋值,生成对应的接口测试案例。

进一步地,所述取值规则确定模块具体包括:

取值范围确定单元,用于根据所述各个请求参数字段的字段类型,在预设数据库中确定所述各个请求参数字段对应的预设字段取值范围;

测试类型确定单元,用于根据所述测试请求对应的测试类型,在所述全字段测试类型、必选字段测试类型以及各字段测试类型中确定所述目标测试类型;

取值规则确定单元,用于根据所述目标测试类型在所述全字段取值规则、必选字段取值规则以及各字段取值规则中确定所述目标取值规则。

进一步地,所述测试案例生成模块具体包括:

取值确定单元,用于若所述目标取值规则为全字段取值规则,则在所述各个请求参数字段对应的字段取值范围内取出对应的安全值,作为所述目标值;

字段赋值单元,用于根据所述各个请求参数字段对应的目标值,对所述各个请求参数字段进行赋值,生成全字段测试案例,作为所述接口测试案例。

进一步地,所述测试案例生成模块具体还用于:

若所述目标取值规则为必选字段取值规则,则根据必选字段标识在所述各个请求参数字段中确定必选参数字段,并将所述必选参数字段依次添加至必选参数字段队列;

在其他非必选参数字段以及所述必选参数字段对应的字段取值范围内取出对应的安全值,作为所述目标值,并根据所述目标值对所述其他非必选参数字段以及必选参数字段进行赋值,生成第一测试案例;

根据所述必选参数字段队列中的字段顺序,依次将所述必选参数字段队列中的各个必选参数字段作为待测必选参数字段;

将所述待测必选参数字段赋值为空值,并将所述待测必选参数字段之外的其他必选参数字段以及所述其他非必选参数字段赋值为对应的安全值,生成所述各个待测必选参数字段对应的待测必选字段测试案例,其中,所述待测必选字段测试案例的个数等于所述必选参数字段的个数;

根据各个待测必选字段测试案例和所述第一测试案例,生成必选字段测试案例,作为所述接口测试案例。

进一步地,所述测试案例生成模块具体还用于:

若所述目标取值规则为各字段取值规则,依次获取所述各个请求参数字段,作为目标参数字段;

在所述目标参数字段对应的字段取值范围内取出对应的目标值,其中,所述目标值包括超长参数值、上边界值、下边界值、空值和其他类型参数值中的至少一种;

根据所述目标值对所述目标参数字段进行赋值,将所述目标参数字段之外的其他请求参数字段赋值为安全值,生成所述各个请求参数字段对应的待测各字段测试案例;

根据各个待测各字段测试案例生成各字段测试案例,作为所述接口测试案例,其中,所述待测各字段测试案例的个数等于所述各个请求参数字段的个数。

进一步地,所述参数字段获取模块还用于:

在接收到测试请求时,获取所述测试请求中的页面请求,根据所述页面请求在文件服务器中确定对应的目标接口文档,其中,所述页面请求包括http或post。

进一步地,所述接口测试案例的生成装置还包括:

案例集生成模块,用于根据所述接口测试案例、服务id、服务场景号以及案例执行逻辑,生成接口测试案例集,并将所述接口测试案例集进行存储;

测试报告生成模块,用于根据测试类型、预设报告模板以及所述接口测试案例集的测试结果,生成并显示对应的测试报告。

进一步地,所述接口测试案例的生成装置还包括:

案例集优化模块,用于在接收到用户基于所述测试报告触发的调整指令时,将所述接口测试案例集进行对应调整和修复,以优化所述接口测试案例集。

上述各程序模块所执行的方法可参照本发明接口测试案例的生成方法各个实施例,此处不再赘述。

本发明还提供一种计算机可读存储介质。

本发明计算机可读存储介质上存储有接口测试案例的生成程序,所述接口测试案例的生成程序被处理器执行时实现如上所述的接口测试案例的生成方法的步骤。

其中,在所述处理器上运行的接口测试案例的生成程序被执行时所实现的方法可参照本发明接口测试案例的生成方法各个实施例,此处不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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