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

接口测试流程+jmeter并发+面试题(总结)

目录:导读

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


前言

1、接口测试流程

接口流程1、需求分析

项目立项后,对于整体产品的需求进行认识和理解(与功能测试的需求分析是一致的)。

接口流程2 、api文档分析【重点】该环节主要分析:请求和响应。

请求:
1)请求url是否合理
2)请求信息头是否明确
3)请求方法是否合理
4)请求参数是否必填、含义、参数方式(url\form\json)

响应:
1)响应状态码是否合理
2)响应数据格式是否明确
3)响应信息头内容是否明确异常:异常返回信息和错误代码业务:接口彼此之间依赖关系

在这里插入图片描述

该流程重点是:
1)请求参数方式和类型
2)接口之间依赖关系
3)错误异常

流程3、测试计划

由测试经理编写,目的:分配测试任务进度安排和指导测试方案执行。
核心:目的,范围,背景,准入准出,软件硬件环境,风险预测及控制。

流程4、用例设计

提示:该环节主要针对参数、测试数据、安全、依赖、异常进行覆盖。

测试用例大体分为两种:
1)根据需求进行提取测试点
2)设计用例覆盖测试点

在这里插入图片描述

流程5、环境搭建
流程6: 用例执行
流程7:缺陷管理

使用缺陷管理工具来对执行用例的缺陷进行管理(与功能测试缺陷管理一致)
提示:缺陷提交->修复->回归->关闭

流程8:测试报告

测试报告不同公司有不同的模板,但测试报告主题内容一般分为下列四部分:
1)测试过程
2)缺陷统计
3)缺陷分析
4)测试总结

最后总结:

总结1:接口测试需要围绕测试计划实施
总结2:接口测试重点是:api文档分析、用例设计接口api文档分析要重点查看下面两项:
1)请求参数说明 如:是否必填、类型、取值范围
2)接口之间业务以来关系

总结3:具体接口应用工具主要根据后台协议和测试计划测试工具来定,可使用工具如:postman、jmeter等等

2、jmeter并发测试何保证多线程按顺序执行

1)没有处理线程执行顺序时,多个线程里的请求是一起执行的,不分先后。(未勾选独立线程运行结果)

2)在测试计划里勾选独立运行每个线程组。(测试计划处勾选独立运行每个线程组)

3)勾选完后再次执行,发现线程按照正常顺序执行。(勾选独立运行线程后的结果),在Jmeter进行并发测试时,经常会出现请求没有按照顺序执行

4)为什么会出现这种情况呢?那是因为多线程竞争的原因。多线程执行并发操作,肯定是谁跑得快谁就先执行,线程才不会傻乎乎的的排队。

5)jmeter自带了一个事物锁控制器。
6)官方把它定义为线程锁控制器(Critical Section Controller),位置在添加-逻辑控制器-Critical Section Controller里面

7)意思就是这个锁下面的请求,在相同的时间点只会有一个线程去执行它,也就意味着这个锁下面的事物在相同的时间点会给每个线程分配一个,不会产生竞争。
8)设置了线程锁控制器(Critical Section Controller)后,再次看结果树
9) 此时就可以按照顺序执行了。

3、Fiddler在接口测试中的作用

我们都知道 fiddler 是一款非常优秀的调试代理工具,用于记录客户端和服务端之间的所有的通信数据。软件测试工作中,主要
可以帮助我们来完成以下事情:
定位前后端 bug
篡改数据
弱网模拟测试
获取前端性能数据

1)定位前后端bug

当我们操作页面端发现一个 bug 时,对业务充分熟悉且有足够经验的测试工程师可以直接判断是否前后端 bug;但无经验的不要慌,可通过 fiddler
抓取 request、response 数据,分析定位前后端 bug。
Fiddler 怎么配置以及怎么抓取数据,本文章省略,可自行百度解决。

a: 查看请求的 http 状态码是否正确。例:若抓取到的请求返回的 http 状态码为 404,说明可能是前端 JS 提交了错误的地址,也可能是后端

服务器没有对应地址的服务;若抓取到的请求返回的 http 状态码为 500,说明是后端服务器内部错误。

b: 查看请求的 http 状态码 200 但界面提示报错,则具体分析 request 及 response 信息,确认是否前端请求传参错误,若前端对应请求地址及传参都正确,则确认后端问题。

2)篡改数据

断点篡改请求数据:
当我们在测试的时候,仅仅通过页面来发起请求进行测试,会因为前端的一些输入限制,导致测试不能覆盖所有场景。比如微信发送红包金额前端

限制 0.01-200 元,那我们测试的时候,通过抓包,需要修改请求红包金额超过 200,验证服务器端是否正常处理超出数据。

还比如我们很多项目都会涉及到支付功能,假设购买 1 件商品,在提交订单后、跳转到支付窗口之前,通过抓包能抓取到支付金额及数量的请求
信息,并去篡改了支付金额或数量,然后以超低价格购买到多数量的高额商品。那就是严重 bug 了!

以上这些可以通过 fiddler 打断点,来修改请求数据。
1: 设置 Rules—>Automatic Breakpoints—>Before Requests
2: 然后在界面点击提交订单,看到请求前有红色禁行标识,说明设置了断点,请求被拦截了;

3: 点击该请求,在右侧 WebForms 视图下会看到请求发送的具体内容,修改金额后,再点击 Run to Completion 按钮。这样就完成了数据的篡改。

那么在涉及到支付等重要场景时可利用这种方法来完成服务器安全性校验。一般我们可以要求开发在数据包中不要加入价格等敏感数据。

接口测试项目实战

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

人生最耀眼的不是站在聚光灯下的瞬间,而是黑暗中依然前行的勇气。当你觉得撑不住时,请记住:每个伟大的突破都藏在"再坚持一天"的决定里。你的脚步,正在创造属于自己的传奇!

别被暂时的风雨模糊了视线!那些让你流泪的磨练,正在雕刻更璀璨的未来。当别人选择放弃时,你的坚持就是胜利的宣言。向前奔跑吧,整个世界都在等待你的光芒绽放!

http://www.dtcms.com/a/393752.html

相关文章:

  • JMeter下载安装及入门教程
  • Oracle体系结构-Java Pool详解
  • ​​Service Worker 缓存 与 HTTP 缓存 是什么关系?
  • c++ 之三/五法则
  • 传输层协议 UDP
  • 关于类和对象(一)
  • 多人协作下的游戏程序架构 —— 分层方案
  • 机器学习中三个是基础的指标:​准确率 (Accuracy)​、精确率 (Precision)​​ 和 ​召回率 (Recall)​
  • 《Web端图像剪辑方案:Canvas API与JavaScript实现》
  • DeepSeek 登《自然》封面,OpenAI 推出 GPT-5-Codex,Notion Agent 首亮相!| AI Weekly 9.15-9.21
  • 多线程-初阶
  • 在 R 语言中,%>% 是 管道操作符 (Pipe Operator),它来自 magrittr 包(后被 dplyr 等 tidyverse 包广泛采用)
  • IMX6ULL学习笔记_Boot和裸机篇(1)--- SEGGER Embedded Studio 和 Uboot 环境搭建
  • 纯JS代码录制网页中的视频(可多线操作)
  • Javase 基础加强 —— 11 线程池
  • 分布式锁-Redis实现
  • 对于ModelScope的AI模型git部署感悟
  • [论文阅读] 人工智能 + 软件工程 | 从“人工扒日志”到“AI自动诊断”:LogCoT框架的3大核心创新
  • 【软考中级 - 软件设计师 - 应用技术】软件工程案例分析之软件测试实践
  • AI:读《老人与海》有感
  • 定制开发开源AI智能名片S2B2C商城小程序:产业互联网时代的创新商业模式
  • .env与.gitignore:现代软件开发中的环境管理与版本控制防护
  • 理解重参数化
  • css 给文本添加任务图片背景
  • CSS中的选择器、引入方式和样式属性
  • CSS 入门与常用属性详解
  • Linux 下 PostgreSQL 安装与常用操作指南
  • 【Linux】CentOS7网络服务配置
  • 使用C++编写的一款射击五彩敌人的游戏
  • 【LeetCode hot100|Week3】数组,矩阵