SuperAPI AI 工具集

testing-principles

测试与质量

查看项目

更新于 10-16 01:26

技能介绍

用途:这是一套与编程语言无关的测试原则,用于决定一次代码变更需要哪些测试、如何设计高质量测试,以及如何分配各层测试的证明责任。核心理念是:测试用于保障已被接受的行为,后续代理会把每个现有测试当作文档化需求来保留,因此脆弱、重复或贴合实现的测试会变成虚假需求,导致绕过与实现负债。

主要能力:一是测试选择,默认在用户与调用者可观察的集成或 E2E 边界证明被接受的行为,仅当某个代表性边界测试无法证明逻辑(如计算、解析、分支规则)时才添加单元测试;每个行为声明只由一个测试拥有,更宽的边界或视口、设备、角色变体只证明其额外增值,且至多保留一个代表性用例。覆盖率仅作诊断信号,不是目标,CI 阈值属于项目配置而非质量目标。

二是测试设计规则:采用 Arrange、单一 Act、Assert 结构;遵循仓库命名约定并描述条件与可观察结果;通过公共或集成边界执行行为;使用独立推导的字面值、属性、已批准快照或夹具期望,避免实现派生预言;每个测试自行创建与清理状态,可独立且任意顺序运行;控制影响结果的时间与随机性;保持测试可执行,修复或删除不再描述被接受行为的测试。

三是模拟与边界规则:只模拟直接外部 I/O 边界,保持内部业务逻辑和被测边界为真实;优先使用应用自有适配器作为模拟边界,仅在无法控制时才引入适配器;模拟行为限于测试所需契约。

四是数据层测试:当数据访问只是被测行为的依赖时可用模拟测试;当主体是查询、仓库实现、模式约束或迁移兼容性时,需针对真实数据库引擎或其认可等价物验证,并依据仓库配置解析测试环境,无代表性环境时需报告缺失的验证决策。

五是验证要求:能力探针需使用消费者边界并断言其所需具体属性,命令成功、导入成功或对象存在只是环境准备证据。此外还包含测试组织、回归测试(每个可复现缺陷修复都需加回归测试,遗留代码行为保持变更需先建立通过的刻画证据)等内容,并提供 references/frontend.md 与 references/e2e.md 两个参考文件,分别用于编写、修改或审查组件、Hook、UI 集成测试与浏览器 E2E 测试。

限制:资料未提供具体安装命令、运行方式、收费与平台信息;实际落地需结合项目自身配置。