CN108845953B - 接口测试的方法及装置 - Google Patents

接口测试的方法及装置 Download PDF

Info

Publication number
CN108845953B
CN108845953B CN201810980979.1A CN201810980979A CN108845953B CN 108845953 B CN108845953 B CN 108845953B CN 201810980979 A CN201810980979 A CN 201810980979A CN 108845953 B CN108845953 B CN 108845953B
Authority
CN
China
Prior art keywords
interface
information
test
api
range
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810980979.1A
Other languages
English (en)
Other versions
CN108845953A (zh
Inventor
崔俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201810980979.1A priority Critical patent/CN108845953B/zh
Publication of CN108845953A publication Critical patent/CN108845953A/zh
Application granted granted Critical
Publication of CN108845953B publication Critical patent/CN108845953B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及接口测试技术领域,尤其涉及接口测试的方法及装置,应用于包含一个以上API的系统中,方法包括:分别在系统中满足第一接口指定范围的各个API中定义注解,注解包含用于表征接口情况的接口信息;通过信息反射机制从系统中满足第二接口指定范围的所有API的注解中提取接口信息,并将提取出的所有接口信息存入数据库中,第二接口指定范围小于或等于第一接口指定范围;从数据库中读取满足第三接口指定范围的所有API的接口信息,并将读取出的所有接口信息拼接成测试用例,第三接口指定范围小于或等于第二接口指定范围;对测试用例进行接口测试,生成接口测试结果。本发明实现了一次性批量的对API进行测试的技术效果,测试过程简单方便。

Description

接口测试的方法及装置
技术领域
本发明涉及接口测试技术领域,尤其涉及接口测试的方法及装置。
背景技术
微服务是一项在云中部署应用和服务的新技术,微服务的基本思想在于考虑围绕着业务领域组件来创建服务,这些服务可独立地进行开发、管理和加速。在分散的组件中使用微服务云架构和平台,使部署、管理和服务功能交付变得更加简单。
微服务系统中包含有多个服务,各个服务之间通过API实现信息的传递,每个API在使用过程中均需要进行测试。现有技术在对微服务系统中API进行测试时,先向一个API发送测试请求,接着该API将会进行信息反馈,最后根据反馈的信息获得与该API对应的测试结果,微服务系统中存在多少API在测试时就会执行相同次数的上述测试过程,因此,现有技术存在API测试过程繁琐复杂的技术问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的接口测试的方法及装置。
依据本发明的第一个方面,本发明提供一种接口测试的方法,应用于包含一个以上应用程序编程接口(Application Programming Interface,API)的系统中,所述方法包括:
分别在所述系统中满足第一接口指定范围的各个API中定义注解,所述注解包含用于表征接口情况的接口信息;
通过信息反射机制从所述系统中满足第二接口指定范围的所有API的注解中提取接口信息,并将提取出的所有接口信息存入数据库中,所述第二接口指定范围小于或等于所述第一接口指定范围;
从所述数据库中读取满足第三接口指定范围的所有API的接口信息,并将读取出的所有接口信息拼接成测试用例,所述第三接口指定范围小于或等于所述第二接口指定范围;
对所述测试用例进行接口测试,生成接口测试结果。
优选的,所述接口信息包括接口统一资源标志符、接口参数和接口返回期望值中的一种或多种。
优选的,所述第一接口指定范围包括全部API、新增API和修改API中的一种或多种。
优选的,所述通过信息反射机制从所述系统中满足第二接口指定范围的所有API的注解中提取接口信息,包括:
在当前时间到达预设反射时间时,通过信息反射机制从所述系统中满足第二接口指定范围的所有API的注解中提取出接口信息。
优选的,所述从所述数据库中读取满足第三接口指定范围的所有API的接口信息,包括:
在当前时间到达预设测试时间时,从所述数据库中读取出满足第三接口指定范围的所有API的接口信息。
优选的,所述对所述测试用例进行接口测试,包括:
对所述测试用例进行接口回归测试。
优选的,在所述生成接口测试结果之后,所述方法还包括:
当所述测试结果表明所述测试用例存在异常时,从所述测试用例中确定出存在异常的接口信息,将存在异常的接口信息发送给用户,以对所述用户进行异常提示。
优选的,所述系统的代码编写语言为JAVA。
依据本发明的第二个方面,提供了一种接口测试的装置,应用于包含一个以上应用程序编程接口(Application Programming Interface,API)的系统中,所述装置包括:
注解模块,用于分别在所述系统中满足第一接口指定范围的各个API中定义注解,所述注解包含用于表征接口情况的接口信息;
提取模块,用于通过信息反射机制从所述系统中满足第二接口指定范围的所有API的注解中提取接口信息,并将提取出的所有接口信息存入数据库中,所述第二接口指定范围小于或等于所述第一接口指定范围;
读取模块,用于从所述数据库中读取满足第三接口指定范围的所有API的接口信息,并将读取出的所有接口信息拼接成测试用例,所述第三接口指定范围小于或等于所述第二接口指定范围;
测试模块,用于对所述测试用例进行接口测试,生成接口测试结果。
优选的,所述接口信息包括接口统一资源标志符、接口参数和接口返回期望值中的一种或多种。
优选的,所述第一接口指定范围包括全部API、新增API和修改API中的一种或多种。
优选的,所述提取模块,包括:
提取单元,用于在当前时间到达预设反射时间时,通过信息反射机制从所述系统中满足第二接口指定范围的所有API的注解中提取出接口信息。
优选的,所述读取模块,包括:
读取单元,用于在当前时间到达预设测试时间时,从所述数据库中读取出满足第三接口指定范围的所有API的接口信息。
优选的,所述测试模块,具体用于:
对所述测试用例进行接口回归测试。
优选的,所述装置还包括:
提示模块,用于当所述测试结果表明所述测试用例存在异常时,从所述测试用例中确定出存在异常的接口信息,将存在异常的接口信息发送给用户,以对所述用户进行异常提示。
优选的,所述系统的代码编写语言为JAVA。
依据本发明的第三个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前述第一个方面中的方法步骤。
依据本发明的第四个方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如前述第一个方面中的方法步骤。
根据本发明的接口测试的方法及装置,首先分别在系统中满足第一接口指定范围的各个API中定义注解,注解包含用于表征接口情况的接口信息,接着通过信息反射机制从系统中满足第二接口指定范围的所有API的注解中提取接口信息,并将提取出的所有接口信息存入数据库中,第二接口指定范围小于或等于第一接口指定范围,再从数据库中读取满足第三接口指定范围的所有API的接口信息,并将读取出的所有接口信息拼接成测试用例,第三接口指定范围小于或等于第二接口指定范围,最后对测试用例进行接口测试,生成接口测试结果,本发明通过将注解与信息反射机制相结合,能够实现批量的从API中提取出接口信息,同时,通过将提取出的所有接口信息拼接成测试用例,再对包含所有接口信息的测试用例进行接口测试,根据最终生成的接口测试结果能够知晓测试用例中包含的各个接口信息是否存在异常,实现了一次性批量的对API进行测试的技术效果,测试过程简单方便。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考图形表示相同的部件。在附图中:
图1示出了本发明实施例中接口测试的方法的流程图;
图2示出了本发明实施例中接口测试的装置的结构图;
图3示出了本发明实施例中计算机设备的结构图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供一种接口测试的方法,应用于包含一个以上API的系统中,能够对API进行一次性、批量的测试。由于微服务系统通常包含有大量API,因此,本发明实施例中的接口测试的方法适用于微服务系统中,API可以为REST(Representational StateTransfer)API。另外,由于本发明实施例中的接口测试的方法利用到注解和信息反射技术,上述两种技术可以应用于JAVA语言中,因此,所述系统的代码编写语言为JAVA。
参见图1所示,本发明实施例中的接口测试的方法包括:
步骤101:分别在系统中满足第一接口指定范围的各个API中定义注解,注解包含用于表征接口情况的接口信息。
步骤102:通过信息反射机制从系统中满足第二接口指定范围的所有API的注解中提取出接口信息,并将提取出的所有接口信息存入数据库中,第二接口指定范围小于或等于第一接口指定范围。
步骤103:从数据库中读取出满足第三接口指定范围的所有API的接口信息,并将读取出的所有接口信息拼接成测试用例,第三接口指定范围小于或等于第二接口指定范围。
步骤104:对测试用例进行接口测试,生成接口测试结果。
在本发明实施例中,接口指定范围用于划分API的范围。对于第一接口指定范围、第二接口指定范围和第三接口指定范围而言,第一接口指定范围大于或等于第二接口指定范围,第二接口指定范围大于或等于第三接口指定范围。
第一接口指定范围包括全部API、新增API和修改API中的一种或多种,新增API为新增加到系统中的API,修改API为接口信息进行过修改的API。具体地,第一接口指定范围可以为全部API,第一接口指定范围可以为新增API,第一接口指定范围也可以为修改API,第一接口指定范围还可以为新增API和修改API。当第一接口指定范围为全部API时,若第二接口指定范围为新增API,第三接口指定范围可以为满足预设新增时间范围的新增API,例如,第三接口指定范围为近三天以内新增的API。当第一接口指定范围为全部API时,若第二接口指定范围为修改API,第三接口指定范围可以为满足预设修改时间范围的修改API,例如,第三接口指定范围为近三天以内修改的API。
针对步骤101而言,可以结合实际测试需求确定出第一接口指定范围,第一接口指定范围大于或等于测试需求接口范围,例如,若测试需求接口范围为新增API,则第一接口指定范围可以为新增API,也可以为全部API。优选的,可以将第一接口指定范围定义为全部API,从而在全部API中都定义注解,便于后续根据需要任意确定接口指定范围进行接口信息的提取和测试。
进一步来讲,本发明实施例中的注解为JAVA注解(Annotation),本发明通过在API中自定义注解,即,将用于表征接口情况的接口信息作为注解定义在API中,该注解可以通过反射机制进行访问,从而,通过反射机制能够实现从注解中提取出接口信息。进而,利用接口信息能够实现对API的测试。接口信息包括接口统一资源标志符(URI)、接口参数和接口返回期望值中的一种或多种。
在定义好注解之后,执行步骤102。在步骤102中,第二接口指定范围小于或等于第一接口指定范围。例如,当第一接口指定范围为全部API时,第二接口指定范围可以为新增API,第二接口指定范围也可以为修改API,第二接口指定范围还可以为全部API。在确定好第二接口指定范围之后,通过信息反射机制从满足第二接口指定范围的所有API的注解中提取接口信息,并将提取出的接口信息存入数据库中。
具体来讲,信息反射机制即为JAVA反射机制,利用JAVA反射机制能够实现:对于任意一个类,都能够知晓这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性。通过JAVA反射机制能够动态获取信息以及动态调用对象方法。通常,信息反射机制与注解结合使用。在本发明实施例中,由于API中定义有注解,因此,通过信息反射机制能够从注解中提取出接口信息,对于如何利用信息反射机制提取注解中的信息,可以采用现有技术中的任意代码实现方式,本发明实施例对此不作限定。
在将提取出的所有接口信息存入数据库之后,执行步骤103。在步骤103中,第三接口指定范围小于或等于第二接口指定范围。例如,当第二接口指定范围为全部API时,第三接口指定范围可以为新增API,第三接口指定范围也可以为修改API,第三接口指定范围还可以为全部API。在确定好第三接口指定范围之后,从数据库中读取满足第三接口指定范围的所有API的接口信息,并将读取出的所有接口信息拼接成测试用例。另外,对于如何将多个接口信息拼接成测试用例,可以采用现有技术中的任意信息拼接方式,本发明实施例对此不作限定,并且,在拼接时,可以按照读取顺序对接口信息进行拼接,也可以以随机顺序对接口信息进行拼接,本发明实施例对此不作限定。
在获得测试用例之后,执行步骤104。在步骤104中,通常对于API采用的测试方式为接口回归测试,利用接口回归测试能够判断测试用例中是否存在异常。当测试结果表明测试用例存在异常时,对用户进行异常提示。具体来讲,当测试结果表明测试用例存在异常时,可以先从测试用例中确定出存在异常的接口信息,再将存在异常的接口信息发送给用户,以对用户进行异常提示。在发送时,可以通过短信息服务(SMS)或邮件的方式对存在异常的接口信息进行发送。
作为优选的实施方式,在本发明实施例中,触发执行步骤102的条件包括预设反射时间和/或信息反射请求。具体来讲,在第一种实施方式中,可以预先设置一预设反射时间,从而,在当前时间到达预设反射时间后,执行步骤102。例如,预设反射时间为每天早上八点,则每天早上八点通过信息反射机制从系统中满足第二接口指定范围的所有API的注解中提取接口信息,并将提取出的所有接口信息存入数据库中,从而,实现了定时从系统中自动提取出接口信息的技术效果,提高了接口信息的提取效率。在第二种实施方式中,可以判断是会否接收到信息反射请求,在接收到信息反射请求时,执行步骤102。另外,还可以将上述两种实施方式进行结合,从而在当前时间到达预设反射时间且接收到信息反射请求时执行步骤102。
作为优选的实施方式,在本发明实施例中,触发执行步骤103的条件包括预设测试时间和/或接口测试请求。具体来讲,在第一种实施方式中,可以预先设置一预设测试时间,从而,在当前时间到达预设测试时间后,执行步骤103。例如,预设测试时间为每天早上九点,则每天早上九点从数据库中读取满足第三接口指定范围的所有API的接口信息,并将读取出的所有接口信息拼接成测试用例,对测试用例进行接口测试,生成接口测试结果,从而,实现了定时从系统中自动读取出接口信息,并执行后续测试过程,提高了接口的测试效率。在第二种实施方式中,可以判断是否接收到接口测试请求,在接收到接口测试请求时,执行步骤103。另外,还可以将上述两种实施方式进行结合,从而在当前时间到达预设测试时间且接收到接口测试请求时执行步骤103。
需要说明的是,本发明实施例可以利用自动化编译程序对步骤103和步骤104进行实现,即,预先编译好自动测试程序,利用自动测试程序实现:从数据库中读取满足第三接口指定范围的所有API的接口信息,并将读取出的所有接口信息拼接成测试用例,并对测试用例进行接口测试,生成接口测试结果
下面将以系统包含第一API、第二API和第三API,第一API为系统中原有的API,第二API和第三API均为系统中新增的API,第一接口指定范围为全部API,第二接口指定范围为全部API,第三接口指定范围为新增API,步骤102和步骤103的触发条件均为时间为例,对本发明实施例的接口测试的方法进行详细说明:
首先,在第一API中定义第一注解,在第二API中定义第二注解,在第三API中定义第三注解,第一注解包含用于表征第一API的第一接口信息,第二注解包含用于表征第二API的第二接口信息,第三注解包含用于表征第三API的第三接口信息。
接着,在当前时间到达预设反射时间时,通过信息反射机制,从第一API的注解中提取出第一接口信息,从第二API的注解中提取出第二接口信息,从第三API的注解中提取出第三接口信息,并将提取出的第一接口信息、第二接口信息和第三接口信息存入数据库中。
然后,在当前时间到达预设测试时间时,从数据库中读取出第二接口信息和第三接口信息,并将第二接口信息和第三接口信息拼接成测试用例,并对测试用例进行接口回归测试,生成接口测试结果。
最后,若接口测试结果存在异常时,如第一接口信息存在异常,则将第一接口信息发送给用户,以对用户进行异常提示。
基于同一发明构思,本发明实施例还提供一种接口测试的装置,应用于包含一个以上应用程序编程接口(Application Programming Interface,API)的系统中,如图2所示,所述装置包括:
注解模块201,用于分别在所述系统中满足第一接口指定范围的各个API中定义注解,所述注解包含用于表征接口情况的接口信息;
提取模块202,用于通过信息反射机制从所述系统中满足第二接口指定范围的所有API的注解中提取接口信息,并将提取出的所有接口信息存入数据库中,所述第二接口指定范围小于或等于所述第一接口指定范围;
读取模块203,用于从所述数据库中读取满足第三接口指定范围的所有API的接口信息,并将读取出的所有接口信息拼接成测试用例,所述第三接口指定范围小于或等于所述第二接口指定范围;
测试模块204,用于对所述测试用例进行接口测试,生成接口测试结果。
优选的,所述接口信息包括接口统一资源标志符、接口参数和接口返回期望值中的一种或多种。
优选的,所述第一接口指定范围包括全部API、新增API和修改API中的一种或多种。
优选的,所述提取模块,包括:
提取单元,用于在当前时间到达预设反射时间时,通过信息反射机制从所述系统中满足第二接口指定范围的所有API的注解中提取出接口信息。
优选的,所述读取模块,包括:
读取单元,用于在当前时间到达预设测试时间时,从所述数据库中读取出满足第三接口指定范围的所有API的接口信息。
优选的,所述测试模块,具体用于:
对所述测试用例进行接口回归测试。
优选的,所述装置还包括:
提示模块,用于当所述测试结果表明所述测试用例存在异常时,从所述测试用例中确定出存在异常的接口信息,将存在异常的接口信息发送给用户,以对所述用户进行异常提示。
优选的,所述系统的代码编写语言为JAVA。
基于同一发明构思,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述实施例所述的方法步骤。
基于同一发明构思,本发明实施例还提供了一种计算机设备,如图3所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该计算机设备可以为包括手机、平板电脑、PDA(Personal DigitalAssistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑等任意终端设备,以计算机设备为手机为例:
图3示出的是与本发明实施例提供的计算机设备相关的部分结构的框图。参考图3,该计算机设备包括:存储器301和处理器302。本领域技术人员可以理解,图3中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图3对计算机设备的各个构成部件进行具体的介绍:
存储器301可用于存储软件程序以及模块,处理器302通过运行存储在存储器301的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器301可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储数据(比如音频数据、电话本等)等。此外,存储器301可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器302是计算机设备的控制中心,通过运行或执行存储在存储器301内的软件程序和/或模块,以及调用存储在存储器301内的数据,执行各种功能和处理数据。可选的,处理器302可包括一个或多个处理单元;优选的,处理器302可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。
在本发明实施例中,该计算机设备所包括的处理器302可以具有前述实施例中任一方法步骤所对应的功能。
总之,根据本发明的接口测试的方法及装置,首先分别在系统中满足第一接口指定范围的各个API中定义注解,注解包含用于表征接口情况的接口信息,接着通过信息反射机制从系统中满足第二接口指定范围的所有API的注解中提取接口信息,并将提取出的所有接口信息存入数据库中,第二接口指定范围小于或等于第一接口指定范围,再从数据库中读取满足第三接口指定范围的所有API的接口信息,并将读取出的所有接口信息拼接成测试用例,第三接口指定范围小于或等于第二接口指定范围,最后对测试用例进行接口测试,生成接口测试结果,本发明通过将注解与信息反射机制相结合,能够实现批量的从API中提取出接口信息,同时,通过将提取出的所有接口信息拼接成测试用例,再对包含所有接口信息的测试用例进行接口测试,根据最终生成的接口测试结果能够知晓测试用例中包含的各个接口信息是否存在异常,实现了一次性批量的对API进行测试的技术效果,测试过程简单方便。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
A1、一种接口测试的方法,其特征在于,应用于包含一个以上应用程序编程接口(Application Programming Interface,API)的系统中,所述方法包括:
分别在所述系统中满足第一接口指定范围的各个API中定义注解,所述注解包含用于表征接口情况的接口信息;
通过信息反射机制从所述系统中满足第二接口指定范围的所有API的注解中提取接口信息,并将提取出的所有接口信息存入数据库中,所述第二接口指定范围小于或等于所述第一接口指定范围;
从所述数据库中读取满足第三接口指定范围的所有API的接口信息,并将读取出的所有接口信息拼接成测试用例,所述第三接口指定范围小于或等于所述第二接口指定范围;
对所述测试用例进行接口测试,生成接口测试结果。
A2、根据A1所述的方法,其特征在于,所述接口信息包括接口统一资源标志符、接口参数和接口返回期望值中的一种或多种。
A3、根据A1所述的方法,其特征在于,所述第一接口指定范围包括全部API、新增API和修改API中的一种或多种。
A4、根据A1所述的方法,其特征在于,所述通过信息反射机制从所述系统中满足第二接口指定范围的所有API的注解中提取接口信息,包括:
在当前时间到达预设反射时间时,通过信息反射机制从所述系统中满足第二接口指定范围的所有API的注解中提取出接口信息。
A5、根据A1所述的方法,其特征在于,所述从所述数据库中读取满足第三接口指定范围的所有API的接口信息,包括:
在当前时间到达预设测试时间时,从所述数据库中读取出满足第三接口指定范围的所有API的接口信息。
A6、根据A1所述的方法,其特征在于,所述对所述测试用例进行接口测试,包括:
对所述测试用例进行接口回归测试。
A7、根据A1所述的方法,其特征在于,在所述生成接口测试结果之后,所述方法还包括:
当所述测试结果表明所述测试用例存在异常时,从所述测试用例中确定出存在异常的接口信息,将存在异常的接口信息发送给用户,以对所述用户进行异常提示。
A8、根据A1所述的方法,其特征在于,所述系统的代码编写语言为JAVA。
B9、一种接口测试的装置,其特征在于,应用于包含一个以上应用程序编程接口(Application Programming Interface,API)的系统中,所述装置包括:
注解模块,用于分别在所述系统中满足第一接口指定范围的各个API中定义注解,所述注解包含用于表征接口情况的接口信息;
提取模块,用于通过信息反射机制从所述系统中满足第二接口指定范围的所有API的注解中提取接口信息,并将提取出的所有接口信息存入数据库中,所述第二接口指定范围小于或等于所述第一接口指定范围;
读取模块,用于从所述数据库中读取满足第三接口指定范围的所有API的接口信息,并将读取出的所有接口信息拼接成测试用例,所述第三接口指定范围小于或等于所述第二接口指定范围;
测试模块,用于对所述测试用例进行接口测试,生成接口测试结果。
B10、根据B9所述的装置,其特征在于,所述接口信息包括接口统一资源标志符、接口参数和接口返回期望值中的一种或多种。
B11、根据B9所述的装置,其特征在于,所述第一接口指定范围包括全部API、新增API和修改API中的一种或多种。
B12、根据B9所述的装置,其特征在于,所述提取模块,包括:
提取单元,用于在当前时间到达预设反射时间时,通过信息反射机制从所述系统中满足第二接口指定范围的所有API的注解中提取出接口信息。
B13、根据B9所述的装置,其特征在于,所述读取模块,包括:
读取单元,用于在当前时间到达预设测试时间时,从所述数据库中读取出满足第三接口指定范围的所有API的接口信息。
B14、根据B9所述的装置,其特征在于,所述测试模块,具体用于:
对所述测试用例进行接口回归测试。
B15、根据B9所述的装置,其特征在于,所述装置还包括:
提示模块,用于当所述测试结果表明所述测试用例存在异常时,从所述测试用例中确定出存在异常的接口信息,将存在异常的接口信息发送给用户,以对所述用户进行异常提示。
B16、根据B9所述的装置,其特征在于,所述系统的代码编写语言为JAVA。
C17、一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现根据A1-A8中任一权利要求所述的方法步骤。
D18、一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现根据A1-A8中任一权利要求所述的方法步骤。

Claims (18)

1.一种接口测试的方法,其特征在于,应用于包含一个以上应用程序编程接口API的系统中,所述方法包括:
分别在所述系统中满足第一接口指定范围的各个API中定义注解,所述注解包含用于表征接口情况的接口信息;
通过信息反射机制从所述系统中满足第二接口指定范围的所有API的注解中提取接口信息,并将提取出的所有接口信息存入数据库中,所述第二接口指定范围小于或等于所述第一接口指定范围;
从所述数据库中读取满足第三接口指定范围的所有API的接口信息,并将读取出的所有接口信息拼接成测试用例,所述第三接口指定范围小于或等于所述第二接口指定范围;
对所述测试用例进行接口测试,生成接口测试结果。
2.如权利要求1所述的方法,其特征在于,所述接口信息包括接口统一资源标志符、接口参数和接口返回期望值中的一种或多种。
3.如权利要求1所述的方法,其特征在于,所述第一接口指定范围包括全部API、新增API和修改API中的一种或多种。
4.如权利要求1所述的方法,其特征在于,所述通过信息反射机制从所述系统中满足第二接口指定范围的所有API的注解中提取接口信息,包括:
在当前时间到达预设反射时间时,通过信息反射机制从所述系统中满足第二接口指定范围的所有API的注解中提取出接口信息。
5.如权利要求1所述的方法,其特征在于,所述从所述数据库中读取满足第三接口指定范围的所有API的接口信息,包括:
在当前时间到达预设测试时间时,从所述数据库中读取出满足第三接口指定范围的所有API的接口信息。
6.如权利要求1所述的方法,其特征在于,所述对所述测试用例进行接口测试,包括:
对所述测试用例进行接口回归测试。
7.如权利要求1所述的方法,其特征在于,在所述生成接口测试结果之后,所述方法还包括:
当所述测试结果表明所述测试用例存在异常时,从所述测试用例中确定出存在异常的接口信息,将存在异常的接口信息发送给用户,以对所述用户进行异常提示。
8.如权利要求1所述的方法,其特征在于,所述系统的代码编写语言为JAVA。
9.一种接口测试的装置,其特征在于,应用于包含一个以上应用程序编程接口(Application Programming Interface,API)的系统中,所述装置包括:
注解模块,用于分别在所述系统中满足第一接口指定范围的各个API中定义注解,所述注解包含用于表征接口情况的接口信息;
提取模块,用于通过信息反射机制从所述系统中满足第二接口指定范围的所有API的注解中提取接口信息,并将提取出的所有接口信息存入数据库中,所述第二接口指定范围小于或等于所述第一接口指定范围;
读取模块,用于从所述数据库中读取满足第三接口指定范围的所有API的接口信息,并将读取出的所有接口信息拼接成测试用例,所述第三接口指定范围小于或等于所述第二接口指定范围;
测试模块,用于对所述测试用例进行接口测试,生成接口测试结果。
10.如权利要求9所述的装置,其特征在于,所述接口信息包括接口统一资源标志符、接口参数和接口返回期望值中的一种或多种。
11.如权利要求9所述的装置,其特征在于,所述第一接口指定范围包括全部API、新增API和修改API中的一种或多种。
12.如权利要求9所述的装置,其特征在于,所述提取模块,包括:
提取单元,用于在当前时间到达预设反射时间时,通过信息反射机制从所述系统中满足第二接口指定范围的所有API的注解中提取出接口信息。
13.如权利要求9所述的装置,其特征在于,所述读取模块,包括:
读取单元,用于在当前时间到达预设测试时间时,从所述数据库中读取出满足第三接口指定范围的所有API的接口信息。
14.如权利要求9所述的装置,其特征在于,所述测试模块,具体用于:
对所述测试用例进行接口回归测试。
15.如权利要求9所述的装置,其特征在于,所述装置还包括:
提示模块,用于当所述测试结果表明所述测试用例存在异常时,从所述测试用例中确定出存在异常的接口信息,将存在异常的接口信息发送给用户,以对所述用户进行异常提示。
16.如权利要求9所述的装置,其特征在于,所述系统的代码编写语言为JAVA。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一权利要求所述的方法步骤。
18.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-8中任一权利要求所述的方法步骤。
CN201810980979.1A 2018-08-27 2018-08-27 接口测试的方法及装置 Active CN108845953B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810980979.1A CN108845953B (zh) 2018-08-27 2018-08-27 接口测试的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810980979.1A CN108845953B (zh) 2018-08-27 2018-08-27 接口测试的方法及装置

Publications (2)

Publication Number Publication Date
CN108845953A CN108845953A (zh) 2018-11-20
CN108845953B true CN108845953B (zh) 2023-02-17

Family

ID=64188780

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810980979.1A Active CN108845953B (zh) 2018-08-27 2018-08-27 接口测试的方法及装置

Country Status (1)

Country Link
CN (1) CN108845953B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116126738B (zh) * 2023-04-17 2023-07-21 紫金诚征信有限公司 接口异常的识别方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104536884A (zh) * 2014-12-17 2015-04-22 广州酷狗计算机科技有限公司 代码测试方法和装置
CN106776334A (zh) * 2016-12-28 2017-05-31 北京奇虎科技有限公司 基于注释生成测试用例方法及装置
CN107145437A (zh) * 2016-03-01 2017-09-08 阿里巴巴集团控股有限公司 一种java注解测试方法及装置
CN107992421A (zh) * 2017-12-07 2018-05-04 畅捷通信息技术股份有限公司 接口测试方法及其装置与计算机装置及其可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050160433A1 (en) * 2004-01-21 2005-07-21 Lambert John R. Optimizations of user interface-independent testing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104536884A (zh) * 2014-12-17 2015-04-22 广州酷狗计算机科技有限公司 代码测试方法和装置
CN107145437A (zh) * 2016-03-01 2017-09-08 阿里巴巴集团控股有限公司 一种java注解测试方法及装置
CN106776334A (zh) * 2016-12-28 2017-05-31 北京奇虎科技有限公司 基于注释生成测试用例方法及装置
CN107992421A (zh) * 2017-12-07 2018-05-04 畅捷通信息技术股份有限公司 接口测试方法及其装置与计算机装置及其可读存储介质

Also Published As

Publication number Publication date
CN108845953A (zh) 2018-11-20

Similar Documents

Publication Publication Date Title
CN112000348B (zh) 服务灰度发布的控制方法、装置、计算机设备
CN106598667B (zh) 用于修复内核漏洞的方法和装置
AU2018310287A1 (en) Smart contract processing method and apparatus
US10216510B2 (en) Silent upgrade of software with dependencies
CN108829588B (zh) 一种测试应用程序的处理方法、部署系统及装置
CN108256006B (zh) 一种直播间徽章图片加载方法及系统
CN111930382B (zh) 应用页面的接入方法、装置及设备
CN110334086A (zh) 数据去重方法、装置、计算机设备以及存储介质
CN111124480B (zh) 应用程序包的生成方法、装置、电子设备及存储介质
CN106681749A (zh) 基于安卓平台的局部代码补丁更新方法及装置
CN112882732A (zh) 一种软件开发工具包sdk中功能代码的更新方法和装置
CN115469833A (zh) 动态规则引擎的实现方法和装置、电子设备和存储介质
CN109840210A (zh) 一种测试方法、装置及电子设备
CN115934093A (zh) 小程序跨端应用方法、相关装置及计算机存储介质
CN106843857B (zh) 基于srp实现代码库转换sdk的方法和装置
CN108845953B (zh) 接口测试的方法及装置
CN111930363B (zh) 区块接口代码生成方法、及装置
CN117640775A (zh) 基于k8s集群的数据获取方法、装置、设备及介质
CN110489124A (zh) 源代码执行方法、装置、存储介质及计算机设备
CN109918147B (zh) OpenStack下驱动的扩展方法、装置、电子设备
CN114764335A (zh) 一种生成镜像的方法、装置、终端及存储介质
US9882991B2 (en) URL issuing device, URL issuing method, and URL issuing program
CN110297625B (zh) 应用的处理方法及装置
CN109194734A (zh) 消息推送方法、装置、服务器及可读存储介质
CN113918290A (zh) 一种api调用方法以及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant