SuperAPI AI 工具集

backend-testing

测试与质量

查看项目

更新于 10-15 12:39

技能介绍

用途

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、夜间和仅发布的后端检查

使用方式

技能按步骤执行:

  1. 将请求分类到一个 packet,若混合多个关注点则指定主 packet 和一个次要关注点。
  2. 框定后端表面与风险:surface、最高风险行为、现有覆盖、外部依赖、运行时/语言栈、证据必须成立的位置。
  3. 选择正确的测试层:单元/服务、集成、契约/API、冒烟/选择性端到端,并说明范围与排除原因。
  4. 有意识地决定依赖真实性:mock/stub、fake/模拟器、容器化真实依赖、共享外部环境,并给出默认偏好。
  5. 定义 fixture、数据、认证与环境控制:fixture/factory 策略、seed/reset/回滚计划、认证/引导辅助、时间/随机性/幂等控制、隔离规则、调试信号。
  6. 划分执行通道:本地快速路径、PR 路径、定时/夜间路径、发布/事件路径。
  7. 产出一份简洁的后端测试 packet,包含变更表面与主要风险、所选 packet、选定层及原因、依赖真实性决策、fixture/数据/认证/环境控制、执行通道划分、显式路由。
  8. 最终确认前验证范围边界:是否保护真实回归风险、是否将组织级策略留在 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。
  • 具体收费、价格、平台支持等信息暂未提供。