接口校验数据的生成方法、装置、存储介质及电子设备与流程

文档序号:18985523发布日期:2019-10-29 04:20阅读:222来源:国知局
接口校验数据的生成方法、装置、存储介质及电子设备与流程

本申请实施例涉及数据通信技术领域,尤其涉及一种接口校验数据的生成方法、装置、存储介质及电子设备。



背景技术:

随着计算机技术的发展,越来越多的业务通过计算机程序进行实现,如金融服务、社交服务和网络购物等,而各种业务服务之间的数据交互,如业务系统内部之间的交互、业务系统与用户之间的交互均是通过调用预先定义的各种接口来实现。为了确保各种接口能够满足需求进行数据交互,需要在接口开发完成后对其进行测试。

目前接口测试方法,其验证方案是通过请求某个接口,用户通过观察接口中返回结果,来确定该接口工作是否正常,以完成对该接口的测试。这样检测的效率是极低的,而且由于需要人工干预,会导致检测结果出现误差。而一个接口返回的数据格式变更是频繁的,如果能够针对接口快速编写出接口校验数据,进而通过该接口校验数据对接口返回的数据进行检测,则可以大大减少人力成本。但是,如何能够生成接口校验数据是目前亟待解决的技术问题。



技术实现要素:

本申请实施例提供一种接口校验数据的生成方法、装置、存储介质及电子设备,以实现快速生成接口校验数据的目的,从而通过接口校验数据来检测接口,提高接口检测效率和检测质量。

第一方面,本申请实施例提供了一种接口校验数据的生成方法,该方法包括:

响应于校验数据生成请求,在预设时间段内获取接口至少两次返回的数据;

根据所述接口至少两次返回的数据,确定接口返回数据的校验目标字段以及校验目标字段内容;

根据所述校验目标字段以及校验目标字段内容生成校验数据。

进一步的,在根据所述校验目标字段以及校验目标字段内容生成校验数据之后,所述方法还包括:

通过所述校验数据对接口返回的待校验数据进行校验,以检测接口。

进一步的,通过所述校验数据对接口返回的待校验数据进行校验,以检测接口,包括:

根据所述校验数据的校验目标字段,确定接口返回的待校验数据的数据内容识别位置;

判断所述数据内容识别位置中的字段内容与所述校验目标字段内容是否一致,若一致,则确定所述接口检测结果为合格。

进一步的,在判断所述数据内容识别位置中的字段内容与所述校验目标字段内容是否一致之后,所述方法还包括:

若不一致,则确定所述接口检测结果为不合格,并将所述待校验数据进行记录。

进一步的,根据所述接口至少两次返回的数据,确定接口返回数据的校验目标字段以及校验目标字段内容,包括:

对所述接口至少两次返回的数据进行一致性过滤;

将通过一致性过滤的字段确定为校验目标字段;未通过一致性过滤的字段确定为滤除字段;

确定所述校验目标字段的字段内容为校验目标字段内容。

进一步的,所述一致性过滤的标准包括:将接口至少两次返回的数据采用预设规则确定至少两个待过滤字段,若不同的数据之间对应的待过滤字段的内容相同,则确定该待过滤字段通过一致性过滤;若不相同,则确定该待过滤字段未通过一致性过滤。

进一步的,在根据所述校验目标字段以及校验目标字段内容生成校验数据之后,所述方法还包括:

将所述校验数据存储至数据库中;并检测是否存在接口参数更新事件;

若存在,则对所述数据库中存储的校验数据进行更新操作。

第二方面,本申请实施例提供了一种接口校验数据的生成装置,该装置包括:

数据获取模块,用于响应于校验数据生成请求,在预设时间段内获取接口至少两次返回的数据;

校验信息确定模块,用于根据所述接口至少两次返回的数据,确定接口返回数据的校验目标字段以及校验目标字段内容;

校验数据生成模块,用于根据所述校验目标字段以及校验目标字段内容生成校验数据。

第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器运行时实现如本申请实施例所述的接口校验数据的生成方法。

第四方面,本申请实施例提供了一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器运行所述计算机程序时实现如本申请实施例所述的接口校验数据的生成方法。

本申请实施例所提供的技术方案,响应于校验数据生成请求,在预设时间段内获取接口至少两次返回的数据;根据所述接口至少两次返回的数据,确定接口返回数据的校验目标字段以及校验目标字段内容;根据所述校验目标字段以及校验目标字段内容生成校验数据。通过采用本申请所提供的技术方案,可以实现快速生成接口校验数据的目的,从而通过接口校验数据来检测接口,提高接口检测效率和检测质量。

附图说明

图1是本申请实施例一提供的接口校验数据的生成方法的流程图;

图2是本申请实施例一提供的接口检测流程图;

图3是本申请实施例三提供的接口校验数据的生成装置的结构示意图;

图4是本申请实施例五提供的一种电子设备的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。

在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。

实施例一

图1是本申请实施例一提供的接口校验数据的生成方法的流程图,本实施例可适于接口监测等情况,该方法可以由本申请实施例所提供的接口校验数据的生成装置运行,该装置可以由软件和/或硬件的方式来实现,并可集成于接口检测设备等电子设备中。

如图1所示,所述接口校验数据的生成方法包括:

s110、响应于校验数据生成请求,在预设时间段内获取接口至少两次返回的数据。

其中,校验数据生成请求可以是通过接口检测设备或者接口检测平台发出的。由于现有的技术方案中对于接口返回的数据进行检测的校验数据是人工编写的,耗费人力成本较高,而且影响接口检测效率,尤其是在接口较多的情况下,校验数据的编写会极大的影响接口检测速度和检测质量。本方案提供了一种自动生成接口检测数据的方案,这样设置的好处是可以快速的生成校验数据并进行使用,提高接口的检测效率。

其中,预设时间段内获取至少两次返回的数据,预设时间段可以是3秒钟,1秒钟或者其他时间,预设时间段内获取至少两次返回的数据的时间间隔越短,则由接口返回的数据的稳定性越高。示例性的,对于一个接口来说,该接口返回的是某一个特定的数据,如果检测时间较长,则该接口可能由于复用函数出现问题等影响返回数据的稳定性,而在较短的时间内,一般不会出现两次返回的数据差异较大的问题。除此之外,由于接口的参数是可以虽则版本的更新或者需求的变化而进行调整的,在较短的时间内,获取两次或者更多次的该接口返回的数据,可以避免由于参数的更新导致返回数据的结构或者内容的变化。可以理解的,本方案可以采集三次或者更多次返回的数据。

s120、根据所述接口至少两次返回的数据,确定接口返回数据的校验目标字段以及校验目标字段内容。

在本技术方案中,可以理解的,接口返回的数据可以是针对相同的请求所返回的数据,例如两次都是发送同样的请求,则接口返回的数据会在数据内容部分存在一致性。除此之外,还可以是此接口只针对某一种请求返回数据,例如,当前接口只返回“商品详情”的数据。接口返回的数据可以是包括多个字段,每个字段可以表示不同的内容。例如可以包括时间字段,序号字段和内容字段等。则可以通过获取到的至少两个返回数据,通过设定的算法来确定他们所包含的字段中,哪些字段内容是一致的,哪些字段内容是不同的。例如以包括时间字段,序号字段和内容字段为例,则由于两次返回的数据的时间是不同的,因此两个返回数据的时间字段内容并不相同,而两个数据都有各自不同的编号,所以序号字段也不相同,但是由于两个数据时针对相同的请求返回的,或者返回的是相同的内容,例如都是“订单信息”,则内容字段的内容是相同的。由此,可以确定对这个接口的校验数据可以是针对内容字段进行校验的,因此可以将内容字段确定为校验目标字段。同时,由于该接口返回的数据都是订单信息的话,则每次返回的订单信息应该是相同,因此可以将内容字段的具体内容确定为校验目标字段内容。

s130、根据所述校验目标字段以及校验目标字段内容生成校验数据。

在确定校验目标字段以及校验目标字段内容之后,可以根据所确定的校验目标字段以及校验目标字段内容生成校验数据。其中,可以根据校验目标字段以及校验目标字段内容通过自动编码的形式生成校验字段,还可以是直接将两个返回数据中的一个作为校验数据。通过这样的设置,可以无需工作人员再手动编写校验数据,从而可以降低接口校验的人力消耗,并且由于校验数据是根据接口返回的数据自动生成的,可以确保校验数据的准确性。同时,如果由于接口参数的变更需要对校验数据进行修改的话,可以重复上述步骤得到新的校验数据,简便灵活,不仅能够及时的生成相应的校验数据,还能够降低校验数据的维护成本。

在本实施例中,可选的,在根据所述校验目标字段以及校验目标字段内容生成校验数据之后,所述方法还包括:通过所述校验数据对接口返回的待校验数据进行校验,以检测接口。由于已知校验目标字段以及校验目标字段内容,可以在接口返回的数据被校验的过程中,确定该数据的校验目标字段与校验数据作对比,若一致,则可以确定该接口返回的数据符合标准,则可以认为该接口校验合格。这样设置的好处是可以提高对接口校验的准确度以及提高校验效率。

本申请实施例所提供的技术方案,响应于校验数据生成请求,在预设时间段内获取接口至少两次返回的数据;根据所述接口至少两次返回的数据,确定接口返回数据的校验目标字段以及校验目标字段内容;根据所述校验目标字段以及校验目标字段内容生成校验数据。通过采用本申请所提供的技术方案,可以实现快速生成接口校验数据的目的,从而通过接口校验数据来检测接口,提高接口检测效率和检测质量。

在上述各技术方案的基础上,可选的,在根据所述校验目标字段以及校验目标字段内容生成校验数据之后,所述方法还包括:将所述校验数据存储至数据库中;并检测是否存在接口参数更新事件;若存在,则对所述数据库中存储的校验数据进行更新操作。其中,可以通过网络发送至网络数据库中,可也以存储在接口校验平台的本地数据库中。示例性的,可以将存储的校验数据与当前接口的编号对应存储,则在使用过程中,可以根据接口的编号来确定使用哪个校验数据来校验该接口。在本技术方案中,可选的,当检测到接口参数存在更新事件时,则对数据库中存储的校验数据进行更新操作。其中,接口参数存在更新事件,可以是应用程序的更新导致该接口的参数的更新,还可以是其他原因导致的更新。在本实施例中,可以设置一个时间长度,例如7天或者15天,当校验数据生成后7天或者15天,即便没有检测到接口参数的更新,也需要对数据库中存储的校验数据进行更新操作。这样设置的好处是可以提高接口校验数据的校验结果的准确性。具体的,可以重新生成校验数据并存储在数据库中以更新掉原有的校验数据,其中重新生成校验数据的方式与上述内容相同。这样设置的好处是可以确保所生成和使用的校验数据是有效的,避免由于校验数据的错误导致对接口返回的数据校验的过程中,识别到返回的校验数据都是错误的这种不正常的现象,从而可以确保接口检测的准确性。

在上述各技术方案的基础上,可选的,根据所述接口至少两次返回的数据,确定接口返回数据的校验目标字段以及校验目标字段内容,包括:对所述接口至少两次返回的数据进行一致性过滤;将通过一致性过滤的字段确定为校验目标字段;未通过一致性过滤的字段确定为滤除字段;确定所述校验目标字段的字段内容为校验目标字段内容。其中,可以通过一致性过滤,确定至少两次返回的数据的一致的字段和不一致的字段,并将不一致的字段过滤掉,将一致的字段确定为校验目标字段,并将其中的内容确定为校验目标字段内容。本技术方案,通过以字段为单位确定接口返回的至少两个数据之间的一致性,可以确定需要生成的校验数据的校验对象以及校验内容,同时可以确定基于具体某一个或者多个校验字段生成校验数据,由此可以准确的自动生成校验数据,无需工作人员手动编写,降低了工作人员的工作负担。

在上述各技术方案的基础上,可选的,所述一致性过滤的标准包括:将接口至少两次返回的数据采用预设规则确定至少两个待过滤字段,若不同的数据之间对应的待过滤字段的内容相同,则确定该待过滤字段通过一致性过滤;若不相同,则确定该待过滤字段未通过一致性过滤。其中,一致性过滤的标准,可以是将至少两次返回的数据采用相同的方式分级为多个待过滤字段,并对两个返回数据之间的多个待过滤字段进行对比,例如第一个数据的字段1与第二个数据的字段1进行对比,第一个数据的字段2与第二个数据的字段2进行对比,得到对比结果。若对比结果为两个字段的内容相同,则确定通过一致性过滤,若不同,则确定未通过一致性过滤。这样设置的好处是可以基于一致性过滤,确定校验目标字段和校验目标字段内容,进而可以生成校验数据。

图2是本申请实施例一提供的接口检测流程图。如图2所示,该处理过程包括:

s210、响应于校验数据生成请求,在预设时间段内获取接口至少两次返回的数据。

s220、根据所述接口至少两次返回的数据,确定接口返回数据的校验目标字段以及校验目标字段内容。

s230、根据所述校验目标字段以及校验目标字段内容生成校验数据。

s240、根据所述校验数据的校验目标字段,确定接口返回的待校验数据的数据内容识别位置。

其中,由于校验数据对接口返回的数据并不需要进行所有字段的校验,可以是对部分字段的校验。因此可以在对待校验数据进行校验之前,优先确定校验的字段位置,即数据内容识别位置。可以理解的,也可以对待校验数据的所有字段进行校验,相应的,可以针对于校验数据内容不同的字段进行记录,并生成报告。工作人员可以通过检查报告并确定其中是否包括校验目标字段的内容,来确定待校验数据的校验结果。

s250、判断所述数据内容识别位置中的字段内容与所述校验目标字段内容是否一致,若一致,则确定所述接口检测结果为合格。

在确定数据内容识别位置之后,可以判断其中的字段内容与校验目标字段内容是否一致,若完全一致,则确定接口返回的校验结果为合格。进而可以确定被检测的接口符合检测要求。

在本技术方案中,可选的,在判断所述数据内容识别位置中的字段内容与所述校验目标字段内容是否一致之后,所述方法还包括:若不一致,则确定所述接口检测结果为不合格,并将所述待校验数据进行记录。其中,若校验目标字段内容与内容识别位置中的字段内容不一致,则说明该数据校验的结果并不一致,则针对该待校验数据进行记录。示例性的,可以生成一个记录表,用于计算所有不一致的待校验数据。并对不一致的待校验数据与总的待校验数据的占比进行统计。这样设置的好处是可以将生成的统计结果供工作人员参考,确定是否为该校验数据存在问题,从而可以辅助工作人员及时发现问题以及确定问题的所在,有助于提高接口检测过程中工作人员的工作效率。

本技术方案在上述各技术方案的基础上,公开了一种通过校验数据检测接口的方式,即通过校验数据的校验目标字段以及校验目标字段内容确定待校验数据是否与之一致,并对待校验数据的校验结果进行统计,从而可以在提高接口监测过程准确性的同时,还能够为工作人员提供数据分析依据,辅助工作人员提高自己的工作效率。

实施例二

为了能够让本领域技术人员更加清楚的了解本申请公开的技术方案,本申请还提供了一种优选的实施方式。

目前,现有技术的缺陷在于:

全程需要人为的参与,去判断接口的结果,去编写接口的校验数据,并当接口的返回格式出现变更后,还要人为的对以前的老数据进行变更。

本申请要解决的技术问题是:

智能化的去生成全量的接口校验数据,并自动过滤非必须项,同时支持人为的介入,对特殊数据进行干预和编辑。

通过此种方案,在接口测试的过程中,用户通过不同的方式,如g&a,assert和generate的方式,进行智能化的接口自动化测试。其中generate为生成模式,自动生成接口的校验数据,assert为断言模式,于generate生成的校验数据进行比较,返回比较结果,并高亮错误数据,g&a为上述两种方式的结合。

且针对某些特殊的接口返回数据,用户也可以自定义进行删除校验数据,或编辑器断言类型,更加的灵活。

本申请所提供的技术方案,可以包括控制模块、生成模块、断言模块、生成和断言模块以及编辑/存储模块。

控制模块:实际一共存在3中模式,generate模式,assert模式,g&a模式,用户通过选择不同的模式,来选择对接口运行的期望操作。

生成模块:当用户选择generate模式来运行时,即跳转至生成模块,该模块中,通过保证接口在参数一致的情况下,连续运行两次接口,并通过算法,将两次的运行结果进行层层比较,保留两次运行一致的字段,剔除非一致的数据,如序列号,时间等。并生成校验数据和断言方式,将结果存储于数据库中,作为该接口的校验模板数据。

断言模块:通过运行接口,并运用算法,层层比较,将每层的每个字段的数值,与该接口的校验模板中的数据进行一一比较,并记录非一致的数据,高亮返回给用户进行告知。

生成和断言模块:直接依次调用生成模块和断言模块,查看接口的校验结果。

编辑/存储模块用户直接针对接口的校验模板数据,可以进行新增,删除,变更等操作,灵活改变校验数据,同时也支持断言类型的变更,将模板结果最终存储在数据库中。

本技术方案可以智能化的生成接口中需要校验的全量数据并完成比较,且用户可以进行自定义编辑。可以实现自动生成校验数据,且支持用户自定义,并提高接口的测试精准度和完整度,减少个人操作带来的漏测或者错测的效果。

实施例三

图3是本申请实施例三提供的接口校验数据的生成装置的结构示意图。如图3所示,所述接口校验数据的生成装置,包括:

数据获取模块310,用于响应于校验数据生成请求,在预设时间段内获取接口至少两次返回的数据;

校验信息确定模块320,用于根据所述接口至少两次返回的数据,确定接口返回数据的校验目标字段以及校验目标字段内容;

校验数据生成模块330,用于根据所述校验目标字段以及校验目标字段内容生成校验数据。

本申请实施例所提供的技术方案,响应于校验数据生成请求,在预设时间段内获取接口至少两次返回的数据;根据所述接口至少两次返回的数据,确定接口返回数据的校验目标字段以及校验目标字段内容;根据所述校验目标字段以及校验目标字段内容生成校验数据。通过采用本申请所提供的技术方案,可以实现快速生成接口校验数据的目的,从而通过接口校验数据来检测接口,提高接口检测效率和检测质量。

上述产品可运行本申请任意实施例所提供的方法,具备运行方法相应的功能模块和有益效果。

实施例四

本申请实施例还提供一种包含计算机可运行指令的存储介质,所述计算机可运行指令在由计算机处理器运行时用于运行一种接口校验数据的生成方法,该方法包括:

响应于校验数据生成请求,在预设时间段内获取接口至少两次返回的数据;

根据所述接口至少两次返回的数据,确定接口返回数据的校验目标字段以及校验目标字段内容;

根据所述校验目标字段以及校验目标字段内容生成校验数据。

存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如cd-rom、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如dram、ddrram、sram、edoram,兰巴斯(rambus)ram等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被运行的计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到计算机系统。第二计算机系统可以提供程序指令给计算机用于运行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器运行的程序指令(例如具体实现为计算机程序)。

当然,本申请实施例所提供的一种包含计算机可运行指令的存储介质,其计算机可运行指令不限于如上所述的接口校验数据的生成操作,还可以运行本申请任意实施例所提供的接口校验数据的生成方法中的相关操作。

实施例五

本申请实施例提供了一种电子设备,该电子设备中可集成本申请实施例提供的接口校验数据的生成装置。图4是本申请实施例五提供的一种电子设备的结构示意图。如图4所示,本实施例提供了一种电子设备400,其包括:一个或多个处理器420;存储装置410,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器420运行,使得所述一个或多个处理器420实现本申请实施例所提供的接口校验数据的生成方法,该方法包括:

响应于校验数据生成请求,在预设时间段内获取接口至少两次返回的数据;

根据所述接口至少两次返回的数据,确定接口返回数据的校验目标字段以及校验目标字段内容;

根据所述校验目标字段以及校验目标字段内容生成校验数据。

当然,本领域技术人员可以理解,处理器420还可以实现本申请任意实施例所提供的接口校验数据的生成方法的技术方案。

图4显示的电子设备400仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图4所示,该电子设备400包括处理器420、存储装置410、输入装置430和输出装置440;电子设备中处理器420的数量可以是一个或多个,图4中以一个处理器420为例;电子设备中的处理器420、存储装置410、输入装置430和输出装置440可以通过总线或其他方式连接,图4中以通过总线450连接为例。

存储装置410作为一种计算机可读存储介质,可用于存储软件程序、计算机可运行程序以及模块单元,如本申请实施例中的接口校验数据的生成方法对应的程序指令。

存储装置410可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置410可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置410可进一步包括相对于处理器420远程设置的存储器,这些远程存储器可以通过网络连接。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置430可用于接收输入的数字、字符信息或语音信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏、扬声器等设备。

本申请实施例提供的电子设备,可以实现快速生成接口校验数据的目的,从而通过接口校验数据来检测接口,提高接口检测效率和检测质量。

上述实施例中提供的接口校验数据的生成装置、存储介质及电子设备可运行本申请任意实施例所提供的接口校验数据的生成方法,具备运行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的接口校验数据的生成方法。

注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。

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