当前位置: 首页 > news >正文

全网最完整,接口测试总结彻底打通接口自动化大门,看这篇就够了......

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

所谓接口,是指同一个系统中模块与模块间的数据传递接口、前后端交互、跨系统跨平台跨数据库的对接。而接口测试,则是通过接口的不同情况下的输入,去对比输出,看看是否满足接口规范所规定的功能、安全以及性能方面的要求。

为什么要做接口测试?

相比系统测试,更早介入测试,提高效率;
可以发现前端测试不了的问题,提高版本质量;
接口标准化了,更容易实现自动化和持续集成,降低测试成本;

jmeter接口测试:https://www.bilibili.com/video/BV19b4y1t79V/

因此在软件测试招聘岗位的要求中,无论是功能测试、自动化测试、性能测试亦或测试开发岗位,接口测试都是必须掌握的!

如何开展接口测试?

接口测试的开展一般包含5个部分:接口文档分析、接口用例设计、执行接口用例、定位bug提交并跟踪、输出接口测试报告。

接口文档分析

接口文档一般是由后端开发提供,可以是在线的swagger也可以是word。

请添加图片描述

若开发未提供接口文档,则可通过抓包工具fiddler或charles去抓取接口信息进行分析,进行接口测试。

请添加图片描述

获取到接口文档后,我们需要理清楚每个接口包含的请求、响应信息,概括为 接口信息五要素:

1)接口地址url:
例注册接口地址:http://api.xxxxxx.com:1516/xxx

http-请求协议,api.xxxxxx.com-域名或ip,1516-端口号,/xxx-资源路径

2)请求方法:
看开发定义的请求方法是什么,测试就对应用什么方法。restful风格中常见的请求方法为post、get、put、patch、delete等

3)请求头:
发送请求到服务器,包含的头部信息。常见的content-type。

4)请求体:
发送请求到服务器,具体传递的数据。例如要完成注册接口的调用,请求体包含手机号mobile_phone、密码pwd、用户名reg_name、验证码verification_code。

5)响应内容:
接口文档中描述的响应内容,与接口测试的实际结果做比较,可以判断当前接口是否通过。响应内容包含:响应码-http状态码、响应头、响应体。

接口用例设计

接口用例设计跟功能测试思维相通,需要:
1)清楚项目业务
2)运用用例设计8大方法:等价类、边界值、场景法、因果图、判定表、正交试验法、状态迁移法、错误推测法。

以下是接口用例模板参考:

请添加图片描述

执行接口用例,进行接口测试

接口测试原理: 模拟客户端发送请求到服务器,服务器接收请求并处理,返回响应到客户端, 客户端接收响应这样的一个过程。

通过接口测试原理可知,进行接口测试需要借助工具或代码。主流的接口测试工具Jmeter、postman。使用工具编写脚本,需要结合接口项目具体应用场景来设计,运用关联、参数化、断言等技术。

请添加图片描述

请添加图片描述

发现bug、定位、提交并跟踪

怎么判断是否是bug呢?
1)接口测试中响应结果错误,返回了错误的code码、msg信息:
判断请求:请求地址、方式、请求头、请求正文是否正确,如果不正确则修改对应请求信息再做发送;如果正确,则说明是服务器端问题
进一步查看服务器日志、数据库信息,并整理信息提交bug

2)接口测试中响应结果,code码、msg正确,但返回的data数据不正确:
查看数据库数据正确完整性,并结合服务器日志,整理信息提交bug

3)接口测试中响应结果正确,但若是增删改业务操作:
需进一步确认到数据库层面,数据增删改的正确性

4)考虑安全性:一般接口对请求会做出一些限制,比如请求次数、请求频率限制;涉及敏感信息是否加密

接口测试报告

接口测试报告的整理这个看公司要求。有些公司是在整个项目测试结束后,整理一份统一的测试报告。有些公司会要求输出阶段性的测试报告。

请添加图片描述

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

生活不会亏待努力的人,你要做的,就是用最少的悔恨面对过去,用最少的浪费面对现在,用最多的梦想面对未来。

人能走多远?不应问两腿,而应问志向!人能攀多高?不应问双手,而应问意志!没有比人更高的山,没有比脚更长的路。

只有创造,才是真正的享受,只有拚搏,才是充实的生活。崇高的理想就像生长在高山上的鲜花。如果要搞下它,勤奋才能是攀登的绳索。

相关文章:

  • 【JVM虚拟机面试宝典】JVM的内存结构是怎么样的?在JVM中会发生内存溢出的区域有那些?— day06
  • C++ string类
  • 细数那些惊艳一时的 CSS 属性
  • 【C语言】你真的了解结构体吗
  • 可做题2(矩阵快速幂,乘法逆元,exgcd)
  • Mysql用户权限分配详解
  • 一文7个步骤从0到1教你搭建Selenium 自动化测试环境
  • 【网络安全工程师】从零基础到进阶,看这一篇就够了
  • 【C陷阱与缺陷】----语法陷阱
  • 解忧杂货铺(五续集):用了无法离开的网站资源
  • 功能测试转型测试开发年薪27W,又一名功能测试摆脱点点点,进了大厂
  • iOS 紧急通知
  • 艹,终于在8226上把灯点亮了
  • Linux上用Samba建立共享文件夹并通过Linux测试
  • shell简单使用介绍
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • Apache Spark Streaming 使用实例
  • Docker: 容器互访的三种方式
  • ECMAScript6(0):ES6简明参考手册
  • github指令
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • Java-详解HashMap
  • 对JS继承的一点思考
  • 机器学习 vs. 深度学习
  • 基于遗传算法的优化问题求解
  • 前端之Sass/Scss实战笔记
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 算法-图和图算法
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • Mac 上flink的安装与启动
  • zabbix3.2监控linux磁盘IO
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • 交换综合实验一
  • ​卜东波研究员:高观点下的少儿计算思维
  • #Java第九次作业--输入输出流和文件操作
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (6)添加vue-cookie
  • (9)目标检测_SSD的原理
  • (C#)一个最简单的链表类
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (转)3D模板阴影原理
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • (转)http-server应用
  • (转)大型网站架构演变和知识体系
  • .NET MVC之AOP
  • .NET 的静态构造函数是否线程安全?答案是肯定的!
  • .net实现客户区延伸至至非客户区
  • .net实现头像缩放截取功能 -----转载自accp教程网
  • .net中应用SQL缓存(实例使用)
  • [ vulhub漏洞复现篇 ] AppWeb认证绕过漏洞(CVE-2018-8715)
  • [ vulhub漏洞复现篇 ] Grafana任意文件读取漏洞CVE-2021-43798
  • [BZOJ] 2427: [HAOI2010]软件安装
  • [C++11 多线程同步] --- 条件变量的那些坑【条件变量信号丢失和条件变量虚假唤醒(spurious wakeup)】
  • [CCIE历程]CCIE # 20604