全网最强,接口测试知识汇总,从0到1彻底贯通...


前言

接口测试流程

①找后端拿接口文档
②写测试计划
③分析接口(确认接口之间的业务关系)
④写用例,评审用例
⑤执行用例去测试(自动化:根据用例编写脚本)
⑥结果分析
⑦bug提交
⑧修复后,回归测试

一般的接口文档包含

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

接口测试用例

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

接口测试需要测什么?测试点?

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

参数测试:
针对输入参数和输出参数的测试,包括对类型、长度、校验判断等

异常参数:参数不合法输入,考虑接口内部逻辑错误的异常提示,这些体现在完备的responsecode错误代码中。

返回值验证:
正确返回:返回的code是否正确,返回的数据是否和DB一致
异常返回:是否定义全面,存在遗漏

业务数据:
单个参数要符合业务数据属性或定义
多个参数值之间要具有业务含义,赋值需要考虑业务上一一对应的业务关系

接口之间:
多个接口之间的数据是否存在关联

DB验证:
接口逻辑是否落地到DB
DB存储数据是否准确

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

具体实现的话使用我们常用的那些工具都可以,像postman,Jmeter,python脚本都行

工具型:
postman:请求A接口,在Tests脚本里面写js代码,将数据解析后提取想要的数据,存为全局/环境变量,在B接口请求的时候关联使用({{id}})
Jmeter:请求A接口,给A接口添加后处理器–正则提取器,通过正则的方式,将数据提取出来变成用户变量,在B接口中关联使用(${id})

代码型:
python: 使用requests请求A接口,拿到响应后解析成json,然后取出想要的数据,进行B接口的请求,将取出的参数塞入即可

postman怎么用?

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

配置参数:
Iterations(迭代次数)
Delay: 延迟对应的事件发起请求
data:选择csv文件
Data file type: 选择文件的类型(text/csv)
点击运行;

什么是抓包?有什么用?

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

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

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

抓包乱码什么原因?

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

Charles怎么信任证书?

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

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

APP移动端怎么抓包?

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

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

奋斗是一种勇敢的选择,成功是一种必然的结果。不论现在多么困难,坚持努力,迎接挑战。披荆斩棘的路上,收获的不仅是成就,更是内心的成长和无尽的可能。相信自己,你能够创造奇迹!

每一次坚持都是一次积累,每一次努力都是一次进步。不要害怕挫折,不要畏惧失败。奋斗的道路上,跌倒了就爬起来,失败了就重新开始。相信自己的力量,勇往直前,你将成为无人能及的强者!

生命中最辉煌的篇章,属于那些始终坚持不懈、不畏艰难困苦的人。不要停下脚步,不要放弃梦想。即使前路崎岖,也要迎难而上,勇往直前。相信自己的力量,奋斗出你想要的人生!

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值