CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
软件测试与 QA 入门/课时/功能测试类型
RawBlame
课时目录12 节

软件测试与 QA 入门

  1. 01QA 是什么
  2. 02流程与方法论
  3. 03手工测试
  4. 04功能测试类型
  5. 05Web UI 自动化
  6. 06API 测试
  7. 07移动端测试
  8. 08性能与负载
  9. 09安全测试
  10. 10测试管理与 CI
  11. 11非功能测试
  12. 12综合练习

功能测试类型

冒烟/回归/UAT、黑盒白盒。

30 分钟

功能测试类型

功能测试 验证系统行为是否符合需求,按阶段与视角可细分为冒烟、回归、UAT,以及黑盒与白盒策略。对照 /roadmaps/qa「Functional Testing」节点,本课建立测试类型的选用地图。

学习目标

  • 区分冒烟、回归、UAT 的触发时机与覆盖深度
  • 理解黑盒、白盒、灰盒测试的观察角度
  • 为 CodeRoadMap 模块选择合适的测试类型组合
  • 将功能测试类型映射到 CI 与发布流程

核心概念

按阶段划分

类型时机目标深度
冒烟新构建可用后主路径能跑通浅、快
回归每次变更后旧功能未破坏中~深
UAT发布前业务方签字真实场景

本站 CI:mvn test + npm test 是 自动化回归;合并 main 前人工过一遍 tracks 详情是 冒烟补充。

黑盒 vs 白盒

  • 黑盒:不看实现,按输入输出验证(手工用例、API 测试、E2E)
  • 白盒:基于代码路径(分支覆盖、单元测试对 private 逻辑)
  • 灰盒:知道架构边界(MockMvc 知 Controller 路由但不测 Mapper SQL)
// 白盒倾向:直接测 Service 分支
@Test
void getBySlug_notFound() {
    when(mapper.selectBySlug("x")).thenReturn(null);
    assertThrows(NotFoundException.class, () -> service.getBySlug("x"));
}

见 test-mockito。

选型原则

  • 新模块:冒烟手工 + 核心 API 自动回归
  • 稳定模块:扩大自动化回归,手工只做变更相关
  • 发布:UAT 清单 由产品/业务确认,QA 组织执行

与 testing-essentials/Spring 对照

功能测试类型testing-essentials 实现
单元(白盒)JUnit + Mockito、test-intro 金字塔底层
集成(灰盒)@SpringBootTest、test-integration
API 回归(黑盒)MockMvc / REST Assured(qa-api)
E2E 冒烟Playwright、test-e2e

Spring Boot 项目:单元守逻辑、集成守 SQL、E2E 守用户路径,与冒烟/回归/UAT 三层发布信心对应。

练习

  • 为 backend tracks API 设计冒烟清单(≤5 条)
  • 列出最近一次改动的「回归范围」应包含哪些测试命令
  • 写 2 条 UAT 场景,需业务方参与判定通过/失败

小结

冒烟求快、回归求全、UAT 求准;黑盒验行为、白盒验路径。 下一课进入 Web UI 自动化:Selenium、Playwright 与 Cypress。

加载本节练习…
← 上一课手工测试下一课 →Web UI 自动化