业务接口测试方法、计算机装置和存储介质与流程

文档序号:22238146发布日期:2020-09-15 19:48阅读:119来源:国知局
业务接口测试方法、计算机装置和存储介质与流程

本发明涉及计算机技术领域,尤其是一种业务接口测试方法、计算机装置和存储介质。



背景技术:

在对服务器的一些业务接口进行升级维护时,如果对公共模块进行了修改,可能会影响其他业务接口,因此需要对业务接口进行回归测试。由于业务接口的数量众多,通过人工方式对所有业务接口一一进行测试是极其困难的事。

现有的业务接口自动测试方法,是使用计算机装置自动生成测试用例,将测试用例输入到业务接口,接收业务接口响应测试用例而反馈的实际结果,依赖测试用例中的预期结果与实际结果进行对比,从而确定业务接口的性能。现有技术依赖测试用例中的预期结果的准确性,如果测试用例中的预期结果设置不合理,那么将影响对业务接口的测试结果,造成测试结果不可靠以及测试过程不稳定。



技术实现要素:

针对上述至少一个技术问题,本发明的目的在于提供一种业务接口测试方法、计算机装置和存储介质。

一方面,本发明实施例包括一种业务接口测试方法,包括:

获取测试用例以及根据所述测试用例确定的业务请求和查询请求;

向所述业务接口发送所述业务请求;所述业务接口响应于所述业务请求,从数据库查询得到第一数据;

接收所述业务接口返回的所述第一数据;

向所述数据库发送所述查询请求;所述数据库响应于所述查询请求,查询得到第二数据;

接收所述数据库返回的所述第二数据;

根据所述第二数据确定所述第一数据的准确性;

根据所述准确性确定所述业务接口的测试结果。

进一步地,所述根据所述第二数据确定所述第一数据的准确性这一步骤,具体包括:

对所述第一数据和所述第二数据进行字段比对;所述字段比对用于确定所述第一数据中与所述第二数据中的一致字段和非一致字段;

根据所述一致字段的数量和所述非一致字段的数量确定所述第一数据的准确性。

进一步地,所述根据所述一致字段的数量和所述非一致字段的数量确定所述第一数据的准确性这一步骤,具体包括:

根据所述一致字段的数量与字段总数量之比确定所述第一数据的准确性;所述字段总数量为所述一致字段的数量与所述非一致字段的数量之和。

进一步地,所述根据所述一致字段的数量和所述非一致字段的数量确定所述第一数据的准确性这一步骤,具体包括:

根据各所述字段的属性,确定各所述字段的重要性分值;

以所述重要性分值为权重,确定各所述一致字段和各所述非一致字段的加权分值;所述一致字段的权重为正数,所述非一致字段的权重为负数;

根据所述加权分值确定所述第一数据的准确性。

进一步地,所述根据所述准确性确定所述业务接口的测试结果这一步骤,具体包括:

当所述准确性达到预设的阈值,确定所述业务接口的测试结果为通过,反之确定所述业务接口的测试结果为不通过。

进一步地,业务接口测试方法还包括以下步骤:

获取多个负样本测试用例;所述负样本测试用例为使得所述业务接口的测试结果为不通过的测试用例;

确定各所述负样本测试用例所对应的所述非一致字段的分布;

确定各所述非一致字段的分布的相同部分;

确定所述业务接口的故障原因;

确定所述相同部分与所述故障原因之间的映射关系。

进一步地,业务接口测试方法还包括以下步骤:

获取多个正样本测试用例;所述正样本测试用例为使得所述业务接口的测试结果为通过的测试用例;

确定各所述正样本测试用例所对应的所述非一致字段的分布;

确定各所述非一致字段的分布的相同部分;

根据所述相同部分,对所述业务接口进行故障检查。

进一步地,所述根据所述准确性确定所述业务接口的测试结果这一步骤,具体还包括:

当所述业务接口的测试结果为不通过,确定所述非一致字段的分布;

根据所述非一致字段的分布,确定所述业务接口的故障原因。

另一方面,本发明实施例还包括一种计算机装置,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行业务接口测试方法。

另一方面,本发明实施例还包括一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行业务接口测试方法。

本发明的有益效果是:本发明实施例中,通过将第一数据和第二数据进行逐字段的比较,可以有效地排查出业务接口的故障或出错。通过根据一致字段的数量、非一致字段的数量、一致字段的重要性分值和非一致字段的重要性分值来确定第一数据的准确性,可以忽略业务接口因公共模块改变而发生的不影响接口功能的改变对测试过程带来的干扰,在保证测试结果的可靠性的基础上,提高测试过程的稳定性。

附图说明

图1为实施例中业务接口测试方法的原理图;

图2为实施例中业务接口测试方法的流程图;

图3为实施例中第一数据和第二数据的格式示意图;

图4为实施例中对第一数据和第二数据进行字段比对的示意图;

图5为实施例中获取负样本测试用例的示意图;

图6为实施例中获取正样本测试用例的示意图。

具体实施方式

实施例1

本实施例中,业务接口测试方法的原理如图1所示。使用一个计算机装置运行测试工具jmeter,通过对jmeter的配置,使得计算机装置运行业务接口测试方法,即本实施例中的步骤s1-s7。

参照图2,本实施例中的业务接口测试方法,包括以下步骤:

s1.获取测试用例以及根据所述测试用例确定的业务请求和查询请求;

s2.向所述业务接口发送所述业务请求;所述业务接口响应于所述业务请求,从数据库查询得到第一数据;

s3.接收所述业务接口返回的所述第一数据;

s4.向所述数据库发送所述查询请求;所述数据库响应于所述查询请求,查询得到第二数据;

s5.接收所述数据库返回的所述第二数据;

s6.根据所述第二数据确定所述第一数据的准确性;

s7.根据所述准确性确定所述业务接口的测试结果。

本实施例中,通过使用测试工具jmeter执行步骤s2和s3,可以获取调用业务接口所获得的第一数据。在本实施例中,第一数据是对业务接口进行测试所用的实际结果。

本实施例中,通过使用测试工具jmeter执行步骤s4和s5,可以直接从数据库获取第二数据。在本实施例中,第二数据是对业务接口进行测试所用的预期结果。

本实施例中,通过使用测试工具jmeter执行步骤s6和s7,可以实现根据第二数据对第一数据的验证,即使用预期结果来确定实际结果的准确性,从而获得对业务接口的测试结果。

本实施例中,作为预期结果的第二数据是通过直连数据库而获得的,第二数据可以用于验证业务接口从数据库查询所得的第一数据的准确性,也就是对业务接口的测试过程可以无需依赖测试用例中所设定的预期结果,提高测试结果的可靠性以及测试过程的稳定性。另一方面,由于可以直接从数据库获得用作预期结果的第二数据,因此可以避免设定预期结果的过程,从而可以快速生成大量的测试用例,有利于进行大规模的业务接口测试。

本实施例中,如图3所示,所获取的第一数据和第二数据的格式相同,分别由字段1、字段2……字段n等n个字段组成。参照图4,通过将第一数据和第二数据中相同位置的字段逐一比对,也就是将第一数据中的字段1与第二数据中的字段1进行比对、将第一数据中的字段2与第二数据中的字段2进行比对……将第一数据中的字段n与第二数据中的字段n进行比对,可以确定每个字段的一致性。例如,如果第一数据中的字段1与第二数据中的字段1的内容完全相同,那么字段1属于一致字段,反之,字段1属于非一致字段。

本实施例中,根据一致字段的数量和非一致字段的数量,确定第一数据的准确性。

本实施例中,在确定第一数据的准确性时,可以只考虑一致字段的数量本身和非一致字段的数量本身,即用一致字段的数量除以字段总数量n,得到的比值作为第一数据的准确性。如果计算得到的第一数据的准确性达到预设的阈值,那么业务接口的测试结果为通过,反之业务接口的测试结果为不通过。

本实施例中,在确定第一数据的准确性时,可以考虑一致字段的数量和非一致字段的数量,以及考虑各字段的属性。本实施例中,根据各字段的属性,包括各字段所记载的数据,确定各字段的重要性分值,以重要性分值作为字段的权重的绝对值。对于一致字段,其权重为正数,即其权重为正的重要性分值;对于非一致字段,其权重为负数,即其权重为负的重要性分值。将各字段的权重相加,得到的比值作为第一数据的准确性。如果计算得到的第一数据的准确性达到预设的阈值,那么业务接口的测试结果为通过,反之业务接口的测试结果为不通过。

业务接口的故障或出错可能导致业务接口从数据库中查询得到的数据内容发生变化,使得业务接口所返回的第一数据中的部分或全部字段的内容与第二数据对应字段的内容不同。通过将第一数据和第二数据进行逐字段的比较,可以有效地排查出业务接口的故障或出错。通过根据一致字段的数量、非一致字段的数量、一致字段的重要性分值和非一致字段的重要性分值来确定第一数据的准确性,可以忽略业务接口因公共模块改变而发生的不影响接口功能的改变对测试过程带来的干扰,在保证测试结果的可靠性的基础上,提高测试过程的稳定性。

本实施例中,还可以执行以下步骤:

s8.获取多个负样本测试用例;所述负样本测试用例为使得所述业务接口的测试结果为不通过的测试用例;

s9.确定各所述负样本测试用例所对应的所述非一致字段的分布;

s10.确定各所述非一致字段的分布的相同部分;

s11.确定所述业务接口的故障原因;

s12.确定所述相同部分与所述故障原因之间的映射关系。

步骤s8-s12的原理为:每次执行步骤s1-s7都使用一个测试用例,可以获取多个测试用例,从而多次执行步骤s1-s7。如果每次执行步骤s1-s7后所得到的测试结果为不通过,那么就将这次执行步骤s1-s7所使用的测试用例定义为负样本测试用例。

获取多个负样本测试用例,每个负样本测试用例都对应一个步骤s1-s7的执行过程,且这些步骤s1-s7的执行过程的结果均为测试结果为不通过。参照图5,本实施例中,获取m个负样本测试用例,对应m个步骤s1-s7的执行过程。每个步骤s1-s7的执行过程都能确定一个非一致字段的分布,即各非一致字段所在的位置。

参照图5,在第1次执行步骤s1-s7的执行过程中,所确定的非一致字段的分布为(字段3,……字段n-1);在第2次执行步骤s1-s7的执行过程中,所确定的非一致字段的分布为(字段1,字段3,……字段n-1);……在第m次执行步骤s1-s7的执行过程中,所确定的非一致字段的分布为(字段1,字段2,字段3,……字段n-1)。由这些非一致字段的分布可以得到,一些字段在所有非一致字段的分布中都存在,即字段3……以及字段n-1,因此可以确定这些非一致字段的分布的相同部分为(字段3,……字段n-1)。

由于这m次执行步骤s1-s7后所得到的测试结果为不通过,因此本领域技术人员可以根据专业技术确定业务接口的故障原因。在确定故障原因后,建立相同部分(字段3,……字段n-1)与故障原因之间的映射关系。

在执行步骤s8-s12的基础上,根据映射关系,如果在以后执行步骤s1-s7的过程中,如果业务接口的测试结果为不通过,那么可以分析这次执行步骤s1-s7的过程中所得到的非一致字段的分布,如果所得到的非一致字段的分布包括(字段3,……字段n-1),那么就可以映射到故障原因,从而确定业务接口的故障原因,使得本领域技术人员可以利用以往测试的经验,在以后的测试中快速准确地确定业务接口所存在的故障。

本实施例中,还可以执行以下步骤:

s13.获取多个正样本测试用例;所述正样本测试用例为使得所述业务接口的测试结果为通过的测试用例;

s14.确定各所述正样本测试用例所对应的所述非一致字段的分布;

s15.确定各所述非一致字段的分布的相同部分;

s16.根据所述相同部分,对所述业务接口进行故障检查。

本实施例中,如果每次执行步骤s1-s7后所得到的测试结果为通过,那么就将这次执行步骤s1-s7所使用的测试用例定义为正样本测试用例。

获取多个正样本测试用例,每个正样本测试用例都对应一个步骤s1-s7的执行过程,且这些步骤s1-s7的执行过程的结果均为测试结果为通过。参照图6,本实施例中,获取p个正样本测试用例,对应p个步骤s1-s7的执行过程。每个步骤s1-s7的执行过程都能确定一个非一致字段的分布,即各非一致字段所在的位置。

参照图6,在第1次执行步骤s1-s7的执行过程中,所确定的非一致字段的分布为(字段1,字段3……字段n);在第2次执行步骤s1-s7的执行过程中,所确定的非一致字段的分布为(字段1,字段3,……字段n-1,字段n);……在第p次执行步骤s1-s7的执行过程中,所确定的非一致字段的分布为(字段1,字段3,……字段n-1,字段n)。由这些非一致字段的分布可以得到,一些字段在所有非一致字段的分布中都存在,即字段1、字段3……以及字段n,因此可以确定这些非一致字段的分布的相同部分为(字段1,字段3……字段n)。

虽然这p次执行步骤s1-s7后所得到的测试结果为通过,即表明业务接口的性能能够满足业务要求,但由于第一数据中的部分字段的内容发生的改变,表明在调整工作参数后的业务接口的性能可能发生了变化,即业务接口可能存在导致工作过程不稳定的隐患。通过执行步骤s13-s15,可以将多次执行步骤s1-s7所得的非一致字段的分布的相同部分提取出来,即获得业务接口工作过程所产生数据的统计规律,在执行步骤s16时,可以通过步骤s12所确定的相同部分与故障原因之间的映射关系,确定执行步骤s13-s15所得的相同部分对应的故障原因,从而为本领域技术人员提供了指导,使得本领域技术人员可以有方向地排查业务接口是否确实存在相应的故障原因,从而更有可能地消除或减轻故障隐患。

实施例2

本实施例中,一种计算机装置,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行实施例1中的业务接口测试方法。

本实施例中,一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行实施例1中的业务接口测试方法,实现与实施例1中所述的相同的技术效果。

需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本公开中所使用的上、下、左、右等描述仅仅是相对于附图中本公开各组成部分的相互位置关系来说的。在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本实施例所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本实施例说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本实施例所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。

应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本实施例所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。

应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向目标终端的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。

此外,可按任何合适的顺序来执行本实施例描述的过程的操作,除非本实施例另外指示或以其他方式明显地与上下文矛盾。本实施例描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。

进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、ram、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本实施例所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。

计算机程序能够应用于输入数据以执行本实施例所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的目标终端,包括显示器上产生的物理和有形目标终端的特定视觉描绘。

以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

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