自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 [特殊字符] 每日 AI 术语打卡 · 第 1 天(基础概念)

循序渐进的第 1 天,我们从"地基"讲起——先把大模型本身和它最常说的几个词弄明白,后面才能顺畅聊到应用和测试。

2026-08-18 21:08:56 161

原创 测试工程的未来 5 年:2026-2031 的方向预测与个人投资建议 ⭐ 第二季大结局

Day在 Day 30 它接到的线Day 1-7 工具链§5.1 入坑地图第一行Day 8-12 流程闭环§2.1 AI-Native 把它们重塑Day 13 LLM 辅助§2.1 AI 从辅助 → 主导Day 14 数据三层栈§2.4 synthetic 全面替代Day 15-17 总调用§5.3 骨架篇Day 18 能力金字塔§2.5 角色分裂四细分Day 19 三方协作§2.2 agent 加入协作Day 20 OKR 度量§3 个人投资进 OKR。

2026-08-14 17:50:39 269

原创 测试工程师的国际化:跟亚马逊 / Google / Meta 测试团队对标

系列专栏:测试工程师每日一博 · Day 29(2026-08-13,周四)上一篇:[Day 28 · 测试工程师的写作:从内部 wiki 到技术大会演讲]工程师外延三联篇收尾。Day 27 OSS 代码,Day 28 文字,Day 29 视野 — 把测试工程放到全球地图上看。

2026-08-13 17:03:29 216

原创 测试工程师的写作:从内部 wiki 到技术大会演讲

系列专栏:测试工程师每日一博 · Day 28(2026-08-12,周三)上一篇:[Day 27 · 测试工程师的开源参与:从提 issue 到核心贡献者的实操路径]工程师外延三联篇第二篇。Day 27 谈代码贡献(OSS),Day 28 谈— 内部 wiki / 公众号 / 技术大会 — 三层叠加构成测试工程师"外部影响力"的第二根柱子(Day 29 国际化是第三根)。

2026-08-12 20:25:14 332

原创 测试工程师的开源参与:从提 issue 到核心贡献者的实操路径

系列专栏:测试工程师每日一博 · Day 27(2026-08-11,周二)上一篇:[Day 26 · LLM 测试的 testing LLMs](系列翻面时刻 🌟)这是「工程师外延」三联篇(Day 27-29)的第一篇。前 26 篇讲完"在团队内做测试",Day 27-29 把视角推到。Day 27 谈开源贡献,Day 28 谈技术写作,Day 29 谈国际化对标。三篇合起来对应"资深测试工程师的三种外部资产"。,看完今晚就能 watch 第一个 OSS 仓库。

2026-08-12 20:19:30 213

原创 测试工程师的开源参与:从提 issue 到核心贡献者的实操路径

系列专栏:测试工程师每日一博 · Day 27(2026-08-11,周二)上一篇:[Day 26 · LLM 测试的 testing LLMs](系列翻面时刻 🌟)这是「工程师外延」三联篇(Day 27-29)的第一篇。前 26 篇讲完"在团队内做测试",Day 27-29 把视角推到。Day 27 谈开源贡献,Day 28 谈技术写作,Day 29 谈国际化对标。三篇合起来对应"资深测试工程师的三种外部资产"。,看完今晚就能 watch 第一个 OSS 仓库。

2026-08-11 18:41:28 248

原创 LLM 测试的 testing LLMs:模型本身的评估(eval harness + golden set + drift)

这是工业里**「绝对必要」**的一步(再强的自动评估也代替不了人评)。

2026-08-10 18:47:41 259

原创 性能压测的容量规划:把“找拐点“上升为“找容量曲线方程“

系列专栏:测试工程师每日一博 · Day 25(2026-08-07,周五,周末前)上一篇:[Day 24 · 测试与安全测试融合:DAST / SAST / IAST 三选]这一篇是「测试 + 非功能」对篇的第二篇 —— Day 24 安全,Day 25 性能。回扣 Day 15 SLO 驱动压测的"找拐点 × 0.7 当生产安全水位"速写,。,读完直接能照搬。

2026-08-07 18:33:27 183

原创 测试与安全测试融合:DAST / SAST / IAST 三选

系列专栏:测试工程师每日一博 · Day 24(2026-08-06,周四)上一篇:[Day 23 · 微服务测试矩阵:Honeycomb 测试模型 + 单元/契约/E2E 决策树]这一篇是「测试 + 架构咬合」三联篇之后的延伸 —— Day 21/22/23 解决了功能测试跟架构的咬合,Day 24 把安全测试这一根接进来,作为「测试 + 非功能性需求」对子的第一篇。,读完能让安全测试跟功能测试在同一套 CI 里同跑,不抢镜、不漏检、不重复造轮子。

2026-08-06 17:21:47 225

原创 微服务测试矩阵:Honeycomb 测试模型 + 单元/契约/E2E 决策树

契约层不是把已有的测试更细切,而是。

2026-08-05 16:51:36 297

原创 Web UI 自动化的“自愈 1.5 时代“:Shadow DOM、Web Components 与 selector 自愈

系列专栏:测试工程师每日一博 · Day 22(2026-08-03,周一)上一篇:[Day 21 · 测试左移的更深一层:用 DDD 战术设计反推测试边界]这一篇接 Day 13 §5 的 selector 自愈雏形,把它推到现代前端时代 —— Shadow DOM 把传统 CSS selector 打穿,我们要重塑一套定位体系。。

2026-08-03 17:29:22 240

原创 测试左移的更深一层:用 DDD 战术设计反推测试边界

本文深入探讨了领域驱动设计(DDD)战术设计与测试工程的紧密关系,揭示了DDD不仅是架构师的工作,更是测试工程师的"基因级"工具。文章系统阐述了如何将DDD的四大核心元素——聚合根、不变式、领域事件和限界上下文——直接转化为可执行的测试策略:聚合根对应测试用例组的天然边界,不变式可直接转换为assertThat断言,领域事件成为异步测试的契约,限界上下文则定义了契约测试的分割线。

2026-07-31 16:45:10 348

原创 测试工程师的 OKR 与度量:把“质量“翻译为可量化指标

本文是测试工程师系列专栏第二季的里程碑文章,聚焦如何将质量工作转化为可量化指标体系。文章首先指出测试工程师常见的三大痛点:质量目标难以量化、述职报告模糊不清、测试量与质量提升混淆。随后澄清三个常见误区(如覆盖率≠质量),并提出一套包含5个维度、12项指标的完整体系: 质量成效(预后):核心指标包括缺陷逃逸率(上线后bug占比)和缺陷密度(每千行代码的bug数),强调30天观察窗口的重要性; 工程效能(轴):涵盖故障平均发现时间(MTTD)、flaky测试率、缺陷修复时长等效率指标; 测试资产(底):关注测试

2026-07-30 16:42:08 176

原创 测试工程与 DevOps / SRE 的边界:三方协作的真实工作流

回扣 Day 15 §3,SLO 不能只 SRE 一人写。测试工程师要贡献可用性目标:基于"测试覆盖的失败模式"反推哪些 SLI 必须达成;延迟 SLI:基于"压测容量曲线"(Day 15 §5)给 P99 阈值给数据;错误预算:基于"质量策略"(Day 18 §6.2.1)给消耗优先级。也就是说,测试是 SLO 的输入侧,SRE 是 SLO 的执行侧。两边都不写就是空契约。

2026-07-29 18:33:31 273

原创 测试工程师的成长地图:从初级到资深,这五年学什么

这一篇第一次跳出"工程细节",回到"人"。17 天讲完工具、流程、横切、闭环、总调用之后,该回答一个被很多测试工程师反复问的问题 —— 「这条路怎么走」。

2026-07-28 15:27:40 305

原创 测试工程师的代码评审:除了功能正确性之外还该看什么

文章摘要 测试工程师参与代码评审(PR review)具有重要价值,其核心在于通过测试视角提升代码的可测性、容错性和可观测性。文章驳斥了"测试看不懂代码""仅需关注测试代码""拖慢流程"等常见反对观点,指出测试工程师能有效识别开发盲区(如边界条件、错误路径、状态机问题等)。作者提出测试参与PR的六大评审维度:边界与错误路径、副作用与状态机、可测性、测试代码质量、日志与可观测性、安全合规。通过代码示例对比,说明测试早期介入能显著降低缺陷修复成本(需求阶段1倍 vs 生产阶段200倍),并强调这是测试角色回归技

2026-07-27 19:42:37 215

原创 测试工程师的危机时刻:线上故障复盘的标准动作

本文是测试工程师系列专栏的第16篇,聚焦故障复盘方法论。作者指出测试工程师在故障处理中承担三个不可替代的角色:影响面评估与修复验证、故障重现与红灯用例编写、测试漏检点根因分析。文章详细拆解了故障生命周期的六个阶段,强调测试工程师应从告警触发阶段就介入。重点介绍了blameless postmortem的实施要点:使用中性语言编写文档、精确到分钟的时间线还原(需整合告警/部署/CI等结构化数据)、5Why根因分析法(需追溯到系统性漏洞而非个人失误)。最后强调复盘必须产出可追踪的行动项,否则就失去价值。

2026-07-24 15:19:06 197

原创 性能测试进阶:从 JMeter 基线到 SLO 驱动的压测体系

本文摘要(149字): 测试专栏Day15提出SLO驱动的压测方法,将Day12的SLO指标反向应用于压测输入设计。传统基线压测(如Day6)存在并发量随意、时长不足等4大缺陷,而工程化方案需解决:1)基于错误预算计算并发量;2)覆盖完整监控窗口;3)结合SLI达标率与burn rate双重评估;4)输出容量曲线替代聚合报告。文章详解四种压测模型(基线/负载/压力/尖峰)的适用场景,强调通过阶梯加压绘制"并发-时延-错误率"三维容量曲线,实现测试与SRE的指标对齐。

2026-07-23 16:37:22 202

原创 测试数据治理:从 fixture 到 synthetic data 三层栈拆解

本文探讨测试数据准备的三个层次(fixture、fuzz、synthetic)及其应用场景。文章首先强调数据治理的横切性和合规风险,指出测试各环节都依赖不同形态的数据。随后通过三层栈模型对比数据准备成本与效果:基础fixture适合单元测试但易腐烂,fuzz通过随机扰动发现边界问题但可能不稳定,合成数据(如LLM生成)能模拟生产环境但工具链复杂。文章重点分析fixture的工程化解法(工厂模式、版本化隔离)和反模式案例,并演示fuzz的边界测试方法。最后强调三层互补关系——不同测试阶段需组合使用对应数据策略

2026-07-22 18:32:10 163

原创 测试工程师如何与 AI 共事:把 LLM 接进测试流水线

本文探讨了如何将LLM嵌入现有测试流水线,而非取代测试工程师。文章首先指出LLM应作为横切测试各环节的工具,而非独立模块。随后纠正了三个常见误区:AI不会取代工程师而是消除重复劳动;不应无上下文生成测试;生成代码需严格审查。作者提出LLM在测试中的四大应用场景:用例生成、断言维护、报告解读和数据合成,并以电商优惠券金额计算为例,展示了如何通过精心设计的prompt生成单元测试,强调需人工review和CI校验。最后指出测试工程师的核心价值在于设计边界场景的能力,而非编写模板化代码。

2026-07-21 21:37:06 256

原创 测试右移:上线之后还能做什么?——从可观测性到混沌工程

Day 3 讲覆盖率时,我们谈的是"代码覆盖率"——多少行 / 多少分支被测过。在右移视角下,还有三种生产特有的覆盖率覆盖率类型含义数据来源代码覆盖率多少代码被测试套件跑过(Day 3)生产路径覆盖率多少代码路径在真实流量下被跑过火焰图 / trace sampling配置覆盖率多少配置组合在生产中真实组合过dynamic config 日志数据覆盖率多少边界数据在生产中被实际触发数据样本统计代码覆盖率 90% 不等于生产无 Bug,

2026-07-20 19:24:35 182

原创 测试左移:需求评审阶段如何把缺陷消灭在编码前

本文针对测试工程师常遇到的提测质量差、返工率高问题,提出测试左移的核心方法论。通过逆向需求、场景拆解和缺陷预测三大方法,结合Acceptance Criteria和Three Amigos会议制度,在需求阶段识别潜在问题。文章指出测试左移落地难的三大障碍(QA未参与评审、缺乏结构化输出、团队认为拖进度),并给出解决方案:强制QA参与流程、输出逆向需求清单等工件、用ROI数据说服团队。

2026-07-17 21:05:37 221

原创 flaky 测试治理:用工程化方式根治“上次过这次不过“

本文探讨了测试中的flaky问题(同一测试在不同运行中结果不一致),分析了五大常见根因:时间/日期依赖(25%)、并发/等待问题(24%)、测试间相互污染(16%)、外部环境依赖(21%)和资源耗尽(14%)。针对前两类重点问题,给出了具体解决方案:1)对于时间依赖,建议通过依赖注入Clock对象替代直接调用now()方法;2)对于异步测试,推荐使用Awaitility库替代Thread.sleep(),通过轮询机制实现可靠等待。文章强调flaky测试会逐渐削弱团队对CI的信任,需要从工程角度系

2026-07-16 23:14:03 266

原创 契约测试:Pact 如何破除“消费者 / 提供者“信任假设

摘要: 本文针对微服务集成测试中的常见问题——接口变更导致的服务间调用失败,介绍了消费者驱动契约测试(CDC)的核心思想及Pact工具的实践应用。通过订单服务与商品服务的案例,指出传统Mock测试(如WireMock)与端到端测试的弊端:Mock数据与真实服务脱节,而E2E测试效率低下。Pact通过消费者定义契约、提供者验证契约的机制,确保双方接口一致性。文章详细解析了Pact的四步工作流(生成契约、上传Broker、提供者验证、部署检查),并给出JVM侧的代码示例,帮助团队在独立开发的同时避免集成风险,实

2026-07-15 20:53:26 157

原创 TDD 红绿重构循环真的有那么神吗

TDD、红绿重构、测试驱动开发、Kent Beck、Uncle Bob、代码设计、反模式

2026-07-14 17:21:15 358

原创 CI 中的测试分层:让金字塔真正落地

本文介绍了如何将分层测试有效集成到CI/CD流水线中。主要内容包括: 测试金字塔在CI中的重构原则:底层测试早跑、快跑、作为merge门控,上层测试晚跑、慢跑、异步执行。 测试套件分类约定:通过Maven Surefire/Failsafe插件实现单元测试(*Test)和集成测试(*IT)的分离执行。 分层门控策略: 第一层(pre-commit):开发者本地快速单元测试(<15秒) 第二层(PR触发):CI流水线执行单元测试和集成测试 第三层(merge后):异步执行性能/E2E测试 提供了GitHub

2026-07-13 20:57:09 209

原创 性能测试初探:JMeter 与 Locust,从计划到瓶颈定位

本文探讨了性能测试的关键概念与实践方法。首先通过一个真实案例揭示了常见误解:将压力测试等同于性能测试,缺乏明确目标、错误理解并发量、未定义性能指标等。文章详细区分了性能测试的四种类型: 负载测试(验证系统满足预期负载) 压力测试(寻找系统崩溃点) 容量测试(资源与流量的换算关系) 浸泡测试(发现长期运行问题) 强调性能测试70%的工作在于前期目标制定,包括SLI/SLO定义、业务指标确定和容量规划。文章对比了JMeter与Locust两大工具的特性差异,并给出选择建议:测试主导团队适合JMeter,开发主导

2026-07-12 14:48:22 253

原创 接口测试利器:REST Assured + WireMock

本文介绍了接口测试中的两大工具REST Assured和WireMock的配合使用。REST Assured用于发送HTTP请求并验证响应,提供简洁的BDD风格语法;WireMock则用于模拟依赖的外部服务,可预设各种响应场景。两者结合能有效测试接口层逻辑,既避免了直接调用真实依赖带来的不稳定,又比单元测试更贴近实际调用链路。文章通过电商订单查询接口的示例,展示了如何用REST Assured发起请求并断言响应,同时使用WireMock模拟库存服务返回预设数据,形成完整的接口层测试方案。

2026-07-11 17:37:03 250

原创 Testcontainers:用一次性容器跑真实依赖的集成测试

本文探讨了集成测试中H2内存数据库的局限性,并介绍Testcontainers作为替代方案。H2虽快速轻量,但无法模拟真实PostgreSQL的行为差异(如方言、约束、索引等),导致上线后问题频发。Testcontainers通过Docker容器在测试期间启动真实PostgreSQL实例,实现完全一致的行为验证。文章对比了两者优劣,提供Maven依赖配置和最小示例,并演示如何测试包含软删除和部分索引的UserRepository。

2026-07-10 17:42:25 214

原创 测试覆盖率的真相:行覆盖、分支覆盖与变异测试

本文揭示了测试覆盖率指标的局限性,通过密码校验器的案例展示了即使代码行覆盖和分支覆盖达到100%,仍可能存在未检测到的逻辑缺陷。文章指出: 常见误区:团队常追求高行覆盖率(如JaCoCo的行覆盖/指令覆盖),但这些指标容易虚高,无法保证测试有效性,如"无断言测试"也能刷高覆盖率。 分层验证: 行覆盖仅验证代码执行路径 分支覆盖检查条件分支(如if/else) 变异测试(如PIT)通过故意修改代码来验证测试能否发现异常 核心问题:覆盖率无法检测"代码中应该存在但实际缺失的逻辑",而变异测试能填补这一空白,通过

2026-07-09 17:39:26 417 6

原创 Mockito 进阶:Mock、Spy、InjectMocks 与过度模拟的代价

本文介绍了如何使用Mockito解决单元测试中的外部依赖问题。文章分为三部分:首先解释Mockito的定位是通过伪造依赖对象来隔离被测逻辑;其次详细讲解Mockito三大核心概念Mock、Spy和InjectMocks的区别与使用场景,强调官方推荐使用Mock而非Spy;最后通过支付服务的实战案例,演示如何测试包含数据库查询、风控审核和网关调用的复杂业务流程。文章特别指出要避免过度模拟的反模式,保持测试与实现细节的适当距离。全文聚焦于如何在不连接真实外部服务的情况下,有效验证业务逻辑的正确性。

2026-07-08 17:46:20 366

原创 单元测试金字塔与 JUnit5 实战:从原则到可运行代码

文章摘要 本文系统介绍了软件测试中的金字塔模型与JUnit5实战应用。首先指出常见的"冰激凌甜筒"反模式及其弊端,提出测试金字塔三层结构(单元70%/集成20%/E2E10%)的合理分布原则。然后详细解析JUnit5的三大组件架构,对比JUnit4的关键差异,并通过订单价格计算器的实战案例,展示JUnit5的参数化测试、嵌套测试等核心功能。全文强调通过底层单元测试实现快速反馈,避免过度依赖缓慢脆弱的E2E测试。

2026-07-07 15:30:05 315

原创 Linux服务器上搭建Docker(以CentOS为例)

Linux中安装Docker

2025-02-27 11:05:20 830

原创 Linux 用yum安装软件提示 cannot find a valid baseurl for repo:base/7/x86_64 的解决方法(CentOS 7)

解决yum执行出错

2025-02-26 11:25:15 679

原创 【Linux】Linux系统CentOS 安装(VMware Workstation下)

Linux系统安装如何在VMware中安装Linux系统

2025-02-25 14:37:29 1257

原创 Jmeter插件管理器(Plugins Manager)安装

jmeter中加入插件

2023-07-11 09:41:05 1863

原创 JDK的安装与配置(详细教程)

Java初学者安装jdk环境

2023-07-10 11:46:42 585

原创 Mysql数据库的下载与安装

Mysql数据库的下载与安装导读:本文主要记录一下自己下载安装mysql数据库。操作系统:win10介绍:MySQL关是一种关系数据库管理系统,所使用的 SQL 语言是用于访问数据库的最常用的标准化语言,其特点为体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,在 Web应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。目前windows上安装mysql有两种方式,一种是msi的安

2021-09-09 13:34:28 313

原创 虚拟机软件(VMware)的下载与安装

VMware虚拟机下载与安装导读:本文主要记录一下自己下载安装VMware桌面虚拟计算机软件及其下载和安装的方法。操作系统:win10一、虚拟机虚拟机是通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在虚拟机中,你可以安装各种操作系统、组建局域网等,模拟的完全是一个真实系统环境,不会对宿主机造成危害。 常用流行的虚拟机软件有VMware、Virtual Box和Virtual PC,其中VMware是全球领先的虚拟云计算产品服务商。VMwareWorkStatio

2020-08-17 14:50:45 39349 45

原创 VMware Workstation 15上安装Linux(CentOS-7-x86_64-Minimal-1810.iso)

用到的软件: VMware Workstation 15 Pro用到的镜像: CentOS-7-x86_64-Minimal-1810.iso百度网盘分享提取码:7a2j进入VMware页面,创建虚拟机点击“创建新的虚拟机”,然后默认选择“典型”,然后点击下一步。然后再点击“稍后安装操作系统”(或者选择“安装程序光盘映像文件”),点击下一步。客户端操作系统选择linux(L),版本选择CentOS 64位,然后点击下一步。在“命名虚拟机”中的虚拟机名称可以更改自己的名

2020-07-05 16:00:32 1836 12

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除