用途
该技能面向全栈开发团队,帮助定义并强制执行分层测试策略与质量门禁,覆盖 UI 行为、API 契约、集成路径以及发布流程。其核心目标是让合并前和发布前的检查变得可预测,减少前后端集成点之间的回归。
适用场景
- 正在交付新的全栈功能。
- 团队需要可预测的合并前与发布前门禁。
- 前端与后端集成点之间出现回归。
工作流程
- 按功能区域、用户路径和服务依赖映射风险。
- 定义分层测试:单元、组件、契约、集成和端到端。
- 优先为核心流程编写确定性测试,并消除不稳定测试。
- 为 CI 构建门禁,包括 lint、类型检查、测试、覆盖率阈值和安全检查。
- 为类生产环境添加发布冒烟测试。
- 在拉取请求模板中记录证据和失败分诊指引。
测试覆盖模型
- 单元测试:针对领域规则和工具逻辑。
- 组件测试:针对 UI 状态转换和无障碍行为。
- 契约测试:针对请求和响应的兼容性。
- 集成测试:针对 API、数据库和队列边界。
- 端到端测试:仅针对关键业务旅程。
必需检查
- 契约变更包含向后兼容性或迁移说明。
- 变更模块存在覆盖率阈值。
- 不稳定测试被隔离,并指定负责人和修复日期。
- CI 失败包含可操作的日志和复现步骤。
决策框架
- 将测试映射到风险:规则用单元测试,API 用契约测试,边界用集成测试,端到端仅用于收入关键旅程。
- 在 lint、类型检查、单元和契约套件上阻止合并;在冒烟测试和迁移兼容性测试上把关发布。
- 隔离不稳定测试并指定负责人和 SLA;绝不在不跟踪不稳定率的情况下静默重试。
- 当契约或模式变更时,要求提供向后兼容性证明。
常见合理化与反驳
- “端到端覆盖一切。” → 端到端慢且脆弱;广度上应依赖契约和集成测试。
- “覆盖率百分比就是目标。” → 覆盖无意义的测试会带来虚假信心;应断言行为和契约。
- “热修复可以跳过门禁。” → 热修复导致大多数回归;应使用范围受限的门禁加速,而不是移除门禁。
证据包
- 映射到变更模块和用户旅程的测试金字塔计划。
- 显示合并与发布所需作业的 CI 门禁配置差异。
- 变更 API 表面的契约测试输出。
- 不稳定测试隔离登记表,或对涉及套件的明确零不稳定证明。
退出标准
- 关键全栈流程由可维护的测试覆盖。
- CI 和发布门禁阻止不安全的变更。
- 团队有明确的证据用于合并和发布决策。