接口的测试方法及装置与流程

文档序号:11063417
接口的测试方法及装置与制造工艺
本申请涉及计算机
技术领域
,尤其涉及一种接口的测试方法及装置。
背景技术
:传统技术中,在对被调模块的接口进行测试时,直接在测试驱动的测试脚本中人工构造接口的测试数据,或者,通过定制工具构造测试数据,然后根据构造的测试数据,对上述接口进行测试;然而上述第一种方法中通过手工构造测试数据的效率比较低,这影响了接口的测试速度;而第二种方法中通常先需要开发人员开发出定制工具,而定制工具的开发要求开发人员对被调模块的内部结构非常了解,此外,当测试的接口发生变化时,则可能需要对定制工具进行适应性的修改,并且重新构造测试数据,这增加了接口的测试复杂度。技术实现要素:本申请实施例提供了一种接口的测试方法及装置,可以加快接口的测试速度,且可以减小接口的测试复杂度。第一方面,提供了一种接口的测试方法,该方法包括:根据被调模块的接口的接口信息,从预设的存储单元中读取所述接口的测试数据;向所述被调模块发送第一调用请求,所述第一调用请求中携带所述接口信息以及所述测试数据,所述第一调用请求用于指示所述被调模块根据所述测试数据,对所述接口信息对应的所述接口进行测试;接收所述被调模块在对所述接口测试后返回的测试结果。第二方面,提供了一种接口的测试装置,该装置包括:读取单元、发送单元和接收单元;所述读取单元,用于根据被调模块的接口的接口信息,从预设的存储单元中读取所述接口的测试数据;所述发送单元,用于向所述被调模块发送第一调用请求,所述第一调用请求中携带所述接口信息以及所述测试数据,所述第一调用请求用于指示所述被调模块根据所述测试数据,对所述接口信息对应的所述接口进行测试;所述接收单元,用于接收所述被调模块在对所述接口测试后返回的测试结果。本申请提供的接口的测试方法及装置,根据被调模块的接口的接口信息,从预设的存储单元中读取所述接口的测试数据;向所述被调模块发送第一调用请求,所述第一调用请求中携带所述接口信息以及所述测试数据,所述第一调用请求用于指示所述被调模块根据所述测试数据,对所述接口信息对应的所述接口进行测试;接收所述被调模块在对所述接口测试后返回的测试结果。也即本申请中,在对接口进行测试时,直接从预设的存储单元中读取接口的测试数据,从而可以加快接口的测试速度,且可以减小接口的测试复杂度。附图说明图1为本申请一种实施例提供的接口的测试方法流程图;图2为本申请提供的测试数据的记录示意图;图3为本申请另一种实施例提供的接口的测试装置示意图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申 请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。为便于对本申请实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本申请实施例的限定。本申请实施例提供的接口的测试方法及装置,适用于对接口进行测试的场景,如,可以对被调模块的接口进行测试,此处,被调模块可以包括多个接口,其中,接口是指被调模块提供给主调模块使用其功能的入口,即每个接口可以对应一个功能,也即主调模块通过对被调模块的接口的调用,可以执行一次业务操作。举例来说,假设被调模块为用户信息模块,其包括的第一接口对应的功能是根据用户ID获取用户信息,则主调模块可以为登录模块,即登录模块向用户信息模块发送调用请求,该调用请求中携带第一接口的名称以及用户ID,用户信息模块执行第一接口对应的功能,即根据用户ID获取用户信息,并向主调模块返回用户信息,由此,一次业务操作被执行完成。在对上述被调模块的接口进行测试时,通过测试驱动(如,testNG)来驱动整个测试过程,其中,测试驱动是指用于驱动对被调模块的接口进行测试的软件模块,也即由测试驱动来模拟主调模块来对被调模块的接口进行调用,而对接口的调用通常需要使用接口的测试数据(如,上述用户ID),因此,如何快速而有效的构造测试数据,以及根据构造的测试数据,来对被调模块的接口进行测试就成为本申请所要解决的技术问题。图1为本申请一种实施例提供的接口的测试方法流程图。所述方法的执行主体可以为具有处理能力的设备:服务器或者系统或者装置,如图1所示,所述方法具体可以包括:步骤110,根据被调模块的接口的接口信息,从预设的存储单元中读取所 述接口的测试数据。即测试驱动根据被调模块的接口的接口信息,从预设的存储单元中读取所述接口的测试数据。在一个例子中,接口的接口信息可以为接口的名称;预设的存储单元可以为关系数据库。在另一个例子中,测试数据可以通过可扩展标记语言(ExtensibleMarkupLanguage,XML)文件的形式存储在所述预设的存储单元中,由此,可以很好的保存测试数据原有的结构。举例来说,当主调模块发送的调用请求中携带的测试数据为“个人简历”时,则该测试数据一般是树形结构的,即可以如下所示:用户信息名字电话地址工作经历A公司2001年-2010年B公司2010年-2014年……而由于XML文件也是树形结构的,从而可以很好的记录上述测试数据原有的结构。可选地,在执行步骤110之前,所述方法还可以包括在所述预设的存储单元中记录所述测试数据的步骤,具体为:步骤A:拦截主调模块向所述被调模块发送的第二调用请求,所述第二调用请求中携带所述接口信息以及所述测试数据。步骤B:在所述预设的存储单元中记录所述接口信息以及所述测试数据,并记录所述接口信息与所述测试数据的对应关系。本申请中,可以预先配置拦截器(interceptor),该拦截器用于对从主调模块发送至被调模块的调用请求进行拦截,并转发至录制服务端,其中,录制服务端用于记录接收到的调用请求中携带的接口信息、测试数据及接口 信息与测试数据的对应关系;此外,录制服务端还用于预先配置被调模块的地址,并根据被调模块的地址将调用请求转发给被调模块。参见图2所示的测试数据的记录示意图,图2中,主调模块向被调模块发送第二调用请求,拦截器在检测到该第二调用请求之后,拦截该第二调用请求,并转发至录制服务端,录制服务端在数据库中记录接口信息、测试数据及其对应关系,并根据预先配置的被调模块的地址,将第二调用请求转发至被调模块,被调模块根据测试数据,执行接口信息对应的接口的功能。举例来说,主调模块为登录模块,被调模块为用户信息模块,且调用请求中携带的接口信息为接口1,且该接口1对应的接口的功能是根据用户ID获取用户信息,测试数据为用户ID,则录制服务端在数据库中记录的接口信息、测试数据及其对应关系可以如表1所示。表1接口名称测试数据接口1用户ID在记录上述接口名称、测试数据及其对应关系之后,测试驱动在模拟登录模块对用户信息模块的接口1进行调用时,也即在对接口1进行测试时,可以直接从表1中读取与接口1对应的测试数据,从而可以避免由开发人员手工构造测试数据,造成的测试速度慢的问题,此外,也可以避免通过预先开发的定制工具构造测试数据而增加测试复杂度的问题。可以理解的是,图2中,被调模块的个数可以有多个,如,当主调模块为支付系统时,则被调模块可以包括银行系统以及安全系统等,在被调模块有多个的情况下,录制服务端可以预先配置多个被调模块的地址,在接收到主调模块的调用请求之后,录制服务端可以根据接口信息,确定该接口信息对应的接口所归属的被调模块,然后读取预先配置的被调模块的地址,将上述调用请求分发至被调模块。可选地,在执行步骤B之后,本申请实施例还可以包括如下步骤:步骤C,向所述被调模块转发所述第二调用请求,所述第二调用请求用于指示所述被调模块根据所述测试数据,执行与所述接口信息对应的所述接口的功能。图2中,录制服务端可以根据被调模块的地址,向被调模块转发第二调用请求。可以理解的是,当主调模块调用的被调模块发生变化时,只需要在录制服务端修改被调模块的地址即可,也即本申请的测试方法的通用性比较好。如前述例子中,用户信息模块在接收到第二调用请求之后,根据第二调用请求中携带的用户ID,执行接口1对应的接口的功能,也即根据用户ID获取用户信息。步骤D,接收并向所述主调模块转发所述被调模块在执行所述接口的功能后返回的执行结果。如前述例子中,若用户信息模块成功获取到用户信息,则向录制服务端返回的执行结果可以为获取的用户信息以及用于表示获取用户信息成功的信息;若用户信息模块获取用户信息失败,则向录制服务端返回的执行结果可以为用于表示获取用户信息失败的信息;最后再由录制服务端将上述执行结果转发至主调模块,从而主调模块根据接收的执行结果进行相应的操作,由此,一次业务操作执行完成。也即本申请是在执行业务操作的过程中,在预设的存储单元中记录主调模块调用被调模块的接口的测试数据的,在执行该一次业务操作之后,当对被调模块的接口进行测试时,也即由测试驱动模拟主调模块调用被调模块的接口时,直接根据接口信息从预设的存储单元中读取接口的测试数据,而无需人工构造或者通过定制工具构造,节省了人力资源且提高了测试速度。回到步骤110中,测试驱动可以预先记录至少一个被调模块包含的至少一个接口的接口信息,当确定执行接口1对应的接口的功能时,首先根据接口1从预设的存储单元中读取接口1对应的测试数据,即用户ID。步骤120,向所述被调模块发送第一调用请求,所述第一调用请求中携带所述接口信息以及所述测试数据,所述第一调用请求用于指示所述被调模块根据所述测试数据,对所述接口信息对应的所述接口进行测试。此处,对所述接口信息对应的所述接口进行测试即为执行接口信息对应的接口的功能。同样的,测试驱动也可以预先配置被调模块的地址。具体地,在从预设的存储单元中读取到用户ID后,可以确定接口1所属的第一被调模块,并根据第一被调模块的地址,向第一被调模块发送第一调用请求。举例来说,第一调用请求中携带接口1和用户ID,第一被调模块在接收到第一调用请求后,对接口1对应的接口进行测试,以确定该接口是否正常,即根据用户ID获取用户信息,若能成功获取到用户信息,则对该接口的测试结果为正常;否则为不正常。步骤130,接收所述被调模块在对所述接口测试后返回的测试结果。测试驱动接收测试正常或者不正常的测试结果。即若测试结果为不正常,则开发人员可以对该接口对应的功能进行修改等操作。需要说明是,根据本申请的上述步骤110-步骤130,可以完成对被调模块的一个接口的测试,当需要对被调模块的其它接口都进行测试时,可以先对主调模块调用被调模块的其它接口的接口信息以及对应的其它测试数据进行记录,然后根据其它接口的接口信息从预设的存储单元中读取对应的其它测试数据,并向被调模块发送携带其它接口的接口信息以及其它测试数据的第一调用请求,最后由被调模块根据其它测试数据,对其它接口进行测试。本申请提供的接口的测试方法,根据被调模块的接口的接口信息,从预设的存储单元中读取所述接口的测试数据;向所述被调模块发送第一调用请求,所述第一调用请求中携带所述接口信息以及所述测试数据,所述第一调用请求用于指示所述被调模块根据所述测试数据,对所述接口信息对应的所述接口进行测试;接收所述被调模块在对所述接口测试后返回的测试结果。 由此,可以加快接口的测试速度,且可以减小接口的测试复杂度。与上述接口的测试方法对应地,本申请实施例还提供的一种接口的测试装置,如图3所示,该装置包括:读取单元301、发送单元302和接收单元303。读取单元301,用于根据被调模块的接口的接口信息,从预设的存储单元中读取所述接口的测试数据。其中,所述测试数据是通过可扩展标记语言XML文件的形式存储在所述预设的存储单元中的。发送单元302,用于向所述被调模块发送第一调用请求,所述第一调用请求中携带所述接口信息以及所述测试数据,所述第一调用请求用于指示所述被调模块根据所述测试数据,对所述接口信息对应的所述接口进行测试。接收单元303,用于接收所述被调模块在对所述接口测试后返回的测试结果。可选地,所述装置还包括:拦截单元304和记录单元305。拦截单元304,用于拦截主调模块向所述被调模块发送的第二调用请求,所述第二调用请求中携带所述接口信息以及所述测试数据。记录单元305,用于在所述预设的存储单元中记录所述接口信息以及所述测试数据,并记录所述接口信息与所述测试数据的对应关系。可选地,发送单元302,还用于向所述被调模块转发所述第二调用请求,所述第二调用请求用于指示所述被调模块根据所述测试数据,执行与所述接口信息对应的所述接口的功能。接收单元303,还用于接收所述被调模块在执行所述接口的功能后返回的执行结果。发送单元302,还用于向所述主调模块转发所述执行结果。可选地,所述装置还包括:配置单元306;配置单元306,用于预先配置所述被调模块的地址。发送单元302具体用于:根据所述被调模块的地址,向所述被调模块发送所述第一调用请求。本申请实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本申请提供的装置的具体工作过程,在此不复赘述。本申请提供的接口的测试装置,读取单元301根据被调模块的接口的接口信息,从预设的存储单元中读取所述接口的测试数据;发送单元302向所述被调模块发送第一调用请求,所述第一调用请求中携带所述接口信息以及所述测试数据,所述第一调用请求用于指示所述被调模块根据所述测试数据,对所述接口信息对应的所述接口进行测试;接收单元303接收所述被调模块在对所述接口测试后返回的测试结果。由此,可以加快接口的测试速度,且可以减小接口的测试复杂度。专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的对象及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或
技术领域
内所公知的任意其它形式的存储介质中。以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做 的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。当前第1页1 2 3 
再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1