CN113204491A - 一种接口自动化测试用例生成方法与系统 - Google Patents
一种接口自动化测试用例生成方法与系统 Download PDFInfo
- Publication number
- CN113204491A CN113204491A CN202110590658.2A CN202110590658A CN113204491A CN 113204491 A CN113204491 A CN 113204491A CN 202110590658 A CN202110590658 A CN 202110590658A CN 113204491 A CN113204491 A CN 113204491A
- Authority
- CN
- China
- Prior art keywords
- interface
- api
- test case
- test
- http service
- 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.)
- Withdrawn
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 122
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000012795 verification Methods 0.000 claims description 15
- 238000004088 simulation Methods 0.000 claims description 12
- 238000012986 modification Methods 0.000 claims description 10
- 230000004048 modification Effects 0.000 claims description 10
- 230000008676 import Effects 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 7
- 230000008569 process Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 3
- 238000012827 research and development Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
Abstract
本发明提供了一种接口自动化测试用例生成方法与系统,本发明通过HTTP服务模拟接口的各种操作,然后通过抓包工具对接口的数据进行抓包分析,并将抓包的数据直接解析成程序可以识别的API接口测试用例,通过对生成的测试用例稍作修改即可完成API的编写。本发明中API测试脚本自动化生成,无需太多人工干预,80%的编写工作都是由程序自动化实现,大大提高了API编写效率;在研发之前进行测试,能在API提测之前就能运行API测试脚本,能在开发人员开发出真实接口前,就能接入接口测试,节省了在真实环境上调试的时间;极大减少了API脚本调试的时间,由于API用例都是由HTTP服务生成的,调试的时候也是使用HTTP服务,调试出错的概率极小。
Description
技术领域
本发明涉及接口测试技术领域,特别是一种接口自动化测试用例生成方法与系统。
背景技术
一般软件开发流程中,接口的开发和测试流程一般是由研发人员进行接口的整体设计工作,编写接口的整体设计文档,然后测试人员针对接口进行接口测试代码的编写,这种编写模式存在以下缺点:
1.接口不存在的情况下,只能单纯的对接口进行编写,没有测试环境进行校验,待研发人员提交接口测试的时候,已经编写的API代码需要重新进行调试,浪费时间;
2.编写API的过程中,每个测试用例都是测试人员进行代码编写实现的,这个编写过程同样浪费时间。
目前接口测试一般采用以下几个方案:
1.研发人员提供接口文档,然后测试人员根据接口文档实现API接口测试编写,待研发人员开发出具体接口之后,再对已经编写好的接口进行编译调试;
2.等待研发人员开发完相应的接口,然后测试人员根据已有的环境进行API接口测试编写。
但第一种方案比较浪费时间,因为没有真实的环境编写出来的接口用例肯定会存在很多问题,需等待研发人员开发出具体的接口后,进行二次调试,而二次调试也会浪费大量时间。第二种方案需等待研发人员开发出相应的API接口,测试人员才开始接入,由于这种方案是接口完成之后再编写API接口测试,此时该有的BUG已经产生,不能在API接口提测之前有效的通过API接口测试检测API的正确性。
因此,需要一种高效的自动化接口生成方案,以提高接口自动化测试效率。
发明内容
本发明的目的是提供一种接口自动化测试用例生成方法与系统,旨在解决现有技术中接口测试编写浪费时间以及接口测试接入时间点不对称问题,实现节省API编写和调试时间。
为达到上述技术目的,本发明提供了一种接口自动化测试用例生成方法,所述方法包括以下操作:
模拟HTTP服务,用于接收POST请求,并配合接口文档,根据输入参数返回相应的输出参数;
解析接口文档,将解析后的接口文档数据导入模拟的HTTP服务中;
在HTTP服务界面触发接口请求,通过抓包工具对发送的请求进行抓包,并对抓包数据进行解析,获得目标参数,生成API接口测试用例;
修改API接口测试用例的输入参数,加入返回值用于校验,修改完成后调试测试用例,直至运行成功,将测试用例加入API测试框架中。
优选地,所述目标参数为url、header、method以及已输入参数。
优选地,所述目标参数加入JSON文件中。
优选地,其特征在于,所述测试用例可组装为场景用例。
本发明还提供了一种接口自动化测试用例生成系统,所述系统包括:
HTTP服务模拟模块,用于模拟HTTP服务,用于接收POST请求,并配合接口文档,根据输入参数返回相应的输出参数;
接口信息导入模块,用于解析接口文档,将解析后的接口文档数据导入模拟的HTTP服务中;
请求解析模块,用于在HTTP服务界面触发接口请求,通过抓包工具对发送的请求进行抓包,并对抓包数据进行解析,获得目标参数,生成API接口测试用例;
修改校验模块,用于修改API接口测试用例的输入参数,加入返回值用于校验,修改完成后调试测试用例,直至运行成功,将测试用例加入API测试框架中。
优选地,所述目标参数为url、header、method以及已输入参数。
优选地,所述目标参数加入JSON文件中。
优选地,所述测试用例可组装为场景用例。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
与现有技术相比,本发明通过HTTP服务模拟接口的各种操作,然后通过抓包工具对接口的数据进行抓包分析,并将抓包的数据直接解析成程序可以识别的API接口测试用例,通过对生成的测试用例稍作修改即可完成API的编写;
本发明中API测试脚本自动化生成,无需太多人工干预,只需从API文档中按照一定格式注入到模拟HTTP服务中,后续80%的编写工作都是由程序自动化实现,大大提高了API编写效率;
在研发之前进行测试,能在API提测之前就能运行API测试脚本,能在开发人员开发出真实接口前,就能接入接口测试,保证了测试质量,节省了在真实环境上调试的时间;
极大减少了API脚本调试的时间,由于API用例都是由HTTP服务生成的,调试的时候也是使用HTTP服务,调试出错的概率极小。
附图说明
图1为本发明实施例中所提供的一种接口自动化测试用例生成方法流程图;
图2为本发明实施例中所提供的一种接口自动化测试用例生成系统框图。
具体实施方式
为了能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
下面结合附图对本发明实施例所提供的一种接口自动化测试用例生成方法与系统进行详细说明。
如图1所示,本发明公开了一种接口自动化测试用例生成方法,所述方法包括以下操作:
模拟HTTP服务,用于接收POST请求,并配合接口文档,根据输入参数返回相应的输出参数;
解析接口文档,将解析后的接口文档数据导入模拟的HTTP服务中;
在HTTP服务界面触发接口请求,通过抓包工具对发送的请求进行抓包,并对抓包数据进行解析,生成API接口测试用例;
修改API接口测试用例的输入参数,加入返回值用于校验,修改完成后调试测试用例,直至运行成功,将测试用例加入API测试框架中。
本发明实施例通过HTTP服务模拟接口的各种操作,然后通过抓包工具对接口的数据进行抓包分析,并将抓包的数据直接解析成程序可以识别的API接口测试用例,通过对生成的测试用例稍作修改即可完成API的编写。
本发明实施例需要提供一个模拟的HTTP服务,该服务能够提供各种HTTP请求,该模拟的HTTP服务可以理解为输入参数和输出参数和真实的系统是一模一样的,唯一不同的是中间的过程,如果创建一个用户,真实的系统是创建了一个用户,返回值为200,而本发明实施例模拟HTTP服务就是发了一个POST请求,返回值为200,从而达到模拟有输入有输出,而且内部加载的是HTTP服务。
针对研发人员提供的测试文档,对测试文档进行文本解析,并将解析后的数据注入到HTTP服务内部。比如某个POST请求,对模拟的HTTP服务发送POST请求,模拟的HTTP服务能返回接口文档中所提供的返回数据,因此模拟的HTTP服务配合接口文档就相当于真实的HTTP服务,返回数据和输入参数与接口文档保持一致。
待所有解析后的接口信息都注入到HTTP服务中后,使用HTTP服务界面触发接口请求。本发明实施例中设置HTTP服务界面,方便测试人员对接口请求进行触发模拟。
在发送完接口请求后,使用抓包工具对发送的请求进行抓包操作,并对抓包数据进行解析。例如使用“tom”登录并使用http服务发送请求,然后通过抓包工具进行抓包,并通过相关程序解析成API接口的测试用例,如下JSON文件所示:
程序会自动解析发送的接口并生成JSON测试用例,然后需要人工修改校验部分,加入额外的校验点,此处仅仅作为简单示例,JSON用例之间的逻辑关系,调用关系可参考JSON API测试框架。
数据包解析过程中,程序获取到抓包数据后,获取数据中的url、header、method以及已输入参数等,然后将这些数据写入到JSON文件中。
待测试用例生成后,需要人工参与对校验点进行完善,主要加入返回值进行相关的校验,根据返回值进行比对,完成校验工作。当测试用例修改完毕后,将测试用例加入到API测试框架中。
使用本发明实施例提供的模拟HTTP服务,调试测试用例直到测试用例运行成功,如运行失败则对校验点修改接口测试用例的输入参数和校验值,运行成功则将测试用例加入到API测试系统中。
以上为单个的API测试用例,当需要场景测试用例时,则将单个的API测试用例进行组装,即可变成场景用例。
本发明实施例中API测试脚本自动化生成,无需太多人工干预,只需从API文档中按照一定格式注入到模拟HTTP服务中,后续80%的编写工作都是由程序自动化实现,大大提高了API编写效率;在研发之前进行测试,能在API提测之前就能运行API测试脚本,能在开发人员开发出真实接口前,就能接入接口测试,保证了测试质量,节省了在真实环境上调试的时间;极大减少了API脚本调试的时间,由于API用例都是由HTTP服务生成的,调试的时候也是使用HTTP服务,调试出错的概率极小。
如图2所示,本发明实施例还公开了一种接口自动化测试用例生成系统,所述系统包括:
HTTP服务模拟模块,用于模拟HTTP服务,用于接收POST请求,并配合接口文档,根据输入参数返回相应的输出参数;
接口信息导入模块,用于解析接口文档,将解析后的接口文档数据导入模拟的HTTP服务中;
请求解析模块,用于在HTTP服务界面触发接口请求,通过抓包工具对发送的请求进行抓包,并对抓包数据进行解析,获得目标参数,生成API接口测试用例;
修改校验模块,用于修改API接口测试用例的输入参数,加入返回值用于校验,修改完成后调试测试用例,直至运行成功,将测试用例加入API测试框架中。
本发明实施例需要提供一个模拟的HTTP服务,该服务能够提供各种HTTP请求,该模拟的HTTP服务可以理解为输入参数和输出参数和真实的系统是一模一样的,唯一不同的是中间的过程,如果创建一个用户,真实的系统是创建了一个用户,返回值为200,而本发明实施例模拟HTTP服务就是发了一个POST请求,返回值为200,从而达到模拟有输入有输出,而且内部加载的是HTTP服务。
针对研发人员提供的测试文档,对测试文档进行文本解析,并将解析后的数据注入到HTTP服务内部。比如某个POST请求,对模拟的HTTP服务发送POST请求,模拟的HTTP服务能返回接口文档中所提供的返回数据,因此模拟的HTTP服务配合接口文档就相当于真实的HTTP服务,返回数据和输入参数与接口文档保持一致。
待所有解析后的接口信息都注入到HTTP服务中后,使用HTTP服务界面触发接口请求。本发明实施例中设置HTTP服务界面,方便测试人员对接口请求进行触发模拟。
在发送完接口请求后,使用抓包工具对发送的请求进行抓包操作,并对抓包数据进行解析。例如使用“tom”登录并使用http服务发送请求,然后通过抓包工具进行抓包,并通过相关程序解析成API接口的测试用例,如下JSON文件所示:
程序会自动解析发送的接口并生成JSON测试用例,然后需要人工修改校验部分,加入额外的校验点,此处仅仅作为简单示例,JSON用例之间的逻辑关系,调用关系可参考JSON API测试框架。
数据包解析过程中,程序获取到抓包数据后,获取数据中的url、header、method以及已输入参数等,然后将这些数据写入到JSON文件中。
待测试用例生成后,需要人工参与对校验点进行完善,主要加入返回值进行相关的校验,根据返回值进行比对,完成校验工作。当测试用例修改完毕后,将测试用例加入到API测试框架中。
使用本发明实施例提供的模拟HTTP服务,调试测试用例直到测试用例运行成功,如运行失败则对校验点修改接口测试用例的输入参数和校验值,运行成功则将测试用例加入到API测试系统中。
以上为单个的API测试用例,当需要场景测试用例时,则将单个的AP I测试用例进行组装,即可变成场景用例。
本发明实施例通过HTTP服务模拟接口的各种操作,然后通过抓包工具对接口的数据进行抓包分析,并将抓包的数据直接解析成程序可以识别的API接口测试用例,通过对生成的测试用例稍作修改即可完成API的编写。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种接口自动化测试用例生成方法,其特征在于,所述方法包括以下操作:
模拟HTTP服务,用于接收POST请求,并配合接口文档,根据输入参数返回相应的输出参数;
解析接口文档,将解析后的接口文档数据导入模拟的HTTP服务中;
在HTTP服务界面触发接口请求,通过抓包工具对发送的请求进行抓包,并对抓包数据进行解析,获得目标参数,生成API接口测试用例;
修改API接口测试用例的输入参数,加入返回值用于校验,修改完成后调试测试用例,直至运行成功,将测试用例加入API测试框架中。
2.根据权利要求1所述的一种接口自动化测试用例生成方法,其特征在于,所述目标参数为url、header、method以及已输入参数。
3.根据权利要求2所述的一种接口自动化测试用例生成方法,其特征在于,所述目标参数加入JSON文件中。
4.根据权利要求1-3任意一项所述的一种接口自动化测试用例生成方法,其特征在于,所述测试用例可组装为场景用例。
5.一种接口自动化测试用例生成系统,其特征在于,所述系统包括:
HTTP服务模拟模块,用于模拟HTTP服务,用于接收POST请求,并配合接口文档,根据输入参数返回相应的输出参数;
接口信息导入模块,用于解析接口文档,将解析后的接口文档数据导入模拟的HTTP服务中;
请求解析模块,用于在HTTP服务界面触发接口请求,通过抓包工具对发送的请求进行抓包,并对抓包数据进行解析,获得目标参数,生成API接口测试用例;
修改校验模块,用于修改API接口测试用例的输入参数,加入返回值用于校验,修改完成后调试测试用例,直至运行成功,将测试用例加入API测试框架中。
6.根据权利要求5所述的一种接口自动化测试用例生成系统,其特征在于,所述目标参数为url、header、method以及已输入参数。
7.根据权利要求6所述的一种接口自动化测试用例生成系统,其特征在于,所述目标参数加入JSON文件中。
8.根据权利要求5-7任意一项所述的一种接口自动化测试用例生成系统,其特征在于,所述测试用例可组装为场景用例。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110590658.2A CN113204491A (zh) | 2021-05-28 | 2021-05-28 | 一种接口自动化测试用例生成方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110590658.2A CN113204491A (zh) | 2021-05-28 | 2021-05-28 | 一种接口自动化测试用例生成方法与系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113204491A true CN113204491A (zh) | 2021-08-03 |
Family
ID=77023450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110590658.2A Withdrawn CN113204491A (zh) | 2021-05-28 | 2021-05-28 | 一种接口自动化测试用例生成方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113204491A (zh) |
-
2021
- 2021-05-28 CN CN202110590658.2A patent/CN113204491A/zh not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8584083B2 (en) | Software application recreation | |
CN110716870B (zh) | 服务的自动化测试方法及装置 | |
US7895575B2 (en) | Apparatus and method for generating test driver | |
CN103729294B (zh) | 应用软件性能脚本测试方法与装置 | |
JP2022537620A (ja) | 人工知能チップ検証 | |
US20190034318A1 (en) | Hardware-Software Co-Verification for Debugging Firmware on a Hardware Simulator | |
CN107329889B (zh) | 一种c编译器自动化测试的方法 | |
CN111917603A (zh) | 客户端测试方法、装置、计算机设备及存储介质 | |
CN109344074B (zh) | 一种跨平台自动化测试方法及系统 | |
CN110688313A (zh) | 一种VxWorks操作系统下软件测试的故障注入方法 | |
CN115562982A (zh) | 参考模型调试方法、装置、电子设备和存储介质 | |
US7243059B2 (en) | Simulation of hardware based on smart buffer objects | |
CN107622017A (zh) | 一种通用自动化软件测试的解析方法 | |
CN110688269A (zh) | 采用axi总线接口的rtl代码自动化验证装置及方法 | |
CN117009231B (zh) | 基于对话式大语言模型的高可靠单元测试自动生成方法及装置 | |
CN106708742B (zh) | 一种通讯规约模块测试架构的自动化测试方法及装置 | |
CN117493188A (zh) | 接口测试方法及装置、电子设备及存储介质 | |
CN115934559A (zh) | 表单智能测试系统的测试方法 | |
CN109101414B (zh) | 基于埋点数据的海量ui测试生成方法及其装置 | |
CN113204491A (zh) | 一种接口自动化测试用例生成方法与系统 | |
CN115684896A (zh) | 芯片可测性设计测试方法、测试平台及其生成方法及装置 | |
CN115034165A (zh) | 一种芯片仿真验证方法、系统、设备以及存储介质 | |
CN114281709A (zh) | 一种单元测试方法、系统、电子设备及存储介质 | |
CN114661615A (zh) | 一种fpga软件测试方法和设备 | |
CN110347589B (zh) | 一种软件单元测试自动化检测方法及系统 |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210803 |