接口测试
接口功能比较单一,能够比较好的进行测试覆盖,相对容易实现自动化持续集成。
接口测试在单元测试之后,UI测试之前。
接口测试又称为API测试,重点关注数据传递。
web service一种跨变成语言和跨操作系统平台的远程调用技术,最重要的两种实现方式:SOAP & REST:
- SOAP:简单对象访问协议,交换数据的一种规范,一种轻量的、简单的、基于XML的协议。安全性高,面向协议
- REST:表示性状态转换,一种软件架构风格,可以降低开发的复杂性,提高系统的可伸缩性。效率高,面向资源
- RESTful API指的时REST风格的接口,一般来说REST等于RESTful
- 核心思想是资源,HTTP POST/GET/PUT/DELETE
- 幂等性:发送一次或多次请求引起的边界效应是一致的,post是不幂等方法
REST API 接口规范:
- 设计规范:
- 协议(https),域名(http://api.example.com),版本控制(放在URL或HEAD)
- 路径(只包含名词,不好包括动词),过滤信息(?limit=10、?page=1),Hypermedia API(返回结果中提供相关资源的链接,连向其他API方法)
- 验证,授权
- 返回结果设计:
- msg 提示信息,code 通用错误码,request 请求内容格式
Postman
模拟各种HTTP请求,Collection功能(测试集合),人性化的响应整理,内置测试脚本语言,设定变量与环境。
HTTP Header:
- Accept客户端接收的类型
- Accept-Charset浏览器接受的字符编码集
- Authorization授权证书
- Content-Type请求的与实体对应的MIME信息
- application/x-www-form-urlencoded
- application/json
- multipart/form-data既可以发送文本数据也支持二进制数据上传
- Referer先前网页的地址,当前请求网页紧跟 其后
测试计划:
- GET
- 正向用例:返回所有对象和返回某一个对象
- 负向用例:一个不存在的id,URL输入不正确
- POST
- 正向:正确参数
- 负向:参数name为空/重复,age为0/-1/100/101/字符串/null/空,salary为整数/带小数/负数/null/空
- PUT
- 正向:特殊字符,中文等
- 负向:id为空/无效值以上
- DELETE
- 正向:删除所有对象和删除某一个对象
- 负向:不存在的id,URL不正确