接口校验方法及装置与流程

文档序号:19570840发布日期:2019-12-31 18:55阅读:204来源:国知局
接口校验方法及装置与流程
本申请涉及接口测试
技术领域
,特别是涉及一种接口校验方法及装置。
背景技术
:在信息安全系统中,存在有前端系统和后端系统,前端系统能够与用户进行业务数据的交互,如某个应用程序。前端系统和后端系统的架构是分离的,如应用程序以及应用程序所连接的服务器,前端系统将用户的业务数据通过接口发送给后端系统,即前端系统需要按照后端系统接口规定的报文格式,将用户的业务数据封装在数据包中发送给后端系统。为了保证接口的正常使用,需要对接口进行验证,若接口正常,则表示前端系统与后端系统可以进行信息交互;若接口异常,则表示前端系统与后端系统之间不能正常通信。因此,需要一种接口校验方法,以实现对待验证接口是否正常的验证。技术实现要素:有鉴于此,本申请提供了一种接口校验方法,用以实现待验证接口的接口是否正常的验证。另外,本申请还提供了一种接口校验装置,用以保证所述方法在实际中的应用及实现。为实现所述目的,本申请提供的技术方案如下:第一方面,本申请提供了一种接口校验方法,包括:确定待验证接口对应的接口输入参数;从预生成的数据测试集中,获得接口输入参数的校验参数值以及所述校验参数值对应的预设准确测试结果;基于所述校验参数值生成测试用例;向所述待验证接口发送所述测试用例,并接收所述待验证接口针对所述测试用例返回的实际测试结果;将所述实际测试结果数据与所述预设准确测试结果进行比对;若比对结果不一致,则确定所述待验证接口异常;若比对结果一致,则确定所述待验证接口正常。第二方面,本申请提供了一种接口校验装置,包括:参数确定模块,用于确定待验证接口对应的接口输入参数;获取模块,用于从预生成的数据测试集中,获得接口输入参数的校验参数值以及所述校验参数值对应的预设准确测试结果;生成模块,用于基于所述校验参数值生成测试用例;检测模块,用于向所述待验证接口发送所述测试用例,并接收所述待验证接口针对所述测试用例返回的实际测试结果;比对模块,用于将所述实际测试结果数据与所述预设准确测试结果进行比对;接口判定模块,用于若比对结果不一致,则确定所述待验证接口异常;若比对结果一致,则确定所述待验证接口正常。由上述技术方法可知,本申请提供了一种接口校验方法,该方法通过从待验证接口处确定该接口的输入参数,进而从预生成的数据测试集中获取该接口输入参数的校验参数值,以及校验参数值对应的预设准确测试结果以及测试用例,将生成的测试用例发送给待验证接口,并接收待验证接口返回的实际测试结果,将实际测试结果与预设准确测试测试结果进行比对,从而判断该待验证接口是否异常。该方法通过提取待验证接口的接口输入参数,从而得到与该接口输入参数对应的预设准确测试结果以及测试用例,将测试用例发送给待验证接口,以得到待验证接口返回的实际测试结果,通过对比预设准确测试结果和实际测试结果,从而判断该待验证接口是否异常。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请提供的接口校验方法的流程图;图2为本申请提供的报文格式示意图;图3为本申请提供的接口校验方法的流程图;图4为本申请提供的普通参数生成规则的部分属性图;图5为本申请提供的特殊参数生成规则的部分属性图;图6为本申请提供的接口校验装置的结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在信息安全系统中,存在有两个系统,一是前端系统,二是后端系统。其中,前端系统负责与用户进行业务数据的交互,另外前端系统还可以通过接口与后端系统进行信息交互。需要说明的是,接口是软件系统的一些预先定义的函数,接口提供给外部系统,以使外部系统可以调用该软件系统的一些函数实现某些功能。由于接口的存在,外部系统无需访问该软件系统的源码,或理解内部工作机制的细节。具体地,当前端系统接收到用户的业务数据请求后,前端系统会通过与后端系统的接口,向后端系统发送处理该业务数据的请求,而后端系统从该接口读取该数据处理请求,完成该业务数据的响应。为此,本申请实施例提供了一种接口校验方法,用以验证前端系统与后端系统在通过待验证接口进行数据交互时,是否存在异常。参见图1,该方法具体包括步骤s101-s107。其中:s101:确定待验证接口对应的接口输入参数。具体地,获取待验证接口对应的接口输入参数,该接口输入参数是指前端系统将用户所请求的业务数据发送给后端系统的参数。接口输入参数可能存在多个,如表1所示,接口输入参数可以包括:字段名称、字段长度以及字段类型等。当然,表1中的参数仅仅是示例说明,接口输入参数的内容还可以是其他。表1在一个示例中,确定待验证接口对应的接口输入参数,具体包括:获得待验证接口的接口描述文件;从接口描述文件中,获得待验证接口对应的接口输入参数。具体地,软件系统的开发信息可能包括有接口描述文档,接口描述文档可以描述接口的基本信息,包括接口要求的输入参数有哪些、类型是怎样的等等。接口描述文件包括:接口文档、xml文件等。接口输入参数就是由该文件解析得到的,解析该接口描述文件时,除了得到接口输入参数之外,还可以得到接口输入报文格式、接口输出报文格式以及接口输出参数。其中,接口输入报文格式用于包装测试用例,并将测试用例发送给后端系统,而接口输出报文格式是用于解析由后端系统返回的输出报文。s102:从预生成的数据测试集中,获得接口输入参数的校验参数值以及校验参数值对应的预设准确测试结果。需要说明的是,校验参数值是接口输入参数对应的具体值,如表2所示:表2用户名称密码出生日期年龄张三z****319xxxxxxxx李四l****419xxxxxxxx王五w****519xxxxxxxx……表2中的用户名称、登录密码、出生日期以及年龄都属于接口输入参数。相应的,接口输入参数对应的具体值就是上述中的校验参数值,如用户名称这一接口输入参数,该接口输入参数的校验参数值可以是表2中的张三、李四、王五等。需要说明的是,数据测试集是已知预设准确测试结果的校验参数值的集合,该数据测试集中包含有任意校验参数值,以及该校验参数值对应的预设准确测试结果。其中,预设准确测试结果可以使用标识表示,如正常的预设准确测试结果为0001,异常的预设准确测试结果为0002。另外,数据测试集又分为正常数据测试集以及异常数据测试集。若某个校验参数值对应的预设准确测试结果为0001,则表示该校验参数值属于正常数据测试集;若某个校验参数值对应的预设准确测试结果为0002,则表示该校验参数值属于异常数据测试集。具体地,得到待验证接口的所有接口输入参数之后,根据接口输入参数,从预生成的数据测试集中查找与该接口输入参数对应的校验参数值以及预设准确测试结果。校验参数值对应的预设准确测试结果指的是,在正常情况下向接口发送用于测试的校验参数值后,接口应该返回的准确结果,该结果称之为预设准确测试结果。如果校验参数值是正常值,接口返回的预设准确测试结果应该为正常;如果校验参数值是异常值,接口返回的预设准确测试结果应该为异常。需要说明的是,根据接口输入参数的名称以及类型,从预生成的数据测试集中查找与该接口输入参数对应的校验参数值以及预设准确测试结果。具体来看,若该接口输入参数的校验参数值属于正常数据测试集,则对应的预设准确测试结果为正常,该正常的预设准确测试结果是以标识的形式反映的,如0001;若接口输入参数的校验参数值属于异常数据测试集,则对应的预设准确测试结果为异常,该异常的预设准确测试结果是以标识的形式反映的,如0002。s103:基于校验参数值生成测试用例。需要说明的是,测试用例是由若干个校验参数值组合而成,如表2所示,表2中的用户名称、用户密码、用户的出生日期以及用户的年龄都属于接口输入参数,而每个接口输入参数的对应列中的参数值,即为校验参数值,而表2第一行下面的每一行记录都表示一条测试用例。具体地,将该待验证接口中所有接口输入参数的校验参考值,组合成一条测试用例。其中,组合校验参考值的方式不做具体限定,可以是任意的组合形式。s104:向待验证接口发送测试用例,并接收待验证接口针对测试用例返回的实际测试结果。具体地,在步骤s103组合生成测试用例之后,根据接口描述文档解析得到接口输入报文格式,将该测试用例组装成输入报文的格式,将该测试用例通过待验证接口发送给后端系统,经后端系统执行该测试用例后,将执行结果以输出报文的格式返回给待验证接口,而待验证接口接收到该执行结果后,再根据接口描述文档解析得到接口输出报文格式,从执行结果中解析出实际测试结果。需要说明的是,该实际测试结果也可以通过标识来表示,如0001。参见图2,输入报文即是发送给后端系统的报文,其报文格式如图2所示,而后端系统处理完该输入报文后,会根据该输入报文返回相应的输出报文,从输出报文中提取出返回码,如图2中输出报文的0001,该0001返回码表示实际测试结果为正常。s105:将实际测试结果数据与预设准确测试结果进行比对。s106:若比对结果不一致,则确定待验证接口异常。s107:若比对结果一致,则确定待验证接口正常。具体地,为完成接口验证,需要将实际测试结果与预设准确测试结果进行比对。其比对过程可以是将相应的标识进行比对,如预测准确测试结果的标识为0001,而实际测试结果的标识为0002,此种情况则表示预测准确测试结果与实际测试结果不一致,该待验证接口异常;若预测准确测试结果的标识为0001,而实际测试结果的标识为0001,此种情况则表示预测准确测试结果与实际测试结果一致,该待验证接口正常。由上述技术方法可知,本申请提供了一种接口校验方法,该方法通过从待验证接口处确定该接口的接口输入参数,进而从预生成的数据测试集中获取该接口输入参数的校验参数值,以及校验参数值对应的预设准确测试结果以及测试用例,将生成的测试用例发送给待验证接口,并接收待验证接口返回的实际测试结果,将实际测试结果与预设准确测试测试结果进行比对,从而判断该待验证接口是否异常。该方法通过提取待验证接口的接口输入参数,从而得到与该接口输入参数对应的预设准确测试结果以及测试用例,将测试用例发送给待验证接口,以得到待验证接口返回的实际测试结果,通过对比预设准确测试结果和实际测试结果,从而判断该待验证接口是否异常。在一个示例中,参见图3,接口校验方法的另一种实施方式,具体包括如下步骤:s301:确定待验证接口对应的接口输入参数。s302:从预生成的数据测试集中,获得接口输入参数的校验参数值以及校验参数值对应的预设准确测试结果。步骤s301-s302与步骤s101-s102一致,此处不再赘述。需要说明的是,预生成数据测试集包括:正常数据测试集和异常数据测试集。属于正常数据测试集的校验参数值为正常参数值;属于正常数据测试集的校验参数值为异常参数值。s303:基于正常参数值生成正常测试用例以及基于异常参数值生成异常测试用例。具体地,在步骤s102中,有提到校验规则,该校验规则是根据大量已知数据进行训练得到的,如用户名称为字母类型,依此为校验规则,当接口输入参数对应的校验参数值为其他类型字符时,则表示该校验参数值为异常参数值,而满足校验规则的则属于正常参数值。若测试用例中校验参数值均属于正常参数值,则该测试用例为正常测试用例;若测试用例中存在一个或多个校验参数属于异常参数值,则该测试用例为异常测试用例。一个接口描述文档中,可以存在有多个接口输入参数,为此:在一个示例中,基于正常参数值生成正常测试用例以及基于异常参数值生成异常测试用例,具体包括如下步骤:将所有接口输入参数的正常参数值组合为正常测试用例;分别针对每个接口输入参数,将接口输入参数的异常参数值与其他接口输入参数的正常参数值进行组合,得到每个接口输入参数对应的异常测试用例。具体地,测试用例是由多个校验参数值组合得到,其组合的过程是随机的,因此,测试用例的生成也是随机的,当测试用例中的校验参数值均为正常参数值,则该测试用例为正常测试用例;若测试用例中存在一个或多个校验参数值属于异常参数值,则该测试用例为异常测试用例。需要说明的是,在对测试用例进行测试时,若测试用例中存在一个或多个异常参数值时,所测试得到的测试结果可能为同一个。如存在一个异常参数值时,所生成的测试结果为0002,而存在多个异常参数值时,所生成的测试结果也是0002。异常测试用例的生成是将每个接口输入参数的异常参数值与除该接口输入参数之外的其他接口输入参数的正常参数值进行组合,从而得到与该接口输入参数对应的异常测试用例,以此等方式获得所有的接口输入参数的异常测试用例。如表3所示,表3中,在上述说明的每一行记录为一条测试用例,黑色正体字为正常参数值,黑色斜体字为异常参数值,表3中,第二、三、四行都存在异常参数值,则表示第二、三、四行都属于异常测试用例,而第五行则属于正常测试用例。表3用户名称密码出生日期年龄123z****319xxxxxxxx李四张三19xxxxxxxx王五w****5abc123xx赵六z****619xxxxxxxxs304:向待验证接口发送正常测试用例,并接收待验证接口针对正常测试用例返回的实际测试结果;以及向待验证接口发送异常测试用例,并接收待验证接口针对异常测试用例返回的实际测试结果。具体地,待验证接口将测试用例发送给后端系统,若所发送的测试用例为正常测试用例,后端系统则根据该正常测试用例返回与之对应的实际测试结果,实际测试结果为返回码,如返回码为0001,则表示实际测试结果为正常;若所发送的测试用例为异常测试用例,后端系统则根据该异常测试用例返回与之对应的实际测试结果,实际测试结果为另外一种返回码,如0002,表示实际测试结果为异常。如表4所示,表4中,黑色正体字为正常参数值,黑色斜体字为异常参数值,且每一行记录表示一条测试用例:表4需要说明的是,后端系统的返回码可以是多种形式,例如:用户名称为异常参数值时,返回码是0002,密码为异常参数值时,返回码是0003,等等,以此方式将根据返回码确定出异常的接口输入参数。另外,判断实际测试结果是否正常的方式还可以是多种实现方式,如只需判断返回码是否为0001即可,若返回码为0001,则表示实际测试结果正常;若返回码非0001,则表示实际测试结果异常。s305:将正常测试用例的实际测试结果与正常参数值对应的预设准确测试结果进行比对,以及将异常测试用例的实际测试结果与异常参数值对应的预设准确测试结果进行比对。s306:若两个比对结果中任意一个比对结果为不一致,则确定待验证接口异常。s307:若两个比对结果均为一致,则确定待验证接口正常。具体地,为完成接口验证,需要将实际测试结果与预设准确测试结果进行比对。其比对过程可以是将相应的标识进行比对,两个测试结果只要不一致,则表示待验证接口异常,两个测试结果一致,则表示待验证接口正常。例如,预测准确测试结果的标识为0001,而实际测试结果的标识为0002,此种情况则表示预测准确测试结果与实际测试结果不一致,该待验证接口异常。待验证接口异常可以存在多种形式,此处不再具体说明。若预测准确测试结果的标识为0001,而实际测试结果的标识为0001,此种情况则表示预测准确测试结果与实际测试结果一致,该待验证接口正常。为保证前后端系统的安全性,若出现预设准确测试结果与实际测试结果不一致时,不进行数据传输,从而保护信息的安全;若预设准确测试结果与实际测试结果一致,则表示接口正常,可以进行数据通信。由上述技术方案可知,本申请提供了一种接口校验方法,该方法通过从待验证接口确定该接口的接口输入参数,进而通过预生成的数据测试集中获取该接口输入参数的校验参数值,以及校验参数值对应的预设准确测试结果以及测试用例,将生成的测试用例发送给待验证接口,并接收待验证接口返回的实际测试结果,将实际测试结果与预设准确测试测试结果进行比对,从而判断该待验证接口是否异常。该方法通过提取待验证接口的接口输入参数,从而得到与该接口输入参数对应的预设准确测试结果以及测试用例,将测试用例发送给待验证接口,以得到待验证接口返回的实际测试结果,通过对比预设准确测试结果和实际测试结果,从而判断该待验证接口是否异常。在一个示例中,数据测试集的生成方式,具体包括如下步骤:根据接口输入参数与参数值生成规则的预设对应关系,确定接口输入参数的正常参数生成规则以及异常参数正常规则;根据正常参数生成规则,生成接口输入参数的正常参数值;根据异常参数生成规则,生成接口输入参数的异常参数值;组合接口输入参数的正常参数值以及异常参数值,得到数据测试集。具体地,首先从输入参数库中获取接口输入参数目录,该接口输入参数目录包含待验证接口中所有可能存在的接口输入参数。接收已知测试结果的接口描述文件,并从该文件中提取出该文件对应的接口输入参数,以及该接口输入参数对应的校验参数值,将该接口输入参数对应的多个校验参数值进行训练,从而确定出该接口输入参数对应的规则,如接收多个已知测试结果为正常的接口描述文件,将该接口描述文件中的接口输入参数对应的校验参数值进行训练,以得到该接口输入参数对应的校验参数值的取值范围,也可称之为该接口输入参数的规则。在该取值范围内的校验参数值,均为正常参数值。如用户名称长度为1-8为,该长度区间内的所有接口输入参数的参数值均属于正常参数值,不在此区间的参数值则为异常。即以此方式确定出正常的接口描述文件中所有接口输入参数对应的校验参数值的取值范围。更具体地,获取该取值范围的边界值,以该边界值来生成参数生成规则。具体为,依据该取值范围的边界值,确定出与该接口输入参数的对应的规则,如上述中的用户名称长度为1-8的取值范围,所取值得该范围的边界值为1和8,根据1和8划分为3个规则,即小于1、大于1且小于8、以及大于8,其中大于1且小于8的规则为正常参数生成规则,而小于1以及大于8的规则属于异常参数生成规则,而属于正常参数生成规则中的参数值为正常参数值,属于异常参数生成规则中的参数值为异常参数值,再将所有的正常参数值组合成正常测试数据集,将所有的异常参数值组合成异常数据测试集。将正常数据测试集以及正常数据测试集的组合,得到数据测试集。其中,上述中的取值范围的边界值,是将取值范围格式化为正则表达式,从而得到与正常参数生成规则以及异常参数生成规则。需要说明的是,参数生成规则可以包括:普通参数生成规则和特殊参数生成规则。在实际应用过程中,获取待验证接口的接口输入参数之后,先根据该接口输入参数的名称从普通参数生成规则中确定出与该接口输入参数对应的普通参数生成规则,在根据该接口输入参数的类型,确定出该接口输入参数所属类型;若该接口输入参数属于特殊参数生成规则,则从特殊参数生成规则中,确定出该接口输入参数对应的特殊参数生成规则,并取特殊参数生成规则作为该接口输入参数的最终规则。需要说明的是,在一个接口描述文件中,存在多个接口输入参数,而每个参数对应的规则是不一致的,有些接口输入参数对应普通参数生成规则,而有些则对应特殊参数生成规则。若某个接口输入参数既对应普通参数生成规则,也对应特殊参数生成规则,此种情况下,将两者结合后生成最严格的规则,来生成参数值。例如,参见图4,图4所展示的是普通参数生成规则,可以看出,针对字符型的接口输入参数来说,正常长度为0-n。参见图5,图5所示的是特殊参数生成规则,可以看出,同样为字符型接口输入参数,其正常长度为6-n,两者结合可以得出字符型接口参数的参数值的正常长度需要在6-n之间。本申请还提供了一种接口校验装置,参见图6,该装置具体包括:参数确定模块601、获取模块602、生成模块603、检测模块604、比对模块605以及接口判定模块606。其中:参数确定模块601,用于确定待验证接口对应的接口输入参数。获取模块602,用于从预生成的数据测试集中,获得接口输入参数的校验参数值以及校验参数值对应的预设准确测试结果。生成模块603,用于基于校验参数值生成测试用例。检测模块604,用于向待验证接口发送测试用例,并接收待验证接口针对测试用例返回的实际测试结果。比对模块605,用于将实际测试结果数据与预设准确测试结果进行比对。接口判定模块606,用于若比对结果不一致,则确定待验证接口异常;若比对结果一致,则确定待验证接口正常。由上述技术方案可知,本申请提供了一种接口校验装置,该装置通过从待验证接口确定该接口的接口输入参数,进而通过预生成的数据测试集中获取该接口输入参数的校验参数值,以及校验参数值对应的预设准确测试结果以及测试用例,将生成的测试用例发送给待验证接口,并接收待验证接口返回的实际测试结果,将实际测试结果与预设准确测试测试结果进行比对,从而判断该待验证接口是否异常。该装置通过提取待验证接口的接口输入参数,从而得到与该接口输入参数对应的预设准确测试结果以及测试用例,将测试用例发送给待验证接口,以得到待验证接口返回的实际测试结果,通过对比预设准确测试结果和实际测试结果,从而判断该待验证接口是否异常。在一个示例中,校验参数值包括正常参数值以及异常参数值;则:生成模块在执行基于校验参数值生成测试用例的步骤时,具体用于:基于正常参数值生成正常测试用例以及基于异常参数值生成异常测试用例。检测模块在执行向待验证接口发送测试用例,并接收待验证接口针对测试用例返回的实际测试结果的步骤时,具体用于:向待验证接口发送正常测试用例,并接收待验证接口针对正常测试用例返回的实际测试结果;以及向待验证接口发送异常测试用例,并接收待验证接口针对异常测试用例返回的实际测试结果。比对模块在执行将实际测试结果数据与预设准确测试结果进行比对的步骤时,具体用于:将正常测试用例的实际测试结果与正常参数值对应的预设准确测试结果进行比对,以及将异常测试用例的实际测试结果与异常参数值对应的预设准确测试结果进行比对。接口判定模块在执行若比对结果不一致,则确定待验证接口异常;若比对结果一致,则确定待验证接口正常的步骤时,具体用于:若两个比对结果中任意一个比对结果为不一致,则确定待验证接口异常;若两个比对结果均为一致,则确定待验证接口正常。在一个示例中,接口输入参数为多个;则生成模块在执行基于正常参数值生成正常测试用例以及基于异常参数值生成异常测试用例的步骤时,具体用于:将所有接口输入参数的正常参数值组合为正常测试用例;分别针对每个接口输入参数,将接口输入参数的异常参数值与其他接口输入参数的正常参数值进行组合,得到每个接口输入参数对应的异常测试用例。在一个示例中,参数确定模块在执行确定待验证接口对应的接口输入参数的步骤时,具体用于:获得待验证接口的接口描述文件;从接口描述文件中,获得待验证接口对应的接口输入参数。在一个示例中,接口校验装置还包括:数据测试集生成模块。数据测试集生成模块,用于:根据接口输入参数与参数值生成规则的预设对应关系,确定接口输入参数的正常参数生成规则以及异常参数正常规则;根据正常参数生成规则,生成接口输入参数的正常参数值;根据异常参数生成规则,生成接口输入参数的异常参数值;组合接口输入参数的正常参数值以及异常参数值,得到数据测试集。需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的过程、方法、物品或者设备中还存在另外的相同要素。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1