用途
Backend Testing 是一个“packet-first”的后端测试路由技能。它的目标不是为每个框架输出样板代码,而是把用户的后端测试请求分类到正确的测试 packet,选择最小可信的测试层组合,明确依赖真实性与数据控制,诚实划分本地、PR 与较慢通道,并在真正任务属于策略、契约形状或认证实现时将其路由出去。
何时使用
- 为 API、服务、仓储、worker、集成或认证流程添加或修复后端覆盖
- 判断后端变更需要单元、集成、契约/API 还是窄范围冒烟覆盖
- 设计 fixture、factory、seed/reset、认证引导或环境控制策略
- 决定何时使用 mock、fake、容器或真实依赖
- 稳定易碎的后端套件,尤其是仅 CI 失败和本地与 CI 漂移
- 审查后端套件是否过宽、过慢、mock 过重或缺少关键层
何时不使用
- 主要任务是组织级测试策略、门禁设计、发布证据或公司级 QA 理念 → 使用 testing-strategies
- 主要任务是 API 契约形状、版本化或 schema 设计 → 使用 api-design
- 主要任务是实现认证/会话/提供方行为而非测试它 → 使用 authentication-setup
- 主要任务是前端/浏览器测试或 UI 工作流覆盖
- 尚无具体后端行为或回归目标
主要能力
该技能将请求分类为以下 packet 之一:
- coverage-plan:为具体后端变更添加哪些层
- fixture-and-reset-plan:如何 seed、隔离、reset 或引导数据/认证状态
- contract-and-api-checks:在接口已存在时如何保护响应/事件/schema 兼容性
- flake-stabilization:如何稳定仅 CI 或间歇性后端失败
- execution-lane-split:如何划分本地快速、PR、夜间和仅发布的后端检查
使用方式
技能按步骤执行:
- 将请求分类到一个 packet,若混合多个关注点则指定主 packet 和一个次要关注点。
- 框定后端表面与风险:surface、最高风险行为、现有覆盖、外部依赖、运行时/语言栈、证据必须成立的位置。
- 选择正确的测试层:单元/服务、集成、契约/API、冒烟/选择性端到端,并说明范围与排除原因。
- 有意识地决定依赖真实性:mock/stub、fake/模拟器、容器化真实依赖、共享外部环境,并给出默认偏好。
- 定义 fixture、数据、认证与环境控制:fixture/factory 策略、seed/reset/回滚计划、认证/引导辅助、时间/随机性/幂等控制、隔离规则、调试信号。
- 划分执行通道:本地快速路径、PR 路径、定时/夜间路径、发布/事件路径。
- 产出一份简洁的后端测试 packet,包含变更表面与主要风险、所选 packet、选定层及原因、依赖真实性决策、fixture/数据/认证/环境控制、执行通道划分、显式路由。
- 最终确认前验证范围边界:是否保护真实回归风险、是否将组织级策略留在 testing-strategies、是否将契约形状决策路由到 api-design、是否将认证实现路由到 authentication-setup、维护者是否理解依赖为何被 mock/fake/容器化/真实。
输出格式
输出为结构化 packet,包含:Packet choice、Change framing、Layer decisions 表格、Dependency realism 表格、Data and environment control、Execution lanes、Route-outs。
适用场景
- 认证密集型 API 变更:如 refresh-token 轮换、管理员端点,需要捕获认证失败、令牌重放和 DB 持久化 bug,同时避免 CI 变成巨型端到端套件。
- 服务套件中仅 CI 出现的 flake:如 FastAPI 测试本地通过但 CI 在 seeded Postgres 状态和后台任务上失败。
- API 已存在后的契约保护:如支付服务和 webhook 消费者在响应字段上漂移,需要捕获兼容性回归。
- 过宽的策略请求:如设计整个工程组织的测试策略,应识别其属于 testing-strategies 并仅做后端范围交接。
限制
- 不处理组织级测试策略、门禁设计、发布证据或公司级 QA 理念。
- 不处理 API 契约形状、版本化或 schema 设计。
- 不处理认证/会话/提供方行为的实现。
- 不处理前端/浏览器测试或 UI 工作流覆盖。
- 当没有具体后端行为或回归目标时,应先定义缺失的行为 packet。
- 具体收费、价格、平台支持等信息暂未提供。