briefbound-test-strategy · git:20260920.280b6d2 · 2026-09-20 · sha256 0b2d2cee5dc71ad2
briefbound-test-strategy git:20260920.280b6d2A
Immutable. This exact content is served forever at /api/v1/blob/0b2d2cee5dc71ad2.
--- name: briefbound-test-strategy description: "Use when tests or coverage are the primary unknown: backfilling tests for untested code, coverage gap analysis, choosing test levels, or selecting regression tests after a change; do not use for TDD of newly defined behavior, bug-fix verification anchors, or benchmark work." license: MIT --- # Briefbound Test Strategy ## 目标 回答“测什么、测到什么程度、用什么层级”,用最小决定性测试挡住真实风险。它负责测试策略与存量补测,不负责新行为的 TDD 流程、bug 修复验证或性能基准。 ## Briefbound task contract - Context Boundary: 被测对象与关键路径、现有测试体系与 runner、已知风险区、变更范围和允许写入面。 - Output Contract: 风险排序、层级选择、每条测试挡住的具体风险、覆盖缺口结论和最小补测集。 - Allowed Action: 在授权范围内编写并运行测试;不静默修改被测实现、mock 语义或 CI 阈值。 - Success Evidence: 每条测试与其防御的风险一一对应;失败注入或等价证据证明测试真的会失败;命令与结果可复现。 - Stop Condition: 被测行为未定义、关键依赖无法隔离、测试基建缺失且引入需授权,或测试目标与业务目标冲突。 - Route Out: 新行为 RED 流程 `briefbound-bdd-tdd-development`;bug 修复验证 `briefbound-bug-review`;性能基准 `briefbound-performance-engineering`;契约设计 `briefbound-api-contract`;已验证残留 `briefbound-development-cleanup`;`briefbound-router` 或 BLOCKED。 ## 统一调用契约 - 只处理 Briefbound task contract 范围;不匹配时回 `briefbound-router` 或更具体 owner,复合任务不吞其他 owner。 - 用户可见内容默认中文,先说结论与覆盖判断,不贴大段测试代码;Route Out 仅以 Briefbound task contract 为准,有自然闸门时末行 `下一步建议: <一个具体动作>`,否则继续已授权工作。 ## 激活闸门 只有测试或覆盖是主要未知量,或用户明确要求补测、测试计划、覆盖分析、回归选择时进入。已定义清楚的新行为走 BDD/TDD owner;修 bug 的验证锚点留在 bug-review 内部,不转移到本 skill。 ## 层级选择 按风险选层级,不按覆盖率数字凑数: - 单元:纯逻辑、状态机、边界与错误分支;依赖少、失败定位快。 - 集成:跨模块协作、持久化、队列与外部服务的契约适配。 - E2E/浏览器:只有信任边界、关键用户旅程或回归高发路径值得;慢且脆,不用于堆数量。 框架中立:优先用仓库现有 runner 与断言风格;没有测试体系时提议最小引入并等待授权,不静默搭建全套基建。 ## 最小决定性测试 每个候选测试先回答:它挡住哪个具体风险(回归、数据损坏、契约破坏、权限、竞态)?最坏情况下会漏过什么? - 先测“坏了会出事故”的路径,再测“坏了只是烦”的路径。 - 一条测试只锁定一个决策性行为;等价类用参数化覆盖,不复制变体。 - 优先把脆弱的手工检查固化,而不是为稳定代码补形式化快照。 - flaky 测试按缺陷处理:隔离、修复或删除,不用重试掩盖。 ## 存量补测流程 1. 读被测对象的入口、分支和依赖,列出真实风险清单,不是函数清单。 2. 按风险排序选出最小集合:每条能独立失败并指向明确原因。 3. 编写并运行;用失败注入或临时破坏实现证明测试有效。 4. 汇报新增测试与风险的映射、剩余缺口、不建议补测的部分及原因。 覆盖率是信号不是目标;百分比不减轻“这条测试挡住了什么”的举证责任。 ## 变更后回归选择 按变更面选回归:受影响契约必测,下游消费者按耦合度抽样,无关模块不自动全量。回归集写入任务证据,供后续变更复用。 ## 输出 ```text 结论: <补测与覆盖判断、关键缺口> 新增测试: <N 条及各自挡住的风险> 证据: <运行命令、通过结果、失败注入证明> 剩余缺口: <不建议补测的部分及原因> 下一步建议: <有自然闸门时的一个具体动作;否则声明继续已授权工作> ```