1、接口测试分类
内部接口:系统各个子模块之间的接口,或者系统提供给内部系统使用的接口
外部接口:
-
系统调用外部的接口
-
系统对外提供的接口
接口测试重点:检查接口参数传递的正确性。接口功能的正确性,输出结果的正确性,以及对各种异常情况的容错处理,权限控制、分页、调用次数的限制。
2、目前接口的架构设计
-
基于SOAP架构,XML规范,WebSerice协议。特点:接口地址?wsdl结尾。
-
基于RPC架构,dubbo协议,thritf协议。SpringCloud微服务。
-
基于RestFul架构,json规范,http协议。
json数据格式只有两种数据类型:键值对、数组
http协议详解:
请求:请求行,请求头,请求正文
请求行:
POST http://....................
请求头:(重要的类型)
Host:47.107.116.139(请求主机)
Accept:application/json,text/javascript,* / *,q=0.01(数据格式)
X-Requested-With:XMLHttpRequest(异步请求)
User-Agent(客户类型)
Content-Type(内容类型)
Cookie(Cookie信息,客户端发送给服务器)
响应:响应行,响应头,响应正文
3、接口都有那些部分组成呢
- 接口说明
- 调用url
- 请求方法(get\post)
- 请求参数、参数类型、请求参数说明
- 返回参数说明
4、流行的接口测试工具
-
Jmeter+Ant+Git+Jenkins
-
Postman+Newman+Git+Jenkins
一、Jmeter
jmeter是一款100%纯Java编写的免费开源的工具,它主要用来做性能测试,相比loadrunner来说,它内存占用小,免费开源,轻巧方便、无需安装,越来越被大众所喜爱。
基于java语言的压力测试工具,可以做接口测试,也可以做性能测试。
安装条件:jdk1.8以上
常用组件
-
测试计划:起点,所有组件的容器
-
线程组:代表一定数量的用户
-
取样器:像服务器发送请求的最小单元
-
逻辑控制器:结合取样器实现一些复杂的逻辑
-
前置处理器:在请求之前工作
-
后置处理器:在请求之后工作
-
断言:判断请求是否成功
-
定时器:负责在请求之间的延迟间隔。固定,随机
-
配置元件:配置信息
-
监听器:负责收集结果
执行顺序:
测试计划--> 线程组-->配置元件-->前置处理器-->定时器-->取样器-->后置处理器-->断言-->监听器
作用域:
必须组件:测试计划、线程组、取样器
辅助组件:除必须组件外的组件。辅助组件作用于父组件、同级组件以及同级组件之下的子组件
Jmeter执行接口测试步骤
1、拿到接口文档。熟悉接口业务,接口地址,鉴权方式,入参,出参,错误码。
2、编写测试用例
3、使用接口测试工具执行
4、Jmeter+Ant+Git+Jenkins实现持续集成输出接口测试报告。通过电子邮件发送
二、Postman
Postman是谷歌的一款接口测试插件,它使用简单,支持用例管理,支持get、post、文件上传、响应验证、变量管理、环境参数管理等功能,可以批量运行,并支持用例导出、导入。
基本功能:
-
常见类型的接口请求
-
接口响应数据的解析
-
接口管理(Collection)
-
批量执行接口请求
-
日志调试
-
断言
-
变量
-
请求前置脚本
-
接口关联
-
常见的返回值获取
测试接口方法说明
1、发送一个get请求的方法:
选择get请求方式,输入要请求的url,传参方式以json为例,选择raw再选择JSON,然后将参数填入请求参数区,点击send发送请求,在响应区即可看到返回结果。
2、发送一个post请求实例:
选择post请求方式,输入要请求的url,传参方式以混合表单为例,选择form-data,然后将参数名称和对应的值填入参数区,点击send发送请求,在响应区即可看到返回结果。