360 Secure SkillHub
360 安全技能中心

robot-testcase-generator

核心功能:针对工业/协作机器人的运动控制、安全防护等模块,生成标准化、可追溯且符合行业标准的测试用例,覆盖多场景,支持多模式需求处理。典型场景:机器人功能、安全、精度验证等用例生成。输入为需求文档或描述,输出按模块分组、带优先级着色的Excel文件,可导入用例管理平台,不适用于非机器人领域及测试脚本执行。

kokxi
kokxi
热度 16.49
最近更新 2026-09-01 10:01:39
分类:效率依赖:代码执行 / 读写文件 / 内部调用大模型应用场景:数据处理 / 报告撰写 / 工作流 / 模板

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add robot-testcase-generator
Metadata
name
robot-testcase-generator
license
Apache-2.0
metadata
{"slug":"robot-testcase-generator","displayName":"机器人测试用例生成器","version":"V1.2.0","author":"Kokxi","tags":"testing,robot,test-case,robotics,industrial-robot","openclaw":{"requires":{"bins":["python3"]}}}
compatibility
需要 Python 3 与 openpyxl 生成 Excel 输出
description
面向工业/协作机器人(六轴机械臂、SCARA、协作臂)领域的标准化测试用例生成技能。 当用户提到以下内容时触发:机器人测试、机械臂、协作机器人、运动控制、轨迹规划、伺服、 抓取/分拣、视觉引导、人机协作、急停/安全防护、机器人软件测试、机器人功能测试等需求的测试用例生成。 输入需求文档(Markdown/PDF/Word/Excel)或需求描述,输出按机器人模块分组的、 带优先级着色与模块分隔行的结构化 Excel 测试用例文件。 不适用于:车载/工业/视觉领域(请使用对应领域技能)、自动化测试脚本生成、测试执行。

机器人测试用例生成器(Robot Test Case Generator)

定位: 面向机器人领域,从需求输出标准化、可追溯、可直接导入用例管理平台的 Excel 测试用例。 独立性声明: 本技能为机器人领域专用,不引用其他领域技能;模块前缀、质量属性、设计方法均为机器人化定义。


第一步:判断输入模式

在开始任何阶段之前,先判断输入规模:

输入 模式 执行策略
1 个文件 / 1 段需求描述 单文档模式 五阶段完整执行
2-3 个文件 小批量模式 逐个文档执行阶段二~三
> 3 个文件 批量模式 见下方批量模式说明

批量模式执行策略

输入:N个需求文档(N > 3)
         │
         ▼
阶段一:一次性扫全部文档 → 生成全局机器人模块图(含模块间数据流/指令依赖)
         │
         ▼
阶段二~三:逐个文档执行(每个文档重复以下循环)
  ┌──────────────────────────────────────┐
  │  文档i:阶段二(需求提取)           │
  │       → 阶段三(设计+生成用例)       │
  │       → 暂存本模块用例               │
  └──────────────────────────────────────┘
         │
         ▼
阶段四:合并全部文档结果 → Excel(按模块分组,分隔行)

关键约束(防止 token 稀释):

  • 每个文档独立执行阶段二~三,不允许同时处理多个文档
  • 每个文档生成的用例数不得少于 min(10, 可测需求数*2)
  • 全局模块图(阶段一输出)作为后续每个文档的共享上下文

阶段一:机器人模块识别与分层

由 AI 执行,无需脚本。

1.1 模块识别

扫描文档,识别涉及的机器人功能模块。以子系统/功能粒度划分,参考下方前缀表命名,并在文档出现新模块时补充到模块图中。每个模块记录:

  • 模块名称 — 如「运动控制」「感知」「任务调度」
  • 核心功能 — 该模块承担的功能清单
  • 关键参数/消息 — 运动参数、控制指令、总线报文
  • 状态流转 — 初始化、待机、运行、急停、错误恢复
  • 模块间交互 — 与其他模块的数据流/指令依赖

1.2 机器人模块前缀表(编号规则)

模块 前缀 示例
运动控制 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位大写字母) 规则自建前缀,保持全局唯一。

1.3 业务分层与最少用例数

层级 定义 测试深度
核心层 无此模块机器人不可用(运动控制、安全) 穷尽各种场景(≥7条)
重要层 影响任务完成/体验(感知、调度) 主流程+关键异常(≥5条)
辅助层 锦上添花(HMI 皮肤、日志美化) 仅主流程(≥3条)
基础层 通用能力(参数配置、固件升级) 基本功能验证(≥2条)

安全防护(急停/碰撞检测/限速)与运动控制一律按核心层处理,且必须包含故障注入与降级用例。

1.4 输出格式

{
  "模块": [{
    "名称": "运动控制", "层级": "核心层", "前缀": "MC",
    "核心功能": ["关节运动", "轨迹插补"],
    "关键参数/消息": ["目标位姿", "速度", "加速度", "关节指令"],
    "状态流转": ["初始化→待机→运行→急停→恢复"],
    "关联模块": ["感知", "安全防护", "任务调度"],
    "最少用例数": 8
  }]
}

批量模式下,所有文档的模块合并到一个 phase1_modules.json,标注 源文件 字段。


阶段二:需求提取与分类

由 AI 执行。

2.1 需求提取

从文档中提取每条可验证的需求,不遗漏。机器人需求常以「功能需求」「性能需求」「安全需求」「接口需求」形式出现,分类标记。同时提取每条需求引用的国标/行标/企标(如 GB 11291.1、GB/T 36008、JB/T 系列、厂商企标编号),无引用时标注 [无标准引用]。

2.2 复杂度来源分类

复杂度来源 识别信号(机器人示例)
输入空间 目标位姿、速度/加速度范围、负载、输入参数边界
状态组合 初始化/待机/运行/急停/恢复/任务切换
条件逻辑 抓取判定、多传感器融合、工艺判断
流程步骤 启动流程、任务编排流程、标定流程
配置组合 机型/负载/末端/场景参数组合、控制柜配置

2.3 机器人质量属性标记

质量属性 触发条件(机器人示例)
功能 功能行为描述
运动控制 轨迹、精度、速度、加速度、重复定位
感知 视觉引导识别率、力觉精度、鲁棒性(光照/遮挡)
通信 总线报文、时序、丢包、断连重连
性能 节拍/循环时间、启动时间、吞吐
可靠性 长时间运行、异常恢复、掉电保护
安全性 急停、碰撞检测、限速、联锁、防护
兼容性 硬件型号、总线协议版本、SDK 版本
环境 高低温、湿度、振动、粉尘
标准合规 需求引用国标/行标/企标或认证要求(ISO/GB 对应)
易用性 示教器/HMI/交互:操作效率、误操作防护、可学习性

2.4 需求可测性检查

可测性状态 定义 处理方式
可测 输入输出明确,结果可验证 正常生成用例
不可测 描述模糊(如"运行流畅") 标记不可测,不生成用例
需澄清 缺少关键细节 做合理假设,标注[假设]

2.5 输出格式

{
  "源文件": "01-机械臂需求.md",
  "需求": [{
    "编号": "REQ-ARM-001", "描述": "机械臂重复定位精度 ≤ ±0.05mm",
    "模块": "机械臂/关节", "复杂度来源": ["输入空间", "性能"],
    "质量属性": ["运动控制", "性能"], "引用标准": ["ISO 9283"], "可测性": "可测"
  }]
}

2.6 需求完备性提示(隐含关注点)

需求未明示但按领域惯例隐含的关注点,默认覆盖或标注 [隐含项] 提示澄清,不得直接忽略:

需求类型 隐含关注点(需求未明示也须覆盖或澄清)
运动控制 奇异位形、关节软限位、指令冲突、掉电抱闸
安全功能 响应时间实测、恢复流程完整性、故障清除无残留
感知 感知失效降级、误检/漏检边界
精度 统计口径 N≥30、负载/速度固定、漂移监控
通信 断线检测时间、重连补偿、反复断连

阶段三:测试设计 + 用例生成

3.0 四层深度硬约束模板

每个模块必须严格按以下四层模板生成用例,不允许跳过任何一层。这是硬约束,不是建议。

┌─ 第一层:主流程(至少 1 条 P0)───────────────┐
│  模块核心路径正向走通(如:上电→初始化→执行任务→完成) │
│  步骤数: 4-5 步                                 │
└─────────────────────────────────────────────┘

┌─ 第二层:业务分层(至少 2 条 P1)──────────────┐
│  ├─ UI/交互元素 + 逻辑(按钮、示教器界面、弹窗)  │
│  ├─ 参数/指令边界(0/空值/最小/最大/负值)        │
│  └─ 元素/参数组合(速度×负载、位姿×加速度)       │
│  步骤数: 3-4 步                                 │
└─────────────────────────────────────────────┘

┌─ 第三层:黑盒方法(至少 3 种不同方法)──────────┐
│  场景法 / 边界分析 / 等价类 / 判定表 / 状态迁移 /  │
│  故障注入 / 错误猜测(选3种以上,正反向都要)       │
└─────────────────────────────────────────────┘

┌─ 第四层:探索性(每模块至少 2 条 P3,──────────┐
│  占比为参考值(建议 10%~30%,不强制))                       │
│  极端数据 / 特殊操作 / 环境异常(通信中断、断电)/  │
│  数据一致性(显示 vs 实际执行)/ 隐式推测          │
│  步骤数: 3 步                                   │
└─────────────────────────────────────────────┘

3.1 每层完成检查

逐层检查,当前层不通过不进下一层:

层 完成标志 不通过怎么办
第一层 ≥1 条 P0 主流程 写不出 → 需求理解不够 → 回头重读需求
第二层 ≥2 条 P1(参数边界+组合) 写不出 → 漏了交互/参数细节 → 重扫模块要素
第三层 ≥3 种不同方法 写不出 → 对照复杂度来源表重新分析
第四层 ≥2 条探索性(占比参考 10%~30%) 写不出 → 错误猜测法想 2 个风险点

3.2 机器人设计方法选择矩阵

复杂度来源 推荐方法 覆盖目标
输入空间 边界分析 + 等价类划分 位姿/速度/负载边界、有效/无效值域
状态组合 状态迁移法 初始化/运行/急停/恢复/任务切换,含非法转换
条件逻辑 判定表法 避障/抓取/报警多条件组合
流程步骤 场景法 启动/任务编排/标定流程
运动/感知 场景法 + 边界分析 轨迹场景、光照/遮挡边界、精度边界
通信 故障注入 + 场景法 丢包/超时/断连重连/消息时序
配置组合 Pairwise(参数≥6时) 机型/负载/场景参数组合

3.3 方法数量约束

每个模块至少使用 3 种不同设计方法;单文档所有用例至少覆盖 4 种方法。安全与运动控制模块必须包含故障注入方法。

3.4 机器人异常场景分类

异常测试覆盖以下六类,每个模块至少覆盖输入+流程+环境三类(安全模块还须覆盖安全/状态异常):

异常类别 说明 用例示例
输入异常 无效指令、越界参数、空值 目标位姿越界 → 拒绝并提示
流程异常 流程中断、回退、重复触发 任务执行中断 → 状态保持可恢复
环境异常 通信断连、断电、传感器失效、障碍物 急停按下 → 立即停机并抱闸
权限异常 未授权操作、越权访问 无权限用户下发运动指令 → 拒绝
数据异常 缺失标定、传感器漂移、工艺参数异常 标定文件缺失 → 禁止运行并提示
状态异常 非法状态转换、重复操作 运行中下发急停 → 进入急停状态

3.5 优先级分配

优先级 分配规则 占比参考
P0 核心层主流程 + 安全相关 + 阻塞性异常 10-20%
P1 核心层分支 + 重要层主流程 + 关键边界 30-40%
P2 核心层非关键 + 重要层异常 + 辅助层主流程 30-40%
P3 极端边界 + 低频场景 + 探索性测试 参考 10-30%

3.6 测试数据生成规则

按以下优先级生成具体值:

  1. 边界值数据 — 速度 0/最大、负载 0/额定/1.2 倍、加速度边界、关节角极限
  2. 有效等价类数据 — 典型任务参数(如速度 50%/80%、负载 5kg/10kg)
  3. 无效等价类数据 — 每个违规类型各一条(越界位姿、负速度、超载)
  4. 特殊值数据 — 空值、NaN、全 0、极端大数、重复指令

涉及真实设备参数时使用测试专用假值,标注 [测试数据] 前缀;轨迹点、位姿等给出具体数值。

3.7 用例字段结构与输出格式

固定规范以 references/format-spec.md 为准(生成时必读,不得偏离)。字段速览: 用例编号 / 业务域模块 / 优先级 / 测试维度 / 用例类型 / 设计方法 / 测试场景 / 测试点 / 操作步骤(3-5步) / 测试数据 / 前置条件 / 需求来源 / 控制参数 / 测试环境 / 测试级别。 输出 JSON 结构见 format-spec.md 第 3 节。

3.9 机器人领域设计模板(遇到对应功能直接套用)

模板 A:运动控制(运动类必套)

  1. 主流程:上电初始化 → 下发 PTP/LIN 指令 → 到位 → 位置/轨迹校验
  2. 精度验证:往返同一目标位姿 N 次(N≥30),统计最大偏差与标准差,与指标比对(如 ±0.05mm)
  3. 边界:工作空间边界点、奇异位形附近、关节软限位(提前减速并报警)
  4. 故障:运动中掉电 → 位置保持(抱闸);指令冲突/超速 → 拒绝执行并提示

模板 B:安全功能(安全类必套)

  1. 急停:运行中按急停 → 实测停机响应时间(如 100ms)、抱闸、位置保持、手动解除恢复
  2. 碰撞检测:碰撞力超阈值(如 150N)→ 停机进入保护状态,人工复位后可恢复
  3. 限速:安全区域/人员靠近 → 自动降速,离开后恢复
  4. 联锁:安全围栏打开 → 禁止运动;防护罩未关 → 无法启动
  5. 验证项:响应时间实测、恢复流程完整性、故障清除后无残留状态

模板 C:感知鲁棒性(感知类必套)

  1. 识别率验收:正样本 N 张 + 负样本 M 张,统计识别率/误识别率,与指标比对
  2. 干扰矩阵:光照(±30%)× 遮挡 × 模糊 × 旋转 × 噪声,逐格验证准确率不跌破阈值
  3. 传感器失效:视觉/雷达数据异常 → 降级行为(减速、停止、提示),无错误动作

3.10 模块-维度覆盖矩阵(深化约束)

设计完成后,每个模块对照矩阵自查:核心层模块至少覆盖 7 个测试维度,重要层至少 5 个(功能/运动控制/感知/通信/性能/可靠性/安全性/兼容性/环境)。在输出 Excel 时按「模块 × 测试维度」核对覆盖,缺项补用例。

3.11 机器人专项测试(区别于常规功能/异常/边界测试)

需求或模块涉及以下专项时,按专项测试生成用例(同样遵循四层深度硬约束;前置条件必须标注专项设备/环境,如激光跟踪仪、老化台架、环境箱):

专项测试 触发条件 用例要点
运动精度专项 涉及精度指标(ISO 9283) 重复定位/路径/轨迹精度,激光跟踪仪实测 N≥30
安全专项 涉及安全功能(ISO 10218 / ISO/TS 15066) 急停类别 0/1/2、碰撞检测、力/速度限制、SRCS、安全区域
可靠性/老化 长时间运行/量产验证 24h/7×24 连续运行、疲劳、热漂移、关节磨损
EMC/环境 涉及 EMC/IP/温湿度 抗扰、发射、高低温、振动、粉尘防护
感知评测 识别/定位类功能 数据集评测、对抗样本、传感器融合失效降级
多机协作 多机器人/多设备 调度避碰、任务分配、通信同步
人机交互 协作机器人 示教易用性、语音/手势交互、意图理解
网络安全 远程控制/通信 总线通信加密、远程运维安全、固件安全

专项用例的「测试环境」列必须写明专项设备(激光跟踪仪/老化台架/环境箱/暗室),不可写通用样机。

3.12 标准合规要求(国标/行标/企标)

标准是验收依据,不是背景知识。 机器人领域强安全监管,按以下规则生成合规用例:

  1. 标准识别:阶段二已提取每条需求的 引用标准;需求未注明时,按知识库「安全标准与规范体系」用领域默认标准兜底
  2. 标准优先级:强制国标(GB)> 推荐国标(GB/T)> 行标(JB/T 等)> 企标(厂商/集成商规范);企标严于国标时以企标为验收线,冲突取更严值;安全类按 GB/ISO 底线执行
  3. 合规用例生成:标准条款 → 验证方法 → 判定准则,逐条成例:
    • 安全类:按 ISO 10218 / GB 11291 的安全要求验证急停、限速、碰撞检测与响应时间
    • 精度类:按 ISO 9283 的测量方法与限值写精度验收用例
    • 环境类:按 GB/T 环境试验条件写前置条件与参数
  4. 判定准则:用例「预期」必须引用标准限值(如 ISO 9283 重复定位精度 ≤ ±0.05mm、GB 5226.1 急停类别)
  5. 标准版本:注明标准号+年份(如 GB 11291.1-2011)
  6. 合规用例的「测试维度」标为「标准合规」,需求来源列同时关联需求编号与标准号
  7. 试验项级门禁(硬性):标准覆盖率按「试验项」统计而非需求统计——引用标准的需求,对照 references/domain-knowledge.md「标准-试验项矩阵」逐项勾选试验项,每项至少 1 条合规用例(如 GB/T 12642 的位姿/轨迹 14 项、GB 11291.1 的急停/限位/联锁、GB/T 36008 的碰撞力/力速度限制);覆盖统计 sheet 输出「标准 × 试验项 × 用例数」矩阵,试验项覆盖率 100% 为硬性验收线,缺项直接补用例

3.13 测试级别分配与回归指引

测试级别(执行层级):每条用例的「测试级别」列按以下规则分配:

测试级别 定义 用例倾向
单元级 单模块/单节点逻辑 逻辑边界、异常
集成级 模块间交互、消息通信、接口 通信、时序、互操作
系统级 端到端任务、多模块联动 主流程、组合场景
验收级 指标验收、标准合规、专项 精度、安全、老化、合规

执行层级映射:

执行层级 适用场景 用例倾向
仿真(离线编程/物理仿真) 模型在环 逻辑、边界、算法
半实物 控制器+仿真环境 控制、通信、故障注入
实物 样机 精度、安全、可靠性

冒烟/回归快速用例优先落在仿真层级;精度/安全/老化类落在实物层级,报告中注明实际执行层级。

级别覆盖要求(硬性):

  1. 每个模块用例至少覆盖 2 个测试级别(单元/集成/系统/验收)
  2. 整份交付物必须出现全部 4 个测试级别(单元/集成/系统/验收 各 ≥1 条)
  3. 执行层级与级别对应:逻辑/算法类用单元级(MIL/SIL),通信/安全用 HIL,端到端用系统级(台架),合规/精度用验收级(实物/专项设备)

回归用例要求(硬性):

  • 每个模块至少 1 条「用例类型 = 回归」的用例(P1/P2 为主),需求来源列关联原需求,作为回归集复用基础

回归测试指引(阶段五配套):

  1. 变更驱动筛选:按「模块 + 需求来源」过滤受影响用例作为回归集
  2. 冒烟集:每个核心层模块的 P0 主流程用例作为变更后快速验证集
  3. 回归复用:用例类型=回归 的用例优先复用;探索性用例不纳入常规回归
  4. 层级匹配:回归环境优先与产线一致(实物),成本不允许时用高保真仿真替代并在报告注明

阶段四:Excel 输出

输出规范以 references/format-spec.md 第 4 节为准(生成时必读)。要点:双 sheet(用例 15 列 + 覆盖统计)、优先级着色(P0红/P1橙/P2绿/P3灰)、模块分隔行 【模块名称】、操作步骤 chr(10) 换行。


阶段五:交付前最终检查

阻断语义(硬性):以下检查任一项不通过 → 返回对应阶段修正,未全部通过不得交付;检查是生成时的门禁,不是事后说明。

高频遗漏核对(生成时逐项核对,勿跳过):

  • 引用标准的需求已对照「标准-试验项矩阵」枚举全部试验项(缺项即补合规用例)
  • 每个模块「用例类型 = 回归」≥ 1 条(3.13 回归集基础)
  • 交付物覆盖全部 4 个测试级别(单元/集成/系统/验收 各 ≥1)
  • 每个模块设计方法 ≥ 3 种(3.3,可脚本统计)
  • 核心层维度 ≥ 7、重要层 ≥ 5(3.10)
  • 每个模块异常场景 ≥ 3 类(3.4)

常规检查清单:

  • 每个模块最外层结构 ≥ 设计方法 3 种
  • 每个模块覆盖异常场景 ≥ 3 类(安全/运动控制模块含故障注入)
  • 每条用例操作步骤 3-5 步
  • 测试数据提供具体值(位姿/速度/负载/控制指令)
  • 每条用例可追溯到需求(需求来源列非空)
  • 运动/精度类用例填写「控制参数」列
  • 无跨领域内容混入(本技能只出机器人用例)
  • 引用标准的需求均有合规用例(标准覆盖率 100%,判定引用标准限值)
  • 回归集可用:核心层模块均有 P0 冒烟集,变更可按模块+需求来源筛选回归用例

单文档模式最少用例数参考

模块层级 最少用例数 覆盖内容
核心层 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) 演示/验收参考,不影响生成

核心约束已内联到本文件。本技能不依赖其他领域技能文件。