用途:在已有测试用例后,用自动化测试驱动代码实现,覆盖新功能、缺陷修复、回归与行为变更,也可用于按 BDD 用例实现。它是一项实现技能,不负责设计整套测试策略。
主要能力与核心循环:以 BDD/行为场景为起点,遵循 RED—GREEN—REFACTOR:先写一个聚焦的自动化测试并运行,确认它因行为缺失或错误而按预期失败;再写满足该用例的最小正确实现并确认通过;最后在绿灯状态下重构(改进命名、去重、提取辅助、简化实现),每次重构后重跑相关测试。
用法要点:测试应断言外部可见结果(返回值与错误、持久化记录或文件、HTTP 状态/响应/契约、CLI 输出与退出码、可见 UI 状态、公开事件或消息),避免断言内部方法调用序列;默认使用真实代码,仅在外部、缓慢、非确定、不安全或昂贵的边界处 mock,且镜像真实数据结构;测试代码保持 DAMP 而非 DRY;使用条件等待与隔离状态,避免 sleep 和顺序依赖。修复缺陷时先复现:为失败行为写 BDD 场景,写能在当前代码上失败的自动化测试,修复根因后测试通过,再做更广泛的回归检查。
执行顺序:新目标测试在 RED 阶段应失败;GREEN 阶段应通过;重构后跑邻近套件或包测试;完成时在可行范围内跑完整相关套件。不要在没有改变代码或状态时反复重跑同一命令。
适用场景:需要自动化实现的新行为、可复现的缺陷修复、已有测试项目中的行为变更、修改代码前补充回归覆盖。
限制与前置条件:不适用于纯文档、静态内容、纯配置改动,或明确更适合手动测试的情况。若测试基础设施缺失或脆弱,应先改用 architecting-test-infra,而不是把临时搭建塞进各个测试。若测试用例或范围不清,先用 high-level-testing-strategy;编码相关工作应先加载 engineering-principles;仍需真实浏览器、API、CLI 或运行时验证时使用 manual-testing;在声称测试通过或工作完成前,交由 verification-before-completion 验证。已有代码先于测试的情况属于特征化测试,不是常规 TDD。
相关信息:本技能位于测试技能地图的自动化实现环节,可关联 high-level-testing-strategy、architecting-test-infra、manual-testing、systematic-debugging、verification-before-completion。