一、接口测试灵魂拷问
1、什么是接口?
电脑:USB,投影机(数据传输)
软件:统称APl(application,program,interface)微信提现和充值,支付宝支付,银联支付接口。(鉴权码: token、key、appkey)
接口包括:内部接口和外部接口
- 内部接口:开发人员自己开发的对自身系统提供的接口
- 外部接口:开发系统调用外部的,微信,支付宝,其他的
接口总结:接口就是软件提供给外部的一种服务,用于做数据传输
2、****软件为什么需要接口?
因为接口能够让内部的数据被外部进行修改。
3、我们为什么要做接口测试?
(1)现在很多系统都是前后端分离,开发的进度不一样,需要把一开始开发出来的接口进行测试。
(2)基于安全考虑,前端有验证很容易绕过,直接请求接口,特别:身份证信息,银行卡,金钱交易
(3)测试推崇的是测试左移,测试尽早的介入。
4、接口测试的本质****?
接口测试就是测试接口能否正常的交互数据,权限控制以及异常场景
二、接口返回数据和JSON详解
1.json格式
(1)由三组数据组成(80%)
例:{error_code:0,msg:"提现成功",data:[]}
解析:
- error_code:错误码,0代表成功
- msg:对错误码的中文说明
- data:真正的返回的数据
(2)由两组数据组成(20%)
- MAP对象;
- 键值对,(key:value,key:value};
- 数组:[value1.value2,value3]
2.html格式
例:<htm>
<title></title> <body><error_code>0</error code>
</body> </html>3.xml格式
例:<?xml?version="1.0" encoding="utf-8">
<error code>0</error code>
</xml>三、接口测试协议
1.webservice协议
接口地址:http://........?wsdl(网络服务描述语言,Web Services Description Language,基于XML)
http://192.168.12.1:8080/addUser
http://192.168.12.1:8080/deluser
http //192.168.12.1:8080/updUser
http-//192.168.12.1:8080/selUser
****2.****dubbo协议
接口地址以dubbo:/..
适用于少量数据的传输,大并发。
*3.http协议(*****80%****)
****接口地址:http:// ****
https=http+ssl安全传输协议 端口:443
http:端口80
restful规则:get获取数据,post提交数据,put修改数据,delete删除数据。
例:http //192 168 12 1.8080/user
解析:
- URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。
- 看Url就知道要什么
- 看http method就知道干什么
- 服务器根据method的不同来判断浏览器期望做的业务行为
- 看http status code就知道结果如何
- HTTP 响应状态代码指示特定 HTTP 请求是否已成功完成
*4.什么是htt*p协议?
- http是超文本传输协议,主要用于浏览器和服务器之间交互数据,交互有两个部分
- 请求方法:get,post,put,delete
- 响应码:1XX信息,2XX成功,3XX重定向(跳转不传值),4XX客户端错误,5XX服务器错误。
****请求部分包含:****请求行、请求头、空一行、请求正文
- 请求行:请求方式,请求地址,协议
例:http://47.107.116.139/phpwind/index.php?m=u&c=login&a=dorun HTTP/1.1
- 请求头:
- 空一行
- 请求正文
响应****部分包含:相应行、响应头、空一行、响应正文
- 响应行:协议,响应码,响应信息
例:HTTP/1.1 200 OK
- 响应头:
- 空一行
- 响应正文
四、企业接口测试的流程和方案?
1.拿到api接口文档
熟悉接口的业务,接口地址,鉴权,入参,出参,错误码;
2.接口计划和方案
思路:
- 正例:输入正常的入参,查看接口是否返回成功。
- 反例:
- 鉴权反例:鉴权为空,鉴权码错误,鉴权码已过期
- 参数反例:参数空,参数类型异常,参数长度异常。
- 错误码的覆盖。
- 其他场景:分页异常。
3.编写用例和评审
4.执行接口测试
5.输出接口测试报告
五、接口测试工具以及Postman介绍
****1.****接口测试工具
postman,jmeter,soupui,apipost,fiddler,charles
*2.Postman工具*请求部分的页签
Params:用于在get请求传参
Authorization:postman自带的鉴权功能
Headers:请求头
Body:post请求传参
none:没有参数
form-data:即有文件又有键值对。
x-www-form..只传输键值对
Pre-request Sciprt:接口请求之前的脚本。
Tests:断言的代码
Cookies:Postman的cookie的管理器
code:生产接口自动化脚本。
*3.Postman工具响应*部分的页签
Body:返回的数据
Pretty:以json格式展示
Raw:以文本的格式展示
Preview:以网页的格式展示
cookie返回的cookie信息
Headers响应头
TestResults:断言结果
status:状态码
time消耗的时间
szie:字节数
版权归原作者 付贵花花 所有, 如有侵权,请联系我们删除。