1、什么是接口?
电脑:USB,投影仪 作用:数据传输
软件:API(application Program Interface),微信提现和充值接口,支付宝支付,银联支付接口(鉴权码,token,key,appkey)。
接口:内部接口和外部接口
内部接口:开发人员开发的对自身系统提供的接口。
外部接口:开发系统调用外部的:微信、支付宝等其他接口。
总结:软件提供给外部的一种服务,用于做数据传输。
2、软件为什么需要接口?
因为接口能够让内部的数据通过外部进行修改。
3、我们为什么要做接口测试?
(1)很多系统都是前后端分离,开发进步不一样,需要把刚开始开发出来的接口进行测试。
(2)基于安全考虑,前端有验证,很容易绕过。直接请求接口
(3)测试推崇的测试左移,尽早介入。
接口测试的本质:测试接口能否正常的交互,权限控制以及异常场景。
4、接口返回的数据格式:
(1)JSON数据(80%)
json由两种数据组成
Map对象:键值对{key1:value1,key2:value2}
数组:[value1,value2,value3]
格式化json数组:www.bejson.com
(2)Html数据
(3)Xml数据
<?xml?version="1.0" encoding="utf-8">
<error_code>0</error_code>
</xml>
5、接口测试协议
(1)webservice:接口地址:http://........?wsdl
soap协议,wsdl
restful规则:get获取数据,post提交数据,put修改数据,delete删除数据
http://192.168.12.1:8080/user
(2)dubbo协议:接口地址:dubbo://......
适用于少量数据的传输,大并发
(3)http协议:超文本协议,主要用于浏览器和服务器之间交互数据,交互有两个部分:
请求:get post put delete
响应:1XX信息 2XX成功 3XX重定向(跳转不传值) 4XX客户端错误 5XX服务端错误
接口地址:http://..... 80%
https=http+ssl安全传输协议 端口:443
http:端口80
请求包含:
请求行:请求方式 请求地址 协议 如:POST http://47.107.116.139/phpwind/index.php
请求头:
Accept:application/json,text/javascript,“/”,q=0.01 表示客户端可以接收的数据格式
X-Request-With:XMLHTTPRequest 异步请求
User-Agent:PostmanRuntime、7.26.5 客户端的用户代理
Cache-Control:
Postman-token
Host:47.107.116.139 请求的主机地址
Accept-Encoding:gzip 压缩方式
Connection:keep-alive 保持活跃
Cookie: ........................... 请求cookie信息
Content-Length:0 内容长度
空一行
请求正文
响应包含:
响应行:协议,响应码,响应信息 如:HTTP/1.1 200 OK
响应头:
Server:nginx 服务器类型
Date:...... 响应时间
Content-type:......响应内容类型
Connection:...... 连接方式
X-powered-By:PHP/5.6.36 php版本
Set-Cookie:...... 响应的cookie
Content-Length:...... 响应内容长度
空一行
响应内容
6、企业接口测试的流程和方案?
(1)拿到api文档,熟悉接口的业务,接口地址,鉴权,入参,出参,错误码
(2)接口计划和方案(怎么测)
思路:
正例:输入正常的入参,查看接口是否返回成功
反例:
鉴权反例:鉴权为空,鉴权码错误,鉴权码过期等
参数反例:参数为空,参数类型错误,参数长度异常,错误码的覆盖
其他场景:分页异常
(3)编写用例和评审
(4)执行接口测试
(5)生成接口测试报告
7、接口测试工具
postman,jmeter,soupui,apipost,fidder,charies
postman:是一款功能强大的网页调试与发送HTTP请求的Chrome插件,专为接口而生。
Postman安装:
(1)打开Chrome浏览器-更多工具-扩展程序-开发者模式-chrome网上应用宝
(2)客户端下载:https://www.getpostman.com/apps