什么是接口测试:对系统内部各个子系统间交互点,系统与外部系统间交互点进行的测试
测试重点:要检查数据的交换,传递和业务逻辑处理的过程
简单的对接口做正确的数据传递不能成为接口测试。
为什么做:1个接口的bug可能覆盖7-8个功能的bug;提早发现问题,降低解决问题成本
接口自动化好处:稳定(与web自动化相比)、简单、效率、可信、时间。
接口请求方法有,get请求,post请求,HEAD请求,put请求,delete请求。。。。
=========get 、post 请求区别:(get)=>请求参数在地址后边,不安全;url长度限制get请求方式数据大小;没有请求体;一般HTTP请求大多都是GET。
(post)=>请求参数在请求体处,较安全;请求数据大小没限制;
报文格式
HTTP请求报文:请求方法、请求URL、HTTP协议及版本(HTTP 1.1 ->发送一个请求,响应多个资源)、报文头、空行、报文体
HTTP响应报文:报文协议及版本、状态码及状态描述、响应头、空行、响应体
HTTP状态码
1xx:表示请求已接收,继续处理 2xx:成功,但并不代表返回数据正确 3xx:重定向 4xx :客户端申请 5xx:服务器端错误
很好的分析bug,还需了解:
400:客户端请求有语法错误;404 请求资源不存在;
401请求未经授权;415不支持的媒体类型;403服务器收到请求,但拒绝提供服务;
503:服务器当前不能处理客户端请求,一段时间后可能恢复;500:服务器端错误
重中之重:
接口用例设计:
前提:了解业务逻辑;了解接口的输入输出;了解上边提到的内容;常用的接口测试工具;数据库操作命令;常见字符类型【char、varchar、text、int、float、datatime、string等】
用例模板
项目 | 模块 | 用例id | 接口名称 | 用例标题(测试用途概况) | 请求方式 | 请求url | 请求参数 | 前置条件 | 结果验证 | 请求报文(可以不写) | 返回报文(一定要写) | 测试结果 | 测试人员 |
接口测试考虑点:业务功能、边界分析、参数组合、异常情况、性能测试、安全测试
详情见下图
工具的使用:jmeter
jmeter运行前提:需要java环境(可参考 简单的环境搭建-java项目_SQQHELLO的博客-CSDN博客)