接口测试

接口测试的流程

  1.找后端拿接口文档
  2.写测试计划
  3.分析接口(确认接口之间的业务关系)
  4.写用例,评审用例
  5.执行用例去测试(自动化:根据用例编写脚本)
  6.结果分析
  7.bug提交
  8.修复后,回归测试

一般的接口文档包含那些

请求参数、返回参数、URL、请求方式

接口case包含哪些内容

用例标题,优先级,所属模块,资源路径,请求参数,请求方式,测试数据,预期结果(应该有结果),实际结果

接口测试需要测什么,关注什么验证什么,测试点

接口测试汇总:
参数测试、返回值验证、业务数据、接口之间、DB验证

1.参数测试:
  1.1针对输入参数和输出参数的测试,包括对类型、长度、校验判断等
  1.2异常参数:参数不合法输入,考虑接口内部逻辑错误的异常提示,这些体现在完备的responsecode错误代码中。
2.返回值验证:
  2.1正确返回:返回的code是否正确,返回的数据是否和DB一致
  2.2异常返回:是否定义全面,存在遗漏
3.业务数据:
  3.1单个参数要符合业务数据属性或定义
  3.2多个参数值之间要具有业务含义,赋值需要考虑业务上一一对应的业务关系
4.接口之间:
  多个接口之间的数据是否存在关联
5.DB验证:
  5.1接口逻辑是否落地到DB
  5.2DB存储数据是否准确

有依赖关系/关联的接口怎么测试

比如B接口的请求参数是A接口的响应数据
我们需要请求A接口,拿到数据后,把需要的数据提取出来,放入B接口进行请求

具体实现的话使用我们常用的那些工具都可以,像postman,Jmeter,python脚本都行
1.postman:请求A接口,在Tests脚本里面写js代码,将数据解析后提取想要的数据,存为全局/环境变量,在B接口请求的时候关联使用({{id}})
2.Jmeter:请求A接口,给A接口添加后处理器--正则提取器,通过正则的方式,将数据提取出来变成用户变量,在B接口中关联使用(${id})
3.python: 使用requests请求A接口,拿到响应后解析成json,然后取出想要的数据,进行B接口的请求,将取出的参数塞入即可

postman工具是什么,有什么用

postman是一款强大的http调试工具,我们一般使用它来做接口测试。
常用功能:
1.创建测试和生产环境,添加相对的环境变量,比如baseurl
2.创建接口集,里面添加项目接口
3.添加接口集,可以发起get/post/delete/put等请求
4.GET请求查询参数放入params中,post请求参数放入bady中,可以是普通键值对,json/html/xml/文件,请求头都是放入headers里面
5.pre-request script预处理脚本,在发起网络请求之前会调用的js代码,可以再里面换取一些动态的参数,比如时间戳,随机数等
6.tests脚本,再发起网络请求成功拿到响应之后调用,可以在里面添加断言,判断响应数据是否正确
7.mock测试,模拟服务器返回自己想要的测试数据
8.参数化:环境变量,全局变量,csv参数化
	1.写一个csv/txt文档,把测试数据放入
	2.建接口集,里面写接口
	3.接口传递的参数不能写死,使用关联的方式({{key}}),key应该是csv文件表头名字
	4.双击接口集,点击右上角的run,打开Runner
	5.配置参数:
	  Iterations(迭代次数)
	  Delay: 延迟对应的事件发起请求
	  data:选择csv文件
	  Data file type: 选择文件的类型(text/csv)
	6.点击运行

Charles抓包

什么是抓包,有什么作用

抓包:
  抓包是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也可以用来检查网络安全。

常见的抓包工具:
  charlers,fiddler,wires hark等等

作用:
  1.定位前后端问题:
    app:通过抓包看网络请求
    web:浏览器按F12,点到network,在下面找到对应的网络请求,看url还有参数,如果url和参数不对,就是前端的问题,如果没有问题,看响应数据,如果响应数据有问题,那么就是后端的问题,如果数据没有问题那就是前端的问题。
  2.模拟404
  3.模拟弱网
  4.mock测试

抓包的时候遇到乱码一般是什么原因

1.没有信任证书导致的,因为HTTPS是加密传输的
2.数据本身还做过加密,除非拿到密钥,否则没办法解密

mock测试,rewrite,map remote/local的作用

mock测试:
  模拟我们想要的请求和测试数据返回
charles:
  断点:断点可以修改请求数据和响应数据,一般用来临时修改
map:本质上都是重定向
  map local:拿本地文件替换服务器返回的数据
  map remote:拿另一个链接返回的数据替换原来数据
rewrite:
  通过正则匹配的方式,修改请求/响应数据

Charles具体操作

怎么信任证书

把抓包工具的证书导出,在对应的浏览器/手机中信任

charles具体操作:
安装:help --> ssl proxying--> install charles root certificate
导出:help-->ssl proxying-->save Charles root certificate,选择.cer格式的证书
信任:chrome浏览器:设置 → 管理证书(安全) → 导入

移动端怎么抓包

1.PC和手机在同一个网络下
2.手机需要设置代理,IP和端口号
3.信任证书
4.开启app进行抓包

map local使用步骤

Tools--map Local--指定本地文件

map remote使用步骤

tools--map remote -->指定重定向的链接

断点修改请求参数

选中链接-->右键 -->选择“BreakPoints” -->刷新网页 -->Edit Request,修改请求信息-->Execute

断点修改响应数据

选中链接-->右键 -->选择“BreakPoints” -->刷新网页 -->Edit Response”,修改响应数据-->Execute

rewrite

Tools-Rewrite -->添加对应的链接,规则

弱网 使用步骤

Proxy-->Throttling Settings(节流阀设置) -->可以选择3G,4G,56kbps,256kbps....

模拟404 使用步骤

tools——>blocklist--> 添加网址
posted @ 2022-10-10 16:43  蓝桉、  阅读(98)  评论(0)    收藏  举报