49 lines
4.3 KiB
Markdown
49 lines
4.3 KiB
Markdown
# P0 覆盖情况生成提示词
|
|
|
|
> 用途:让 Claude Code 自动盘点 SwitchBot App UI 自动化的 **P0 必测项覆盖情况**,输出"已覆盖 / 缺口"报告。
|
|
> 用法:在仓库根目录(`/Users/woan/Desktop/AI_UIAutomation`)直接把下面【提示词】整段发给 Claude 即可。
|
|
|
|
---
|
|
|
|
## 【提示词】
|
|
|
|
盘点 P0 必测项(ONES 计划 CQz9YCNX / lib EPfZfC9Y)的自动化覆盖情况,输出覆盖/缺口报告。按以下步骤与规则执行:
|
|
|
|
### 数据源
|
|
1. **P0 必测项全集** = `test-plan/must-test.manifest.ts`(187 条;字段:`kind`(add/feature/ctrl/platform)、`ones`、`name`、`cat`、`device`、`file`、`testName`、`status`)。
|
|
- 构成:添加 add ≈73、单品功能 feature 9、控制 ctrl=2 条协议超级用例逐 step(15975 BLE 49 步 + 15974 WiFi 56 步 = 105)、platform 12。另有 2 条 `status:"na"`(safety alarm 无目录、强绑定解绑归平台)。
|
|
2. **实际已实现用例** = `tests/<品类>/*.test.ts`(尤其 `*connect*` = 添加、`*control*` = 控制)。
|
|
3. **已调通基线(回归集)** = `scripts/run-p0-all.sh` 的 `ADD_CMDS` / `CONTROL` / `TAIL` 列表 —— 在里面的都是已调试通过、纳入回归的。
|
|
|
|
### 判定规则(重要)
|
|
- **不要信 manifest 的 `status` 字段**(长期是 `todo`,没维护)。覆盖与否以"是否真有对应用例文件且已调通"为准。
|
|
- **`manifest.file` 是旧的"计划映射"**(多指向通用 `xxx_connect.test.ts`),实际实现常拆成型号专属文件(如 `presence_sensor_connect.test.ts`、`meter_pro_connect.test.ts`、`color_floor_lamp_connect.test.ts`)。要按 **设备/型号名** 比对,而不是按文件名。
|
|
- **"无 [P0]/ONES 标记" ≠ 未覆盖**:meter / curtain / hub_matter / find_card / water / remote / plug_mini / motion / contact 等虽未打 ONES 标记,但已调通且在 `run-p0-all.sh` 回归里 → 算已覆盖。判"已覆盖"时务必交叉核对 `run-p0-all.sh`。
|
|
- **某品类缺整个 connect 文件** = 该品类所有添加项缺口(例:无 `tests/camera/camera_connect.test.ts` → 除门铃外所有摄像机添加缺口;无 `tests/urc/urc_connect.test.ts` → URC 添加缺口)。
|
|
- **有 connect 文件但是骨架/未调/无硬件**(如 robot/lock/hub/humidifier/fan 的添加)算"未覆盖(未调试)",并注明原因(无硬件 / 未调试)。
|
|
- 控制 ctrl 粒度在 step:已覆盖 = 该 step 所属品类的 `*_control.test.ts` 已调通对应动作;否则列入未覆盖,并按"出流/清扫/开关/校准/绑定"等动作归类。
|
|
|
|
### 执行动作(尽量省 token)
|
|
1. 读 `test-plan/must-test.manifest.ts` 拿全集。
|
|
2. `ls tests/*/*.test.ts` + 检测各 `*connect*` 是否存在、是否带 `[P0]`/`ONES:` 标记。
|
|
3. 读 `scripts/run-p0-all.sh` 的 ADD/CONTROL/TAIL 列表。
|
|
4. 交叉比对,产出报告。**不需要真机运行**,纯静态盘点。
|
|
|
|
### 输出格式
|
|
1. **顶部一行汇总**:P0 总数、已覆盖数、缺口数(add / feature / ctrl / platform 分别多少)。
|
|
2. **✅ 已覆盖的添加**(列品类/型号)。
|
|
3. **❌ P0 添加缺口表**:列 `分组 | 缺的型号 | 原因`(原因:无 connect 文件 / 未调试 / 无硬件 / 未实现)。
|
|
4. **❌ 单品功能 feature 缺口**(列 ONES 号 + 名);并列已做的。
|
|
5. **❌ 平台 platform 缺口**;并列已做的。
|
|
6. **⚠️ 控制 ctrl(105 step)**:已调通的动作类 + 大量未覆盖动作类。
|
|
7. **结尾"优先补的建议"**:按"设备在手 + 无文件"优先(如 camera_connect、urc_connect、锁/Hub/加湿器/循环扇添加),硬件受限的(扫地机、融蜡灯需110V)后置。
|
|
|
|
报告用中文、表格化、可扫读;不要逐条罗列 105 个 step,按动作归类即可。
|
|
|
|
---
|
|
|
|
## 备注(维护者看)
|
|
- 新调通一个设备后:① 在用例打 `[P0][ONES:<号>]` 标记;② 视情况加进 `scripts/run-p0-all.sh` 的 ADD/CONTROL 列表 —— 这样本提示词能自动算它"已覆盖"。
|
|
- 若要让 manifest `status` 也准,可另写脚本按上述规则回填 `must-test.manifest.ts` 的 `status`(todo/done),再用本提示词时可直接信 status。
|
|
- 最近(2026-06)新增已覆盖:门铃、keypad vision pro(ch34+35)、keypad touch、炫彩霓虹灯、RGBWW落地灯、RGBICWW炫彩落地灯(ch44)、presence、meter pro co2、curtain3 2025、safety alarm、plug mini EU、吸顶灯Pro、color bulb、strip light。AI Hub(ch43)流程就绪但继电器接线未生效(硬件阻塞)。
|