Files
Cognitive_Agent/docs/testing/t2g-seat-frontend-test-suite.md
T

44 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# T2G 座椅前端能力测试集
本测试集验证从前端自然语言输入、意图计划、`FunctionConfig`、CAN 编译到执行反馈展示的完整链路。机器自动化测试固定使用 `dry_run`,不会连接台架;真实台架部分必须由现场人员逐条执行并目视确认。
可执行用例源位于 `tests/fixtures/seat_frontend_capabilities.json`,HTTP 回归测试位于 `tests/e2e/test_seat_web_api.py`。
## 覆盖范围
| 用例 | 前端输入 | 重点验证 |
| --- | --- | --- |
| THERM-01/02 | 副驾加热3档、关闭加热 | 加热开关、档位和 `0x4FA` 回读 |
| THERM-03/04 | 副驾通风2档、关闭通风 | 通风开关、档位和 `0x4FA` 回读 |
| MOTION-01 | 副驾水平位置25% | M0、`0x302≈2500`、COMPLETE/OK |
| MOTION-02 | 副驾坐盆倾角35% | M1、`0x302≈3500`、COMPLETE/OK |
| MOTION-03 | 副驾靠背130度 | M2、角度标定和真实位置反馈 |
| MOTION-04 | 副驾腿托145度 | M3、角度标定和真实位置反馈 |
| COMBINED-01 | 一句话同时设置热管理和四轴 | 多操作编排、逐项反馈与失败传播 |
| DEFAULT-01 | 未指定座位的通风请求 | 自动使用副驾,不生成主驾操作 |
| SAFE-01 | 显式主驾通风请求 | 返回仅支持副驾,不得重定向或发 CAN |
| SAFE-02 | 独立腿托伸缩 | 当前台架不支持,打开CAN前拒绝 |
| SAFE-03 | 生产默认配置下错误/缺失授权令牌 | HTTP 403,CAN 不得打开;本地显式设置 `COGNITIVE_AGENT_HARDWARE_APPROVAL_TOKEN_REQUIRED=false` 时不适用 |
| RECOVERY-01 | 未烧写或固件不匹配后请求加热 | 自动烧写、重新验证、继续原动作 |
## 自动化执行
```powershell
$env:PYTHONDONTWRITEBYTECODE='1'
$env:PYTHONPATH='src;domains/seat/src'
python -m unittest tests.e2e.test_seat_web_api
```
自动测试会逐条向 `/api/requests` 提交测试集中的自然语言输入,验证所有六项真实台架能力均生成副驾目标和正确参数,并确认执行模式保持为 `dry_run`。领域集成测试另行验证未指定座位时默认副驾,以及本地解析和模型输出中的显式主驾目标都被拒绝。
## 真实台架执行顺序
1. 固定座椅、清空行程、准备急停和限流电源;保持 `COGNITIVE_AGENT_SEAT_AUTO_HOME_ENABLED=false`。
2. 先执行 RECOVERY-01。可使用未烧写控制器,或仅在确认允许覆盖当前固件后进行;前端结果必须显示 `programmed_this_request=true`、`firmware_verified=true`,随后才出现动作反馈。
3. 依次执行 THERM-01~04,确认开、关和档位回读。
4. 让四轴处于有效位置后,依次执行 MOTION-01~04。每次只观察一个物理轴,映射或方向错误立即急停。
5. 单项全部通过后再执行 COMBINED-01;逐项核对 ACK、TaskState、位置、Hall、电流诊断及最终报告。
6. 最后执行 SAFE-01~03,确认所有安全用例均未产生 CAN 动作。
普通一句话请求绝不触发全行程标定。若 `PositionValid=0`,保持自动归零关闭时动作应安全失败;只有确认台架无遮挡且允许回最近端后,才能单独启用已知量程归零。