公司新来了一个阿里出来的测试总监,面对两天周期的“敏捷测试”,分分钟甩出一份文档,我对着测了一天,找出了一百个bug。今晚,把公司门焊死,谁也别想走!
一、什么是接口测试?
接口统称api,即程序与程序之间的对接、交接、交互。是测试系统组件间接口的一种测试。
主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。
主要是为了检查不同组件(模块)之间数据的传递是否正确,
系统与第三方系统数据传递是否正确,例如微信、支付宝、银行
功能测试一般是在ui界面形成以后进行测试
中间:动态数据就是通过api 到数据库中获取资源(静态资源和动态资源)
最底层:就是代码
静态资源:图片、css ,html 从服务器端获取
动态资源:一般要查询数据库
前端页面中调用接口从服务器或者数据库中调用数据
二、为什么要做接口测试?(接口测试在什么时候测?)
1. 当界面功能未能显示出来时,可通过接口测试,测试平时测不出来的功能,也可节省时间
2. 数据主要通过接口进行传输,若系统间未能正常调用,对业务的处理影响巨大
3、测试一些界面功能测不到的场景
三、如何做接口测试?
项目前后台调用主要是基于http协议的接口,测试主要通过工具或代码模拟http请求发送和接收来实现手工接口测试和自动化测试。
1、接口测试工具
postman (谷歌浏览器插件,最常见的接口测试工具) 现在用的多
jmeter (最流行的接口和性能测试工具)
soapUI (接口和性能测试工具)
fiddler (抓包工具,可进行接口测试)
wireshark (抓包工具,可抓取TCP、UDP、TLS协议数据)
Charles (mac系统的抓包工具)
2、接口类型
http协议接口 (http、https 、RESTful风格的接口)
请求报文都是key-value形式的,返回报文一般都是json串和文本格式等等。
注意:RESTful API也是基于HTTP协议的,只不过RESTful它并不是一种规范,它是一种设计准则,用不同的HTTP动词(GET、POST、DELETE、PUT等)来表达不同的请求。
webservice (soap webservice、restful webservice)
注解:Web Service其实是一种概念,我们可以将以WEB形式提供的服务称为Web Service,所以像RESTful、XML-RPC、SOAP等都可以当成是Web Service的一种实现方式。
不过Web Service接口和HTTP接口存在一些细小区别就是,Web Service接口支持更复杂的对象,而HTTP接口更多的就是传输字符串或者JSON文本。
rmi协议接口:Webservice是系统对外的接口
RMI是针对于java语言的, RMI 允许您使用Java编写分布式对象
rpc协议接口
RPC技术是指远程过程调用,它本质上是一种Client/Server模式,可以像调用本地方法一样去调用远程服务器上的方法,它支持多种协议(如:HTTP、TCP、UDP、自定协议)和多种数据传输方式(如:Json、XML、Binary、Protobuf等)。
后面用微服务用得多
3、接口测试流程
1. 接口测试需求分析
2. 接口测试需求评审
3. 编写接口测试计划(有些接口要压力测试、性能测试)
4. 编写接口测试用例、用例评审(一般不需要写用例)
5. 用例在接口测试工具中执行
6. 发现Bug提交到用例管理工具中
7. 小结报告
8. 总结报告(一般放功能报告里,若需要做接口性能测试,需单独放出来)
备注:一般接口测试有一个接口文档,是开发写的
如果没有接口文档,就自己去抓包
在这里我们先安装下postman和fidder
由于篇幅原因,无法把阿里大佬的接口测试文档完整发出来,需要这份文档的朋友们,欢迎关注并私信我关键词“软件测试”免费获取哟