版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yu1014745867/article/details/83059413
1.什么是接口?
概念
接口是什么?
广义: 接口就是两个相对独立的部件之间交互信息的介质。
比如:电脑上的USB接口、汽车上的油箱口、部门接口人。
对于软件: 两个代码单元完成交互信息(数据传输)
系统内部
什么叫API?
应用程序编程接口
什么是接口测试?
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
接口测试
对于接口测试来说,一般分为二种情况,分别是基于http协议和基于web services协议,但是最常用的是基于http协议的。
接口测试,其中最常用的http方法是get和post,当然还有put,delete请求,接口测试的过程就是client(浏览器)向server(服务器端)request一个请求,server得到请求后,response返回给client响应数据。
GET: 从指定资源获取数据
post: 向指定的资源要被处理的数据,以登录为例
PUT: 上传指定的URL,一般是修改,可以理解为数据库中的update。
DELETE:删除指定资源。
在接口测试中,一般来说,post创建数据,get获取创建成功后的所有数据和指定的数据,put可以对创建成功后的数据进行修改,delete删除指定的资源。
2.HTTP协议
http需要掌握的知识
1.HTTP报文结构
2.HTTP方法(PUT\GET\POST\HEAD等)应用场景
3.常见的状态码含义(200\302\400\500等等)
4.HTTP头的构成
5.Cookies的管理
3.常用抓包工具
要掌握协议,必不可少的要掌握分析工具, 对于http抓包分析,常用工具:
- firefox下的firebug
- chrome直接按F12调出调试工具
第三方抓包工具
- fiddler
- httpwatch
专业的抓包工具
- wireshark
4.API主要测试什么
API测试至少应覆盖以下测试要点:
- 验证API所暴露的资源是否恰当的列出、创建、修改、和删除
- 验证API是否功能可用以及用户友好,是否便于与其他平台集成
- 安全测试,验证API是否包含了必要的认证以及敏感数据是否做了脱敏处理,是否支持加密或明码的http访问
- 自动化测试,将API高度业务场景化,实现自动化测试
- 文档,形成足够的文档,确保API质量的可维护行
5.API测试要注意什么
API测试过程中要重点关注:
- API测试用例要进行分类分组
- 每个API测试用例都应该参数化
- 在测试执行时,优先执行API测试
- 测试用例应该尽可能做到可独立执行
- 为了确保覆盖率,应该为API的所有可能输入进行测试数据规划
6.API测试能发现什么bug
API测试时,一般会发现:
- 无法正确处理错误的深入条件
- 缺少或重复功能
- 可靠性问题
- 安全问题
- 多线程问题
- 性能问题
- 响应数据结构不规范问题
- 有效参数值不能正确处理
7.API测试有哪些工具?
- SoapUI
- JMeter
- PostMan
- 自己写代码
8.API测试可能遇到的坑
- 无效的测试数据规划,导致你的参数穷举组合
- 因为没有界面,开发又不提供文档的情况下,大部分人无从下手
- 平时测试大都关注正常的正常的情况,但要注意异常处理API必须进行测试
- 代码你要会点代码,会点HTTP协议,不然没法沟通交流