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综合练习

非功能测试

无障碍、兼容性、邮件测试。

25 分钟

非功能测试

除功能正确性外,非功能需求 决定用户能否顺畅使用:无障碍、浏览器兼容、本地化、邮件送达等。对照 /roadmaps/qa「Non-Functional Testing」节点,本课覆盖常见专项与轻量验收法。

学习目标

  • 理解非功能测试与功能测试的边界
  • 掌握无障碍(a11y)、兼容性、邮件测试的基本方法
  • 知道何时需要专项工具 vs 手工抽检
  • 将 a11y 与前端测试、Spring 邮件模块对照

核心概念

常见非功能维度

维度验证方式工具/标准
无障碍键盘导航、屏幕阅读器axe、Lighthouse、WCAG 2.1
兼容性多浏览器/分辨率BrowserStack、Playwright 矩阵
本地化文案、日期、RTL手工 + 快照对比
邮件触发、内容、链接MailHog、GreenMail
可用性任务完成率、误操作用户测试、启发式评估

无障碍快速检

import { test, expect } from "@playwright/test";
import AxeBuilder from "@axe-core/playwright";

test("tracks 页无严重 a11y 违规", async ({ page }) => {
  await page.goto("/tracks");
  const results = await new AxeBuilder({ page }).analyze();
  expect(results.violations.filter(v => v.impact === "critical")).toHaveLength(0);
});

重点:语义 HTML、focus 可见、图片 alt、表单 label——与 react-essentials 组件写法相关。

兼容性矩阵

最小集:Chrome + Firefox + Safari(WebKit);移动端 viewport 375 / 768。
视觉回归(Percy、Chromatic)可选,注意避免全页像素 diff 维护成本。

邮件测试

Spring Boot 开发环境用 MailHog 或 GreenMail 捕获 SMTP,不断真发:

# application-test.yml
spring.mail.host: localhost
spring.mail.port: 1025

断言:主题、收件人、重置链接 host 正确、无生产 URL 泄露。

与 testing-essentials/Spring 对照

非功能功能测试补充
axe + Playwrighttest-e2e 路径可复用
Vitest 组件 a11ytest-frontend + Testing Library
邮件集成@SpringBootTest + GreenMail(test-integration)
API 性能qa-performance

非功能 不必全自动化:a11y 严重项 CI 阻断,兼容性发布前矩阵抽检即可。

练习

  • 用 Lighthouse 或 axe 扫 CodeRoadMap 首页,记录 1 条 critical/serious 问题
  • 列出 tracks 页兼容性最小浏览器矩阵
  • 设计「注册确认邮件」的 3 条验收点(含测试环境捕获方式)

小结

非功能测体验与包容:a11y 用 axe,邮件用 MailHog,兼容靠矩阵抽检。 下一课综合练习:编写 API + E2E 测试计划。

加载本节练习…
← 上一课测试管理与 CI下一课 →综合练习