Install
openclaw skills install @kokxi/robot-testcase-generator面向工业/协作机器人(六轴机械臂、SCARA、协作臂)领域的标准化测试用例生成技能。 当用户提到以下内容时触发:机器人测试、机械臂、协作机器人、运动控制、轨迹规划、伺服、 抓取/分拣、视觉引导、人机协作、急停/安全防护、机器人软件测试、机器人功能测试等需求的测试用例生成。 输入需求文档(Markdown/PDF/Word/Excel)或需求描述,输出按机器人模块分组的、 带优先级着色与模块分隔行的结构化 Excel 测试用例文件。 不适用于:车载/工业/视觉领域(请使用对应领域技能)、自动化测试脚本生成、测试执行。
openclaw skills install @kokxi/robot-testcase-generator定位: 面向机器人领域,从需求输出标准化、可追溯、可直接导入用例管理平台的 Excel 测试用例。 独立性声明: 本技能为机器人领域专用,不引用其他领域技能;模块前缀、质量属性、设计方法均为机器人化定义。
在开始任何阶段之前,先判断输入规模:
| 输入 | 模式 | 执行策略 |
|---|---|---|
| 1 个文件 / 1 段需求描述 | 单文档模式 | 五阶段完整执行 |
| 2-3 个文件 | 小批量模式 | 逐个文档执行阶段二~三 |
| > 3 个文件 | 批量模式 | 见下方批量模式说明 |
输入:N个需求文档(N > 3)
│
▼
阶段一:一次性扫全部文档 → 生成全局机器人模块图(含模块间数据流/指令依赖)
│
▼
阶段二~三:逐个文档执行(每个文档重复以下循环)
┌──────────────────────────────────────┐
│ 文档i:阶段二(需求提取) │
│ → 阶段三(设计+生成用例) │
│ → 暂存本模块用例 │
└──────────────────────────────────────┘
│
▼
阶段四:合并全部文档结果 → Excel(按模块分组,分隔行)
关键约束(防止 token 稀释):
min(10, 可测需求数*2)由 AI 执行,无需脚本。
扫描文档,识别涉及的机器人功能模块。以子系统/功能粒度划分,参考下方前缀表命名,并在文档出现新模块时补充到模块图中。每个模块记录:
| 模块 | 前缀 | 示例 |
|---|---|---|
| 运动控制 | MC | TC-MC-001 |
| 机械臂/关节 | ARM | TC-ARM-001 |
| 感知(视觉引导/力觉) | PERC | TC-PERC-001 |
| 任务调度/编排 | TASK | TC-TASK-001 |
| 通信/总线 | COMM | TC-COMM-001 |
| 安全防护 | SAFE | TC-SAFE-001 |
| 人机交互 HMI | HMI | TC-HMI-001 |
| 仿真系统 | SIM | TC-SIM-001 |
| 上位机/管理平台 | MGMT | TC-MGMT-001 |
新模块出现时,按
模块名英文缩写(≤4位大写字母)规则自建前缀,保持全局唯一。
| 层级 | 定义 | 测试深度 |
|---|---|---|
| 核心层 | 无此模块机器人不可用(运动控制、安全) | 穷尽各种场景(≥7条) |
| 重要层 | 影响任务完成/体验(感知、调度) | 主流程+关键异常(≥5条) |
| 辅助层 | 锦上添花(HMI 皮肤、日志美化) | 仅主流程(≥3条) |
| 基础层 | 通用能力(参数配置、固件升级) | 基本功能验证(≥2条) |
安全防护(急停/碰撞检测/限速)与运动控制一律按核心层处理,且必须包含故障注入与降级用例。
{
"模块": [{
"名称": "运动控制", "层级": "核心层", "前缀": "MC",
"核心功能": ["关节运动", "轨迹插补"],
"关键参数/消息": ["目标位姿", "速度", "加速度", "关节指令"],
"状态流转": ["初始化→待机→运行→急停→恢复"],
"关联模块": ["感知", "安全防护", "任务调度"],
"最少用例数": 8
}]
}
批量模式下,所有文档的模块合并到一个 phase1_modules.json,标注 源文件 字段。
由 AI 执行。
从文档中提取每条可验证的需求,不遗漏。机器人需求常以「功能需求」「性能需求」「安全需求」「接口需求」形式出现,分类标记。同时提取每条需求引用的国标/行标/企标(如 GB 11291.1、GB/T 36008、JB/T 系列、厂商企标编号),无引用时标注 [无标准引用]。
| 复杂度来源 | 识别信号(机器人示例) |
|---|---|
| 输入空间 | 目标位姿、速度/加速度范围、负载、输入参数边界 |
| 状态组合 | 初始化/待机/运行/急停/恢复/任务切换 |
| 条件逻辑 | 抓取判定、多传感器融合、工艺判断 |
| 流程步骤 | 启动流程、任务编排流程、标定流程 |
| 配置组合 | 机型/负载/末端/场景参数组合、控制柜配置 |
| 质量属性 | 触发条件(机器人示例) |
|---|---|
| 功能 | 功能行为描述 |
| 运动控制 | 轨迹、精度、速度、加速度、重复定位 |
| 感知 | 视觉引导识别率、力觉精度、鲁棒性(光照/遮挡) |
| 通信 | 总线报文、时序、丢包、断连重连 |
| 性能 | 节拍/循环时间、启动时间、吞吐 |
| 可靠性 | 长时间运行、异常恢复、掉电保护 |
| 安全性 | 急停、碰撞检测、限速、联锁、防护 |
| 兼容性 | 硬件型号、总线协议版本、SDK 版本 |
| 环境 | 高低温、湿度、振动、粉尘 |
| 标准合规 | 需求引用国标/行标/企标或认证要求(ISO/GB 对应) |
| 易用性 | 示教器/HMI/交互:操作效率、误操作防护、可学习性 |
| 可测性状态 | 定义 | 处理方式 |
|---|---|---|
| 可测 | 输入输出明确,结果可验证 | 正常生成用例 |
| 不可测 | 描述模糊(如"运行流畅") | 标记不可测,不生成用例 |
| 需澄清 | 缺少关键细节 | 做合理假设,标注[假设] |
{
"源文件": "01-机械臂需求.md",
"需求": [{
"编号": "REQ-ARM-001", "描述": "机械臂重复定位精度 ≤ ±0.05mm",
"模块": "机械臂/关节", "复杂度来源": ["输入空间", "性能"],
"质量属性": ["运动控制", "性能"], "引用标准": ["ISO 9283"], "可测性": "可测"
}]
}
需求未明示但按领域惯例隐含的关注点,默认覆盖或标注 [隐含项] 提示澄清,不得直接忽略:
| 需求类型 | 隐含关注点(需求未明示也须覆盖或澄清) |
|---|---|
| 运动控制 | 奇异位形、关节软限位、指令冲突、掉电抱闸 |
| 安全功能 | 响应时间实测、恢复流程完整性、故障清除无残留 |
| 感知 | 感知失效降级、误检/漏检边界 |
| 精度 | 统计口径 N≥30、负载/速度固定、漂移监控 |
| 通信 | 断线检测时间、重连补偿、反复断连 |
每个模块必须严格按以下四层模板生成用例,不允许跳过任何一层。这是硬约束,不是建议。
┌─ 第一层:主流程(至少 1 条 P0)───────────────┐
│ 模块核心路径正向走通(如:上电→初始化→执行任务→完成) │
│ 步骤数: 4-5 步 │
└─────────────────────────────────────────────┘
┌─ 第二层:业务分层(至少 2 条 P1)──────────────┐
│ ├─ UI/交互元素 + 逻辑(按钮、示教器界面、弹窗) │
│ ├─ 参数/指令边界(0/空值/最小/最大/负值) │
│ └─ 元素/参数组合(速度×负载、位姿×加速度) │
│ 步骤数: 3-4 步 │
└─────────────────────────────────────────────┘
┌─ 第三层:黑盒方法(至少 3 种不同方法)──────────┐
│ 场景法 / 边界分析 / 等价类 / 判定表 / 状态迁移 / │
│ 故障注入 / 错误猜测(选3种以上,正反向都要) │
└─────────────────────────────────────────────┘
┌─ 第四层:探索性(每模块至少 2 条 P3,──────────┐
│ 占比为参考值(建议 10%~30%,不强制)) │
│ 极端数据 / 特殊操作 / 环境异常(通信中断、断电)/ │
│ 数据一致性(显示 vs 实际执行)/ 隐式推测 │
│ 步骤数: 3 步 │
└─────────────────────────────────────────────┘
逐层检查,当前层不通过不进下一层:
| 层 | 完成标志 | 不通过怎么办 |
|---|---|---|
| 第一层 | ≥1 条 P0 主流程 | 写不出 → 需求理解不够 → 回头重读需求 |
| 第二层 | ≥2 条 P1(参数边界+组合) | 写不出 → 漏了交互/参数细节 → 重扫模块要素 |
| 第三层 | ≥3 种不同方法 | 写不出 → 对照复杂度来源表重新分析 |
| 第四层 | ≥2 条探索性(占比参考 10%~30%) | 写不出 → 错误猜测法想 2 个风险点 |
| 复杂度来源 | 推荐方法 | 覆盖目标 |
|---|---|---|
| 输入空间 | 边界分析 + 等价类划分 | 位姿/速度/负载边界、有效/无效值域 |
| 状态组合 | 状态迁移法 | 初始化/运行/急停/恢复/任务切换,含非法转换 |
| 条件逻辑 | 判定表法 | 避障/抓取/报警多条件组合 |
| 流程步骤 | 场景法 | 启动/任务编排/标定流程 |
| 运动/感知 | 场景法 + 边界分析 | 轨迹场景、光照/遮挡边界、精度边界 |
| 通信 | 故障注入 + 场景法 | 丢包/超时/断连重连/消息时序 |
| 配置组合 | Pairwise(参数≥6时) | 机型/负载/场景参数组合 |
每个模块至少使用 3 种不同设计方法;单文档所有用例至少覆盖 4 种方法。安全与运动控制模块必须包含故障注入方法。
异常测试覆盖以下六类,每个模块至少覆盖输入+流程+环境三类(安全模块还须覆盖安全/状态异常):
| 异常类别 | 说明 | 用例示例 |
|---|---|---|
| 输入异常 | 无效指令、越界参数、空值 | 目标位姿越界 → 拒绝并提示 |
| 流程异常 | 流程中断、回退、重复触发 | 任务执行中断 → 状态保持可恢复 |
| 环境异常 | 通信断连、断电、传感器失效、障碍物 | 急停按下 → 立即停机并抱闸 |
| 权限异常 | 未授权操作、越权访问 | 无权限用户下发运动指令 → 拒绝 |
| 数据异常 | 缺失标定、传感器漂移、工艺参数异常 | 标定文件缺失 → 禁止运行并提示 |
| 状态异常 | 非法状态转换、重复操作 | 运行中下发急停 → 进入急停状态 |
| 优先级 | 分配规则 | 占比参考 |
|---|---|---|
| P0 | 核心层主流程 + 安全相关 + 阻塞性异常 | 10-20% |
| P1 | 核心层分支 + 重要层主流程 + 关键边界 | 30-40% |
| P2 | 核心层非关键 + 重要层异常 + 辅助层主流程 | 30-40% |
| P3 | 极端边界 + 低频场景 + 探索性测试 | 参考 10-30% |
按以下优先级生成具体值:
涉及真实设备参数时使用测试专用假值,标注
[测试数据]前缀;轨迹点、位姿等给出具体数值。
固定规范以 references/format-spec.md 为准(生成时必读,不得偏离)。字段速览:
用例编号 / 业务域模块 / 优先级 / 测试维度 / 用例类型 / 设计方法 / 测试场景 / 测试点 / 操作步骤(3-5步) / 测试数据 / 前置条件 / 需求来源 / 控制参数 / 测试环境 / 测试级别。
输出 JSON 结构见 format-spec.md 第 3 节。
模板 A:运动控制(运动类必套)
模板 B:安全功能(安全类必套)
模板 C:感知鲁棒性(感知类必套)
设计完成后,每个模块对照矩阵自查:核心层模块至少覆盖 7 个测试维度,重要层至少 5 个(功能/运动控制/感知/通信/性能/可靠性/安全性/兼容性/环境)。在输出 Excel 时按「模块 × 测试维度」核对覆盖,缺项补用例。
需求或模块涉及以下专项时,按专项测试生成用例(同样遵循四层深度硬约束;前置条件必须标注专项设备/环境,如激光跟踪仪、老化台架、环境箱):
| 专项测试 | 触发条件 | 用例要点 |
|---|---|---|
| 运动精度专项 | 涉及精度指标(ISO 9283) | 重复定位/路径/轨迹精度,激光跟踪仪实测 N≥30 |
| 安全专项 | 涉及安全功能(ISO 10218 / ISO/TS 15066) | 急停类别 0/1/2、碰撞检测、力/速度限制、SRCS、安全区域 |
| 可靠性/老化 | 长时间运行/量产验证 | 24h/7×24 连续运行、疲劳、热漂移、关节磨损 |
| EMC/环境 | 涉及 EMC/IP/温湿度 | 抗扰、发射、高低温、振动、粉尘防护 |
| 感知评测 | 识别/定位类功能 | 数据集评测、对抗样本、传感器融合失效降级 |
| 多机协作 | 多机器人/多设备 | 调度避碰、任务分配、通信同步 |
| 人机交互 | 协作机器人 | 示教易用性、语音/手势交互、意图理解 |
| 网络安全 | 远程控制/通信 | 总线通信加密、远程运维安全、固件安全 |
专项用例的「测试环境」列必须写明专项设备(激光跟踪仪/老化台架/环境箱/暗室),不可写通用样机。
标准是验收依据,不是背景知识。 机器人领域强安全监管,按以下规则生成合规用例:
引用标准;需求未注明时,按知识库「安全标准与规范体系」用领域默认标准兜底references/domain-knowledge.md「标准-试验项矩阵」逐项勾选试验项,每项至少 1 条合规用例(如 GB/T 12642 的位姿/轨迹 14 项、GB 11291.1 的急停/限位/联锁、GB/T 36008 的碰撞力/力速度限制);覆盖统计 sheet 输出「标准 × 试验项 × 用例数」矩阵,试验项覆盖率 100% 为硬性验收线,缺项直接补用例测试级别(执行层级):每条用例的「测试级别」列按以下规则分配:
| 测试级别 | 定义 | 用例倾向 |
|---|---|---|
| 单元级 | 单模块/单节点逻辑 | 逻辑边界、异常 |
| 集成级 | 模块间交互、消息通信、接口 | 通信、时序、互操作 |
| 系统级 | 端到端任务、多模块联动 | 主流程、组合场景 |
| 验收级 | 指标验收、标准合规、专项 | 精度、安全、老化、合规 |
执行层级映射:
| 执行层级 | 适用场景 | 用例倾向 |
|---|---|---|
| 仿真(离线编程/物理仿真) | 模型在环 | 逻辑、边界、算法 |
| 半实物 | 控制器+仿真环境 | 控制、通信、故障注入 |
| 实物 | 样机 | 精度、安全、可靠性 |
冒烟/回归快速用例优先落在仿真层级;精度/安全/老化类落在实物层级,报告中注明实际执行层级。
级别覆盖要求(硬性):
回归用例要求(硬性):
回归测试指引(阶段五配套):
输出规范以 references/format-spec.md 第 4 节为准(生成时必读)。要点:双 sheet(用例 15 列 + 覆盖统计)、优先级着色(P0红/P1橙/P2绿/P3灰)、模块分隔行 【模块名称】、操作步骤 chr(10) 换行。
阻断语义(硬性):以下检查任一项不通过 → 返回对应阶段修正,未全部通过不得交付;检查是生成时的门禁,不是事后说明。
高频遗漏核对(生成时逐项核对,勿跳过):
常规检查清单:
| 模块层级 | 最少用例数 | 覆盖内容 |
|---|---|---|
| 核心层 | 7 | P0(1主流程) + P1(2分层) + P2(2黑盒) + P3(2探索) |
| 重要层 | 5 | P1(1主流程) + P2(2分支) + P3(2异常) |
| 辅助层 | 3 | P2(1主流程) + P3(2基本异常) |
| 基础层 | 2 | P2(1正向) + P3(1反向) |
该数字是底线不是上限;安全与运动控制模块不受此限,按核心层从高处理。
| 文件 | 内容 | 何时阅读 |
|---|---|---|
references/domain-knowledge.md | 机器人领域知识库(系统构成/运动/感知/安全标准/工具/风险点/前置条件模板) | 每次生成前通读,重点看「测试类型」「风险点」「前置条件模板」 |
references/format-spec.md | 用例字段结构与 Excel 输出规范(固定格式) | 生成用例与输出 Excel 时必读 |
examples/ | 真实案例:requirements.md(需求输入)+ testcases.xlsx(输出 Excel) | 演示/验收参考,不影响生成 |
核心约束已内联到本文件。本技能不依赖其他领域技能文件。