2.4 KiB
2.4 KiB
tag 与 risk
维护或用户问套件/安全级别时读本文件。两套词对所有项目相同,不要自造名字。命名理由见 concepts.md。
tag:跑哪一批
只表示耗时和依赖,不表示危不危险。危不危险看 risk。
业界常见还有 sanity(窄回归,和 smoke 重叠)、regression(≈本 skill 的 full)、acceptance、nightly。本 skill 不采用 sanity/acceptance:和 smoke/full 分不清,且已有 category、id、risk 三层筛选。
固定三个词:
| 值 | 何时用 |
|---|---|
smoke |
最短路径证明系统还活着。必须快、少依赖、risk 只能是 readonly。 |
full |
日常回归里其余自动化用例。说「跑 full」仍受风险上限约束。 |
slow |
太慢或环境太重,不进日常 full:真实焊接、付费 API、要工件/账号、跑很久。 |
口诀:
- 只回答「活着吗、主入口能不能用」→
smoke。 - 要特殊现场/很久才能跑完 →
slow。 - 其余自动化 →
full。 - 拿不准 →
full。不要把会动真机或会删数据的放进smoke。
未指定 tag 时只跑 smoke。跑 full 不含 slow。
risk:副作用有多大
三个词,网站 / App / 机器人共用,单调升级。catalog.yaml 的 risks 必须按此顺序,且以 readonly 开头:
| 值 | 含义 | 网站 | App | 机器人 |
|---|---|---|---|---|
readonly |
只看,不留下变化 | 打开页、只读 API | 打开界面 | 读位姿、查状态 |
mutating |
会改状态,一般可补救 | 提交表单、改配置 | 发消息、保存 | 点动、使能、开盖扫描 |
destructive |
难恢复或伤人/伤钱/伤环境 | 删库、真实扣费 | 清数据、内购 | 急停、断电、真焊 |
默认只跑 readonly。项目细分闸(点动 vs 焊接)用可选 gate,不要再发明 risk 名。
隔离且可重置的项目可在 catalog 设置 execution_profile: isolated-full,此时所有 active
用例按原始 risk 执行;risk 仍用于报告和 cleanup 设计,不能改写为 readonly。
tag=smoke 且 risk!=readonly 为非法。
standard 下不想跑某一档时,authorize.<risk> 指向的环境变量保持 false 即可——该档用例记
skipped,不是 not-run。isolated-full 不使用这些授权开关,改由 preflight 能力探针和
cleanup/rollback 契约阻断不安全环境。