背景技术
在应用系统开发中,应用系统的业务逻辑变化、bug等原因会导致前述的应用系统与其他应用系统的同步信息发生变化,也即,应用系统发生变更后,应用系统与其他应用系统的同步信息可能发生变化。如果不能获知发生了变化的同步信息,则可能引起其他应用系统处理错误,引发重大故障。
目前,在相关技术中,为了获知发生了变化的同步信息,一般通过人工检测的方式,这种方案不仅检测过程复杂、耗时、容易出错,而且检测效率低。
针对相关技术中人工检测同步信息是否变化的检测效率低的问题,目前尚未提出有效的解决方案。
申请内容
本申请的主要目的在于提供一种用于服务接口的测试方法和装置,以解决上述的人工检测同步信息是否变化的检测效率低的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种用于服务接口的测试方法,其中,服务接口为目标应用系统的接口,所述目标应用系统包括当前应用系统和历史应用系统,所述当前应用系统为所述历史应用系统变更后的应用系统,该方法包括:接收用户输入的业务数据;分别调用目标服务接口和基线服务接口,所述目标服务接口为所述当前应用系统的服务接口,所述基线服务接口为所述历史应用系统的服务接口;调用同步信息检测装置,所述同步信息检测装置用于检测所述业务数据的目标同步信息和所述业务数据的基线同步信息是否存在差异,所述目标同步信息为所述目标服务接口发送的同步信息,所述基线同步信息为所述基线服务接口发送的同步信息;以及通过所述同步信息检测装置检测所述业务数据的目标同步信息和所述业务数据的基线同步信息是否存在差异,得到检测结果。
进一步地,通过所述同步信息检测装置检测所述业务数据的目标同步信息和所述业务数据的基线同步信息是否存在差异,得到检测结果包括:分别抓取所述业务数据的目标同步信息和所述业务数据的基线同步信息;判断所述目标同步信息和所述基线同步信息是否存在差异;以及如果判断出所述目标同步信息和所述基线同步信息存在差异,则确定同步信息在所述目标应用系统变更前后发生变化。
进一步地,在分别抓取业务数据的目标同步信息和所述业务数据的基线同步信息之后,所述测试方法包括:解析抓取到的目标同步信息,得到解析后的目标同步信息;以及解析抓取到的基线同步信息,得到解析后的基线同步信息,其中,判断所述解析后的目标同步信息和所述解析后的基线同步信息是否存在差异;如果判断出所述解析后的目标同步信息和所述解析后的基线同步信息存在差异,则确定同步信息在所述目标应用系统变更前后发生变化。
进一步地,所述解析后的目标同步信息包括多个目标条目信息,所述解析后的基线同步信息包括多个基线条目信息,在解析抓取到的基线同步信息,得到解析后的基线同步信息之后,所述测试方法包括:获取条目信息排序条件;按照所述条目信息排序条件对所述多个目标条目信息进行排序,得到多个排序后的目标条目信息;以及按照所述条目信息排序条件对所述多个基线条目信息进行排序,得到多个排序后的基线条目信息,其中,判断所述多个排序后的目标条目信息和所述多个排序后的基线条目信息是否存在差异;如果判断出所述多个排序后的目标条目信息和所述多个排序后的基线条目信息存在差异,则确定同步信息在所述目标应用系统变更前后发生变化。
进一步地,在解析抓取到的基线同步信息,得到解析后的基线同步信息之后,所述测试方法包括:根据所述解析后的目标同步信息获取目标同步信息的格式;根据所述解析后的基线同步信息获取基线同步信息的格式;以及判断所述目标同步信息的格式和所述基线同步信息的格式是否为预设格式,其中,如果判断出所述目标同步信息的格式和所述基线同步信息的格式为所述预设格式,则判断所述解析后的目标同步信息和所述解析后的基线同步信息是否存在差异。
进一步地,在确定同步信息在所述目标应用系统变更前后发生变化之后,所述测试方法包括:返回发生变化的同步信息。
进一步地,分别调用目标服务接口和基线服务接口包括:获取所述目标服务接口的位置信息;获取所述基线服务接口的位置信息;根据所述目标服务接口的位置信息查找目标接口数据库,得到所述目标服务接口;根据所述基线服务接口的位置信息查找基线接口数据库,得到所述基线服务接口;以及分别链接所述目标服务接口和所述基线服务接口。
为了实现上述目的,根据本申请的另一方面,提供了一种用于服务接口的测试装置,其中,服务接口为目标应用系统的接口,所述目标应用系统包括当前应用系统和历史应用系统,所述当前应用系统为所述历史应用系统变更后的应用系统。该装置包括:接收单元,用于接收用户输入的业务数据;接口调用单元,用于分别调用目标服务接口和基线服务接口,所述目标服务接口为所述当前应用系统的服务接口,所述基线服务接口为所述历史应用系统的服务接口;检测装置调用单元,用于调用同步信息检测装置,所述同步信息检测装置用于检测所述业务数据的目标同步信息和所述业务数据的基线同步信息是否存在差异,所述目标同步信息为所述目标服务接口发送的同步信息,所述基线同步信息为所述基线服务接口发送的同步信息;以及检测单元,用于通过所述同步信息检测装置检测所述业务数据的目标同步信息和所述业务数据的基线同步信息是否存在差异,得到检测结果。
进一步地,所述检测单元包括:抓取模块,用于分别抓取所述业务数据的目标同步信息和所述业务数据的基线同步信息;第一判断模块,用于判断所述目标同步信息和所述基线同步信息是否存在差异;以及确定模块,用于在判断出所述目标同步信息和所述基线同步信息存在差异时,确定同步信息在所述目标应用系统变更前后发生变化。
进一步地,所述检测单元还包括:第一解析模块,用于在分别抓取业务数据的目标同步信息和所述业务数据的基线同步信息之后,解析抓取到的目标同步信息,得到解析后的目标同步信息;以及第二解析模块,用于解析抓取到的基线同步信息,得到解析后的基线同步信息,其中,所述第一判断模块还用于判断所述解析后的目标同步信息和所述解析后的基线同步信息是否存在差异;所述确定模块还用于在判断出所述解析后的目标同步信息和所述解析后的基线同步信息存在差异时,确定同步信息在所述目标应用系统变更前后发生变化。
进一步地,所述解析后的目标同步信息包括多个目标条目信息,所述解析后的基线同步信息包括多个基线条目信息,所述检测单元还包括:第一获取模块,用于在解析抓取到的基线同步信息,得到解析后的基线同步信息之后,获取条目信息排序条件;第一排序模块,用于按照所述条目信息排序条件对所述多个目标条目信息进行排序,得到多个排序后的目标条目信息;以及第二排序模块,用于按照所述条目信息排序条件对所述多个基线条目信息进行排序,得到多个排序后的基线条目信息,其中,所述第一判断模块还用于判断所述多个排序后的目标条目信息和所述多个排序后的基线条目信息是否存在差异;所述确定模块还用于在判断出所述多个排序后的目标条目信息和所述多个排序后的基线条目信息存在差异时,确定同步信息在所述目标应用系统变更前后发生变化。
进一步地,所述检测单元还包括:第二获取模块,用于在解析抓取到的基线同步信息,得到解析后的基线同步信息之后,根据所述解析后的目标同步信息获取目标同步信息的格式;第三获取模块,用于根据所述解析后的基线同步信息获取基线同步信息的格式;以及第二判断模块,用于判断所述目标同步信息的格式和所述基线同步信息的格式是否为预设格式,其中,所述第一判断模块还用于在判断出所述目标同步信息的格式和所述基线同步信息的格式为所述预设格式时,判断所述解析后的目标同步信息和所述解析后的基线同步信息是否存在差异。
进一步地,所述测试装置还包括:返回单元,用于在确定同步信息在所述目标应用系统变更前后发生变化之后,返回发生变化的同步信息。
进一步地,所述接口调用单元包括:第四获取模块,用于获取所述目标服务接口的位置信息;第五获取模块,用于获取所述基线服务接口的位置信息;第一查找模块,用于根据所述目标服务接口的位置信息查找目标接口数据库,得到所述目标服务接口;第二查找模块,用于根据所述基线服务接口的位置信息查找基线接口数据库,得到所述基线服务接口;以及链接模块,用于分别链接所述目标服务接口和所述基线服务接口。
通过本申请,采用接收用户输入的业务数据;分别调用目标服务接口和基线服务接口,目标服务接口为当前应用系统的服务接口,基线服务接口为历史应用系统的服务接口;调用同步信息检测装置,同步信息检测装置用于检测业务数据的目标同步信息和业务数据的基线同步信息是否存在差异,目标同步信息为目标服务接口发送的同步信息,基线同步信息为基线服务接口发送的同步信息;以及通过同步信息检测装置检测业务数据的目标同步信息和业务数据的基线同步信息是否存在差异,得到检测结果,由于同步信息检测装置可以自动检测同步信息是否随着应用系统的变更而变化,因此解决了相关技术中人工检测同步信息是否变化的检测效率低的问题,进而达到了提高同步信息是否变化的检测效率的效果。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本领域的技术人员更好的理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,在本领域普通技术人员没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请的保护范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
根据本申请的实施例,提供了一种用于服务接口的测试装置,该用于服务接口的测试装置用于对同步信息变化与否进行自动检测。
图1是根据本申请实施例的用于服务接口的测试装置的示意图。
如图1所示,该装置包括:接收单元10、接口调用单元20、检测装置调用单元30和检测单元40。
需要说明的是,在本申请实施例中,上述服务接口为目标应用系统的接口,目标应用系统包括当前应用系统和历史应用系统,当前应用系统为历史应用系统变更后的应用系统,历史应用系统为当前应用系统变更前的应用系统。换言之,当前应用系统为历史应用系统的升级版本的系统。上述目标应用系统可以与其他多种应用系统进行交互。例如,假设目标应用系统为支付宝,则其他的应用系统可以为淘宝。需要说明的是,支付包和淘宝只是举例说明,并不对本申请造成不当限定。以下以支付宝和淘宝为例进行详细阐述。
接收单元10用于接收用户输入的业务数据。需要说明的是,业务数据可以包括多种。例如,在应用系统为支付宝时,业务数据可以是与账单相关的数据。例如,业务数据可以是用户拍的淘宝上的商品A而生成的账单信息,该账单信息可以包括用户名,账单号以及用户的其他相关信息等。
接口调用单元20用于分别调用目标服务接口和基线服务接口。目标服务接口为当前应用系统的服务接口,基线服务接口为历史应用系统的服务接口,其中,基线服务接口也即稳定接口。
需要说明的是,可以从基线数据库(即,稳定数据库)中调用基线服务接口,并从目标数据库中调用目标服务接口。具体地,可以根据各个服务接口的位置信息(如,各个接口地址)查找相应的数据库,进而调用相应的服务接口。其中,各个服务接口的位置信息可以进行预先配置,并存储在前述的数据库中。在存储各个接口的位置信息时,同时可以存储各个服务接口与位置信息的对应关系,从而可以通过服务接口的相关信息查找服务接口与位置信息的对应关系,进而根据查找到的对应关系调用该服务接口。
检测装置调用单元30用于调用同步信息检测装置。同步信息检测装置用于检测业务数据的目标同步信息和业务数据的基线同步信息是否存在差异,目标同步信息为目标服务接口发送的同步信息,基线同步信息为基线服务接口发送的同步信息。
需要说明的是,目标应用系统可以通过自身的目标服务接口向其他应用程序发送目标同步信息,并且基线应用程序也可以通过自身的基线服务接口向上述其他应用程序发送基线同步信息。其中,目标同步信息和基线同步信息可以相同,也可以相异。当两种同步信息相同时,表明应用系统变更前后,同步信息未发生变化;当两种同步信息相异时,表明应用系统变更前后,同步信息发生了变化。
例如,对于支付宝(即,目标应用系统)而言,在变更前,支付宝为支付宝1,在变更后,支付宝为支付宝2,其中,当支付宝1生成商品A的账单1时,如果生成账单1的账单号、用户标识、用户性别,则同时支付宝1通过自身的服务接口(即,支付宝的基线服务接口)向淘宝(即,其他应用系统)发送账单1的同步信息(即支付宝的基线同步信息,也即,账单号、用户标识、用户性别),进行信息同步;而当支付宝2生成商品A的账单2时,如果也生成账单2的账单号、用户标识、用户性别,则同时支付宝2通过自身的服务接口(即,支付宝的目标服务接口)向淘宝发送账单2的同步信息(即支付宝的目标同步信息,也即,账单号、用户标识、用户性别),进行信息同步,显然,此时账单1的同步信息和账单2的同步信息相同,即,两者不存在差异,表明支付宝在变更前后,其发送的同步信息未发生变化;而当支付宝2生成商品A的账单2时,如果仅仅生成账单2的账单号、用户标识,则同时支付宝2通过自身的服务接口(即,支付宝的目标服务接口)向淘宝发送账单2的同步信息(即支付宝的目标同步信息,也即,账单号、用户标识),显然,此处账单1的同步信息和账单2的同步信息相异,即,两者存在差异,表明支付宝在变更前后,其发送的同步信息发生了变化。
检测单元40用于通过同步信息检测装置检测业务数据的目标同步信息和业务数据的基线同步信息是否存在差异,得到检测结果。需要说明的是,检测上述两种同步信息是否存在差异的方式可以包括多种,例如,可以对两种同步信息中的条目进行分类,并逐条比对,或者可以任意获取同步信息中的一个条目,并根据该条目遍历另一同步信息中的每一条目以进行对比。
需要说明的是,可以在应用系统的前端设置同步信息检测控件,该同步信息检测控件可以用于控制上述各单元执行各自的功能。具体地,当同步信息检测控件被触发时,对该应用系统进行检测;当同步信息检测控件未被触发时,不对该应用系统进行检测。同步信息检测控件的触发方式可以包括多种,例如,其可以是人工触发和自动触发。具体地,人工触发可以是用户点击前述控件以进行触发,自动触发可以是自动检测应用程序的执行时间长度,在执行时间长度达到预设值时,自动触发前述控件,或者,可以自动检测应用系统是否发生变更,在应用系统发生变更时,自动触发前述控件,在应用系统未发生变更时,不做任何处理。
通过本申请实施例,采用接收单元接收用户输入的业务数据;接口调用单元分别调用目标服务接口和基线服务接口;检测装置调用单元调用同步信息检测装置;以及检测单元通过同步信息检测装置检测业务数据的目标同步信息和业务数据的基线同步信息是否存在差异,得到检测结果,由于同步信息检测装置可以自动检测同步信息是否随着应用系统的变更而变化,解决了相关技术中人工检测同步信息是否变化的检测效率低的问题,进而达到了提高同步信息是否变化的检测效率的效果。同时,由于采用自动的测试方式,因此可以避免人工方式由于存在主观性导致检测结果不精确,甚至出错。
需要说明的是,在本申请实施例中,应用系统变更前后的服务接口不仅可以相互配合,检测同步信息是否随着应用系统的变更而发生变化,而且可以检测各个服务接口自身是否存在问题,这样,在一次服务接口验证中,增加调用基线服务接口的功能,并且结合额外的检测单元,不仅可以实现同步信息的比对,并且可以实现当前服务接口(即,目标服务接口)对自身的性能的检测,而且检测效率高、准确性高。
优选地,在本申请实施例中,检测单元40可以包括:抓取模块、第一判断模块和确定模块。其中,抓取模块用于分别抓取业务数据的目标同步信息和业务数据的基线同步信息。需要说明的是,在执行一次业务数据的操作时,可以抓取应用系统发送至其他应用系统的同步信息,例如,在执行一次业务数据的操作时,可以分别抓取目标同步信息和基线同步信息,具体地,可以连接应用调用的服务接口,并抓取调用的服务接口所发送的同步信息;第一判断模块用于判断目标同步信息和基线同步信息是否存在差异。确定模块用于在判断出目标同步信息和基线同步信息存在差异时,确定同步信息在目标应用系统变更前后发生变化。
通过实时抓取同步信息,并基于实时抓取的同步信息进行分析,达到了及时、准确的检测同步信息是否变化的效果。
优选地,在本申请实施例中,检测单元40还可以包括:第一解析模块和第二解析模块。其中,第一解析模块用于在分别抓取业务数据的目标同步信息和业务数据的基线同步信息之后,解析抓取到的目标同步信息,得到解析后的目标同步信息;以及第二解析模块用于解析抓取到的基线同步信息,得到解析后的基线同步信息,其中,第一判断模块还用于判断解析后的目标同步信息和解析后的基线同步信息是否存在差异;确定模块还用于在判断出解析后的目标同步信息和解析后的基线同步信息存在差异时,确定同步信息在目标应用系统变更前后发生变化。
需要说明的是,上述解析可以包括对同步信息的内容的解析和/或对同步信息的格式的解析。进一步地,由于目标同步信息与基线同步信息一一对应,因此相互对应的目标同步信息和基线同步信息具有相同的格式。不同的目标同步信息的格式可以不同。同步信息的格式可以预先配置,并且预先存储在存储器中。
通过本申请实施例,采用解析同步信息的方式,可以先对相互对应的目标同步信息和基线同步信息进行解析,再在解析之后,对不同条目的信息进行分类对比,使得比对具有针对性,提高了比对效率,使得比对结果更加准确。
优选地,在本申请实施例中,解析后的目标同步信息可以包括多个目标条目信息,解析后的基线同步信息包括多个基线条目信息,例如,以前述的支付宝生成的账单为例,目标同步信息可以包括:账单号、用户标识和用户性别,其中,在对目标同步信息进行解析时,解析后的目标同步信息可以包括目标账单号、目标用户标识和目标用户性别等多个条目的信息,即,账单号、用户标识和用户性别各自为不同的条目;同理,基线同步信息可以包括:账单号、用户标识和用户性别,其中,在对基线同步信息进行解析时,解析后的基线同步信息可以包括基线账单号、基线用户标识和基线用户性别等多个条目的信息,即,账单号、用户标识和用户性别各自为不同的条目,相应的,上述检测单元还可以包括:第一获取模块、第一排序模块和第二排序模块。
其中,第一获取模块用于在解析抓取到的基线同步信息,得到解析后的基线同步信息之后,获取条目信息排序条件,例如,可以获取按照用户的关注度进行预先设置的条目排序;第一排序模块用于按照条目信息排序条件对多个目标条目信息进行排序,得到多个排序后的目标条目信息,也即,按照预先设置的条目排序对多个目标条目信息进行排序;以及第二排序模块用于按照条目信息排序条件对多个基线条目信息进行排序,得到多个排序后的基线条目信息,其中,第一判断模块还用于判断多个排序后的目标条目信息和多个排序后的基线条目信息是否存在差异;确定模块还用于在判断出多个排序后的目标条目信息和多个排序后的基线条目信息存在差异时,确定同步信息在目标应用系统变更前后发生变化。
例如,可以将前述的目标同步信息按照用户标识、用户性别和账单号的顺序对各个目标条目进行排序,并且将前述的基线同步信息按照相同的顺序对各个基线条目进行排序,从而可以分别将目标用户标识与基线用户标识进行比对、将目标用户性别与基线用户性别进行比对、将目标账单号与基线账单号进行比对。其中,如果任一相应的两个条目的比对结果不同,则表明同步信息在应用系统变更前后发生了变化,否则,未发生变化。
通过本申请实施例,采用先排序后比对的方式进行测试,由于排序之后,各条目的排列更条理,因此,可以节约比对时间,提高比对效率,并且可以避免不进行排序时,某些条目的信息由于遗漏而导致无法比对或者导致比对结果出现误差,提高了比对结果的准确性。
优选地,在本申请实施例中,检测单元还可以包括:第二获取模块、第三获取模块和第二判断模块。其中,第二获取模块用于在解析抓取到的基线同步信息,得到解析后的基线同步信息之后,根据解析后的目标同步信息获取目标同步信息的格式;第三获取模块用于根据解析后的基线同步信息获取基线同步信息的格式;以及第二判断模块用于判断目标同步信息的格式和基线同步信息的格式是否为预设格式,其中,第一判断模块还用于在判断出目标同步信息的格式和基线同步信息的格式为预设格式时,判断解析后的目标同步信息和解析后的基线同步信息是否存在差异。
通过本申请实施例,由于可以先通过格式对目标同步信息和基线同步信息进行筛选,保留格式相同的同步信息,再对格式相同的同步信息进行比对,可以减少工作量,节约工作时间,提高工作效率。
优选地,在本申请实施例中,该测试装置还包括:返回单元。返回单元用于在确定同步信息在目标应用系统变更前后发生变化之后,返回发生变化的同步信息。这样,可以直观地显示发生变化的同步信息,通知用户及时维护应用系统。需要说明的是,在本申请实施例中,同步信息在形式上可以包括通知和消息。其中,在其他应用系统为公司内部系统时,同步信息可以是消息形式的同步信息;在其他应用系统为公司外部机构的系统时,同步信息可以是通知形式的同步信息。
优选地,在本申请实施例中,接口调用单元可以包括:第四获取模块、第五获取模块、第一查找模块、第二查找模块和链接模块。其中,第四获取模块用于获取目标服务接口的位置信息;第五获取模块用于获取基线服务接口的位置信息;第一查找模块用于根据目标服务接口的位置信息查找目标接口数据库,得到目标服务接口;第二查找模块用于根据基线服务接口的位置信息查找基线接口数据库,得到基线服务接口;以及链接模块用于分别链接目标服务接口和基线服务接口。
例如,如图2所示,具体地,可以通过以下流程说明本申请的测试原理:
首先,检测人员在接口测试平台测试时,选择“自动比较同步信息(如,通知&消息,其中,通知是当前应用系统对外部机构中的其他应用系统的信息同步;消息是当前应用系统对本公司的其他应用系统的信息同步,当前应用系统包括目标应用系统和基线应用系统)”(即,前述的同步信息检测控件)。接口测试平台检测并获取上述选择过程产生的选择信号。
接着,检测人员在接口测试平台输入业务参数,其中,业务参数包括订单号、订单金额、备注等。接口测试平台根据用户输入的上述业务参数生成测试数据,也即,接口测试平台创建符合上述业务参数的订单。
然后,接口测试平台开始调用目标服务接口(应用系统变更后的接口),如果调用成功后,则继续调用基线服务接口(应用系统变更前的接口)。需要说明的是,如果仅仅调用目标服务接口,则可以检测目标接口是否符合预期;同理,如果仅仅调用基线服务接口,则可以检测基线服务接口是否符合预期,所谓符合预期是指符合应用系统的开发需求。
再次,在上述2次调用成功之后,接口测试平台可以自动调用自动检测装置(即,前述的同步信息检测装置),完成同步信息比对,其中,同步信息比对过程如下:
S2,根据服务接口的名称,查找预先配置好的同步信息的储存位置并对其进行连接应用,再根据业务参数对应点的业务号分别从基线服务接口对应的服务器(变更前)和目标服务接口对于的服务器(变更后)的储存位置中抓取各自的同步信息。其中,目标服务接口的同步信息存储在目标数据库中,基线服务接口的同步信息存储在基线数据库(也即,稳定数据库)中。需要说明的是,在检测前,可以预先配置服务接口的名称与同步信息存储位置的映射关系。
S4,根据服务接口的名称,查找预先配置好的上述两种同步信息对应的数据格式,并分别解析抓取到的上述两种同步信息,形成上述两种同步信息的数据列表。需要说明的是,同步信息的数据格式可以是任意格式,如URL、TXT、XML等。需要说明的是,在检测前,可以预先配置服务接口的名称与同步信息数据格式的映射关系。
S6,根据形成的上述两种同步信息的数据列表,分别对其用相同的策略进行排序,然后对两个数据表中的数据进行逐项比对,只要出现数据不一致,就形成不一致的比较结果。
S6,根据比较结果,返回给接口测试平台进行差异展示。
S8,在显示比较结果时,如果同步信息存在差异,则会弹出对话框告知哪些同步信息中的元素存在不一致的情况。
通过上述描述,本申请在一次服务接口测试中,即可以验证当前服务接口是否预期,又可以实现服务接口变更前后对外的同步信息一致性的检测,达到避免其他应用系统处理异常的效果。
根据本申请的实施例,提供了一种用于服务接口的测试方法,该用于服务接口的测试方法用于对同步信息变化与否进行自动检测。该用于服务接口的测试方法可以运行在计算机处理设备上。需要说明的是,本申请实施例所提供的用于服务接口的测试方法可以通过本申请实施例的用于服务接口的测试装置来执行,本申请实施例的用于服务接口的测试装置也可以用于执行本申请实施例的用于服务接口的测试方法。
图3是根据本申请实施例的用于服务接口的测试方法的流程图。如图3所示,该方法包括如下的步骤S302至步骤S308:
需要说明的是,在本申请实施例中,上述服务接口为目标应用系统的接口,目标应用系统包括当前应用系统和历史应用系统,当前应用系统为历史应用系统变更后的应用系统,历史应用系统为当前应用系统变更前的应用系统。换言之,当前应用系统为历史应用系统的升级版本的系统。上述目标应用系统可以与其他多种应用系统进行交互。例如,假设目标应用系统为支付宝,则其他的应用系统可以为淘宝。需要说明的是,支付包和淘宝只是举例说明,并不对本申请造成不当限定。以下以支付宝和淘宝为例进行详细阐述。
步骤S302,接收用户输入的业务数据。
需要说明的是,业务数据可以包括多种。例如,在应用系统为支付宝时,业务数据可以是与账单相关的数据。例如,业务数据可以是用户拍的淘宝上的商品A而生成的账单信息,该账单信息可以包括用户名,账单号以及用户的其他相关信息等。
步骤S304,分别调用目标服务接口和基线服务接口。
目标服务接口为当前应用系统的服务接口,基线服务接口为历史应用系统的服务接口,其中,基线服务接口也即稳定接口。
需要说明的是,可以从基线数据库(即,稳定数据库)中调用基线服务接口,并从目标数据库中调用目标服务接口。具体地,可以根据各个服务接口的位置信息(如,各个接口地址)查找相应的数据库,进而调用相应的服务接口。其中,各个服务接口的位置信息可以进行预先配置,并存储在前述的数据库中。在存储各个接口的位置信息时,同时可以存储各个服务接口与位置信息的对应关系,从而可以通过服务接口的相关信息查找服务接口与位置信息的对应关系,进而根据查找到的对应关系调用该服务接口。
步骤S306,调用同步信息检测装置。
同步信息检测装置用于检测业务数据的目标同步信息和业务数据的基线同步信息是否存在差异,目标同步信息为目标服务接口发送的同步信息,基线同步信息为基线服务接口发送的同步信息。
需要说明的是,目标应用系统可以通过自身的目标服务接口向其他应用程序发送目标同步信息,并且基线应用程序也可以通过自身的基线服务接口向上述其他应用程序发送基线同步信息。其中,目标同步信息和基线同步信息可以相同,也可以相异。当两种同步信息相同时,表明应用系统变更前后,同步信息未发生变化;当两种同步信息相异时,表明应用系统变更前后,同步信息发生了变化。
例如,对于支付宝(即,目标应用系统)而言,在变更前,支付宝为支付宝1,在变更后,支付宝为支付宝2,其中,当支付宝1生成商品A的账单1时,如果生成账单1的账单号、用户标识、用户性别,则同时支付宝1通过自身的服务接口(即,支付宝的基线服务接口)向淘宝(即,其他应用系统)发送账单1的同步信息(即支付宝的基线同步信息,也即,账单号、用户标识、用户性别),进行信息同步;而当支付宝2生成商品A的账单2时,如果也生成账单2的账单号、用户标识、用户性别,则同时支付宝2通过自身的服务接口(即,支付宝的目标服务接口)向淘宝发送账单2的同步信息(即支付宝的目标同步信息,也即,账单号、用户标识、用户性别),进行信息同步,显然,此时账单1的同步信息和账单2的同步信息相同,即,两者不存在差异,表明支付宝在变更前后,其发送的同步信息未发生变化;而当支付宝2生成商品A的账单2时,如果仅仅生成账单2的账单号、用户标识,则同时支付宝2通过自身的服务接口(即,支付宝的目标服务接口)向淘宝发送账单2的同步信息(即支付宝的目标同步信息,也即,账单号、用户标识),显然,此处账单1的同步信息和账单2的同步信息相异,即,两者存在差异,表明支付宝在变更前后,其发送的同步信息发生了变化。
步骤S308,通过同步信息检测装置检测业务数据的目标同步信息和业务数据的基线同步信息是否存在差异,得到检测结果。
需要说明的是,检测上述两种同步信息是否存在差异的方式可以包括多种,例如,可以对两种同步信息中的条目进行分类,并逐条比对,或者可以任意获取同步信息中的一个条目,并根据该条目遍历另一同步信息中的每一条目以进行对比。
需要说明的是,可以在应用系统的前端设置同步信息检测控件,该同步信息检测控件可以用于控制上述各单元执行各自的功能。具体地,当同步信息检测控件被触发时,对该应用系统进行检测;当同步信息检测控件未被触发时,不对该应用系统进行检测。同步信息检测控件的触发方式可以包括多种,例如,其可以是人工触发和自动触发。具体地,人工触发可以是用户点击前述控件以进行触发,自动触发可以是自动检测应用程序的执行时间长度,在执行时间长度达到预设值时,自动触发前述控件,或者,可以自动检测应用系统是否发生变更,在应用系统发生变更时,自动触发前述控件,在应用系统未发生变更时,不做任何处理。
通过本申请实施例,采用接收用户输入的业务数据;分别调用目标服务接口和基线服务接口;调用同步信息检测装置;以及通过同步信息检测装置检测业务数据的目标同步信息和业务数据的基线同步信息是否存在差异,得到检测结果,由于同步信息检测装置可以自动检测同步信息是否随着应用系统的变更而变化,解决了相关技术中人工检测同步信息是否变化的检测效率低的问题,进而达到了提高同步信息是否变化的检测效率的效果。同时,由于采用自动的测试方式,因此可以避免人工方式由于存在主观性导致检测结果不精确,甚至出错。
需要说明的是,在本申请实施例中,应用系统变更前后的服务接口不仅可以相互配合,检测同步信息是否随着应用系统的变更而发生变化,而且可以检测各个服务接口自身是否存在问题,这样,在一次服务接口验证中,增加调用基线服务接口的功能,并且结合额外的检测单元,不仅可以实现同步信息的比对,并且可以实现当前服务接口(即,目标服务接口)对自身的性能的检测,而且检测效率高、准确性高。
优选地,在本申请实施例中,通过同步信息检测装置检测业务数据的目标同步信息和业务数据的基线同步信息是否存在差异,得到检测结果可以包括:
步骤S10,分别抓取业务数据的目标同步信息和业务数据的基线同步信息。
步骤S12,判断目标同步信息和基线同步信息是否存在差异。
步骤S14,如果判断出目标同步信息和基线同步信息存在差异,则确定同步信息在目标应用系统变更前后发生变化。
需要说明的是,在执行一次业务数据的操作时,可以抓取应用系统发送至其他应用系统的同步信息,例如,在执行一次业务数据的操作时,可以分别抓取目标同步信息和基线同步信息,具体地,可以连接应用调用的服务接口,并抓取调用的服务接口所发送的同步信息。
通过实时抓取同步信息,并基于实时抓取的同步信息进行分析,达到了及时、准确的检测同步信息是否变化的效果。
优选地,在本申请实施例中,在分别抓取业务数据的目标同步信息和业务数据的基线同步信息之后,该测试方法可以包括:
步骤S16,解析抓取到的目标同步信息,得到解析后的目标同步信息。
步骤S18,解析抓取到的基线同步信息,得到解析后的基线同步信息。
其中,判断解析后的目标同步信息和解析后的基线同步信息是否存在差异;如果判断出解析后的目标同步信息和解析后的基线同步信息存在差异,则确定同步信息在目标应用系统变更前后发生变化。
需要说明的是,上述解析可以包括对同步信息的内容的解析和/或对同步信息的格式的解析。进一步地,由于目标同步信息与基线同步信息一一对应,因此相互对应的目标同步信息和基线同步信息具有相同的格式。不同的目标同步信息的格式可以不同。同步信息的格式可以预先配置,并且预先存储在存储器中。
通过本申请实施例,采用解析同步信息的方式,可以先对相互对应的目标同步信息和基线同步信息进行解析,再在解析之后,对不同条目的信息进行分类对比,使得比对具有针对性,提高了比对效率,使得比对结果更加准确。
优选地,在本申请实施例中,解析后的目标同步信息包括多个目标条目信息,解析后的基线同步信息包括多个基线条目信息,例如,以前述的支付宝生成的账单为例,目标同步信息可以包括:账单号、用户标识和用户性别,其中,在对目标同步信息进行解析时,解析后的目标同步信息可以包括目标账单号、目标用户标识和目标用户性别等多个条目的信息,即,账单号、用户标识和用户性别各自为不同的条目;同理,基线同步信息可以包括:账单号、用户标识和用户性别,其中,在对基线同步信息进行解析时,解析后的基线同步信息可以包括基线账单号、基线用户标识和基线用户性别等多个条目的信息,即,账单号、用户标识和用户性别各自为不同的条目。这样,在解析抓取到的基线同步信息,得到解析后的基线同步信息之后,该测试方法可以包括:
步骤S20,获取条目信息排序条件。例如,可以获取按照用户的关注度进行预先设置的条目排序。
步骤S22,按照条目信息排序条件对多个目标条目信息进行排序,得到多个排序后的目标条目信息,也即,按照预先设置的条目排序对多个目标条目信息进行排序。
步骤S24,按照条目信息排序条件对多个基线条目信息进行排序,得到多个排序后的基线条目信息。
其中,判断多个排序后的目标条目信息和多个排序后的基线条目信息是否存在差异;如果判断出多个排序后的目标条目信息和多个排序后的基线条目信息存在差异,则确定同步信息在目标应用系统变更前后发生变化。
例如,可以将前述的目标同步信息按照用户标识、用户性别和账单号的顺序对各个目标条目进行排序,并且将前述的基线同步信息按照相同的顺序对各个基线条目进行排序,从而可以分别将目标用户标识与基线用户标识进行比对、将目标用户性别与基线用户性别进行比对、将目标账单号与基线账单号进行比对。其中,如果任一相应的两个条目的比对结果不同,则表明同步信息在应用系统变更前后发生了变化,否则,未发生变化。
通过本申请实施例,采用先排序后比对的方式进行测试,由于排序之后,各条目的排列更条理,因此,可以节约比对时间,提高比对效率,并且可以避免不进行排序时,某些条目的信息由于遗漏而导致无法比对或者导致比对结果出现误差,提高了比对结果的准确性。
优选地,在本申请实施例中,在解析抓取到的基线同步信息,得到解析后的基线同步信息之后,该测试方法还可以包括:
步骤S26,根据解析后的目标同步信息获取目标同步信息的格式。
步骤S28,根据解析后的基线同步信息获取基线同步信息的格式。
步骤S30,判断目标同步信息的格式和基线同步信息的格式是否为预设格式。
其中,如果判断出目标同步信息的格式和基线同步信息的格式为预设格式,则判断解析后的目标同步信息和解析后的基线同步信息是否存在差异。
通过本申请实施例,由于可以先通过格式对目标同步信息和基线同步信息进行筛选,保留格式相同的同步信息,再对格式相同的同步信息进行比对,可以减少工作量,节约工作时间,提高工作效率。
优选地,在本申请实施例中,在确定同步信息在目标应用系统变更前后发生变化之后,该测试方法还可以包括:
步骤S32,返回发生变化的同步信息。这样,可以直观地显示发生变化的同步信息,通知用户及时维护应用系统。需要说明的是,在本申请实施例中,同步信息在形式上可以包括通知和消息。其中,在其他应用系统为公司内部系统时,同步信息可以是消息形式的同步信息;在其他应用系统为公司外部机构的系统时,同步信息可以是通知形式的同步信息。
优选地,在本申请实施例中,分别调用目标服务接口和基线服务接口可以包括:
步骤S34,获取目标服务接口的位置信息。
步骤S36,获取基线服务接口的位置信息。
步骤S38,根据目标服务接口的位置信息查找目标接口数据库,得到目标服务接口。
步骤S40,根据基线服务接口的位置信息查找基线接口数据库,得到基线服务接口。
步骤S42,分别链接目标服务接口和基线服务接口。
从以上的描述中,可以看出,本申请实现了如下技术效果:本申请在一次服务接口测试中,即可以验证当前服务接口是否预期,又可以实现服务接口变更前后对外的同步信息一致性的检测,达到避免其他应用系统处理异常的效果。需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。