输入标题、正文或标签,查找知识。

最近文档

软件工程 / 构建发布与运行构建环境与持续集成:为什么你电脑上能跑还不够你把收藏功能交给同事,他安装以后却打不开。原来你电脑用的是一个 Node 版本,他用另一个;你本地还有没提交的文件。要交付软件,不只需要源代码,还要让别人按照明确步骤得到能运行的结果。软件工程 / 构建发布与运行部署、发布、回滚与观察:把功能交到用户手里代码已经合并,收藏按钮却没出现在网站上。或者网站更新了,点击时提示找不到数据表。交付涉及代码、配置、数据和流量,不能只用“构建成功”判断完成。本章按一次小发布看这些环节怎样配合。语言基础 / TypeScript跨语言对照TypeScript 独有能力与缺失能力清单这一章适合在学完基础后回查:某个能力是 TypeScript 自己提供的,还是来自 JavaScript、浏览器、Node 或第三方库?先把来源认清,再讨论它擅长什么、缺少什么,就不会把“语言没有内置”误解成“整个生态都做不到”。语言基础语言基础学习路线:以 TypeScript 建立可迁移的编程模型学 TypeScript 时,你会同时遇到 JavaScript 的运行规则和 TypeScript 的类型规则。先把这两件事分清,很多报错就好理解了。按顺序做完前面的练习,再读跨语言对照;对照章节用于解释差异,不要求你同时学会五门语言。后端知识 / 身份权限与安全认证、授权与多租户:登录成功只是第一步用户把地址里的订单号从 42 改成 43,居然看到了别人订单。这不是登录失效,而是资源授权缺失。后端要分别确认调用者是谁,以及这个调用者是否能对这份数据执行当前操作。
1 / 5 · 构建环境与持续集成:为什么你电脑上能跑还不够
↑↓ 浏览 Enter 打开Esc 关闭
Damnatiox
知识文件夹

测试与质量工程

现代 Java Backend Engineering 学习路线:测试与质量工程

0 子目录7 文档
Java 测试与质量:行为与策略、单元与替身、集成与容器、接口与契约、性能与故障、回归与发布

CHAPTER OVERVIEW · 章节概览

先明确要保护的行为,再安排单元、集成和契约检查;通过真实依赖与故障演练形成发布证据。

本章学习路线

箭头表示建议的学习顺序;先理解问题,再逐步进入实现与实践。

flowchart LR N0["01 行为与策略"] N1["02 单元与替身"] N2["03 集成与容器"] N3["04 接口与契约"] N4["05 性能与故障"] N5["06 回归与发布"] N0 --> N1 --> N2 --> N3 --> N4 --> N5

按顺序学习

7
测试与质量工程:从零开始的阶段导学改完一个方法,怎样知道没有弄坏登录、下单或数据保存?测试需要分层安排:小范围快速检查规则,真实依赖检查协作,再用少量端到端测试覆盖重要操作。先理解每层要发现什么问题,再讨论覆盖率。测试策略、JUnit 5 与 Mockito一个测试失败后,最好能直接告诉你哪条规则被破坏,而不是只显示两个很长的对象不相等。下面从业务行为出发写断言,再讨论什么时候使用 Mockito。替身用来隔离依赖,不是把所有真实逻辑都绕开。Spring 集成测试、Testcontainers 与契约测试单元测试通过,SQL 却在真实数据库上报错,这正是集成测试要补上的空缺。先选定要验证的边界,再决定使用 Spring 切片、Testcontainers 还是真实 HTTP 请求,避免每个测试都启动整套系统。API、UI 自动化与持续质量平台自动化脚本今天成功、明天随机失败,通常比没有脚本更让人困惑。下面围绕稳定的数据准备、元素定位和失败记录组织测试,让一次失败有信息可查,也让多条测试能互不干扰地运行。性能、稳定性测试与故障演练压测不只是把并发数调大。你需要先说清正常负载是什么、能接受多长的等待,以及资源是否会随时间增长。故障演练再回答另一个问题:某个依赖失效后,系统能否按预期恢复?Testing Portfolio:行为边界、回归与发布证据测试并不是越多越好,也不必严格凑出一个金字塔形状。更实际的做法是列出发布后最怕出错的几条路径,再安排反馈速度和成本合适的测试。下面把这组选择整理成可持续运行的回归方案。测试与质量工程推荐阅读挑测试资料时,可以跟着一次功能变更走:先测试业务规则,再测试数据库与接口,最后验证用户路径。下面的工具服务于不同层次,不需要把所有工具都塞进每个项目。