3. 系统集成测试策略与计划

医疗机器人系统集成测试不是把各模块测完再“合起来跑一遍”,而是要在不同层级上回答不同的问题:单元层回答“这个函数或算法在给定输入下是否正确”,集成层回答“两个模块之间的接口、时序和数据语义是否一致”,系统层回答“整机在临床工作流中是否安全、可用、可追溯”,验收层回答“是否满足临床需求与法规要求”。层级划分的本质是把风险按可观测性分层暴露,越早暴露的缺陷修复成本越低。

测试层级划分与策略制定

以一台腹腔镜手术机器人为例,典型层级划分如下。单元层:运动学正逆解、关节限位判断、力反馈滤波、图像去畸变等纯算法或驱动函数,用固定输入向量与期望输出比对,例如给定关节角 [0.10, -0.25, 0.40, 0.00, 0.30, 0.15] rad,验证末端位姿误差小于 0.5 mm。集成层:主控与机械臂控制器之间的 CAN/EtherCAT 周期通信、主手到从手的映射链路、图像与器械坐标配准,重点测接口协议、周期抖动、丢包重传和坐标系一致性。系统层:整机在模拟手术流程中的表现,包括器械跟随延迟、急停响应、碰撞检测、无菌区边界、报警与日志。验收层:以临床需求规格和注册标准为依据,做可用性、电气安全、电磁兼容、软件生命周期文档等确认。

策略制定要回答三个问题:测什么、怎么测、测到什么程度。对安全相关功能(如急停、力上限、运动范围限制)采用穷举边界与故障注入;对性能指标(如主从延迟、图像刷新率)采用统计抽样并给出置信区间;对接口采用契约测试,固定报文格式与超时阈值。策略中应明确进入准则(如单元测试覆盖率≥80%、静态分析无严重告警)和退出准则(如遗留缺陷中无高优先级安全问题、回归通过率100%)。

医疗机器人测试层级与风险优先级映射 验收层 临床需求 / 法规确认 系统层 整机工作流 / 安全 / 可用性 集成层 接口 / 时序 / 坐标一致性 单元层 算法 / 驱动 / 边界条件 基于风险的优先级 P0 安全相关 急停 / 力上限 / 运动限位 P1 核心功能 主从跟随 / 图像配准 P2 性能与体验 延迟 / 刷新率 / 报警提示 P3 辅助与文档 日志 / 配置 / 帮助信息 优先级判定依据 • 伤害严重度 S • 发生概率 P • 可探测性 D RPN = S × P × D 自底向上 逐层集成 风险驱动回归

测试计划编写与资源估算

测试计划不是进度表的复述,而是把策略落到可执行条目。一份可用的计划至少包含:测试项与对应需求编号、层级、优先级、前置条件、输入数据、预期结果、判定准则、所需设备与人员、计划起止时间、风险与应对。以“主从跟随延迟”为例,测试项可写为:在模拟器上注入主手正弦轨迹(幅值 30°、频率 0.5 Hz),采集从手末端位置时间序列,计算互相关峰值延迟,判定准则为≤80 ms 且无丢帧。前置条件包括机械臂已标定、网络无其他大流量、采样率≥1 kHz。

资源估算常用“测试项数 × 单次执行工时 × 重复次数 + 环境准备与回归”的方式。假设集成层有 42 个测试项,平均单次执行 1.5 h,含缺陷复测按 1.6 倍计,则执行工时约 100 h;系统层 18 项、平均 4 h,约 115 h;加上环境搭建 40 h、回归 60 h,总人力约 315 h。若两名测试工程师并行,按每周 35 h 有效工时,约需 4.5 周。设备资源要单独列出:机械臂测试台、模拟腹腔、力传感器、示波器/总线分析仪、电磁兼容预测试场地等,避免与开发调试争用。

进度与风险管理

进度安排应把长周期、外部依赖强的任务前置,例如电磁兼容预测试、可用性测试受试者招募、注册检验送样。风险登记表可按“风险描述—概率—影响—触发条件—应对措施—责任人”维护。常见风险包括:关键器件到货延迟导致集成台架无法搭建;接口协议变更导致已测用例失效;缺陷修复引入回归;临床专家时间不可控导致验收延迟。应对措施要具体,例如对接口变更设置冻结窗口,冻结后变更须走影响分析并重跑对应集成用例;对关键器件准备替代型号并提前做兼容性验证。

优先级排序建议采用 RPN = 严重度 S × 发生概率 P × 可探测性 D,S、P、D 各取 1~5。RPN≥45 的用例必须进入每轮回归;RPN 在 20~44 的按周回归;低于 20 的可按版本回归。该阈值是示例,实际应结合产品风险管理和法规要求确定。

基于风险的测试优先级排序示例

测试项层级SPDRPN回归策略
急停按钮触发后 200 ms 内切断动力系统52220每轮回归
力反馈超过 8 N 时自动限幅集成53230每轮回归
主从跟随延迟 ≤80 ms系统43336每轮回归
图像与器械坐标配准误差 ≤1 mm集成42324每周回归
日志记录完整且可追溯系统23424每周回归
界面提示文字无歧义验收2228版本回归

排序结果要落到执行顺序上:先跑 P0 安全项,再跑 P1 核心功能,最后跑 P2/P3。每轮回归前先做冒烟测试(如急停、上电自检、通信握手),冒烟不通过则停止后续测试并转入缺陷处理。缺陷修复后,除复测原用例外,还要根据影响范围选择关联用例做定向回归,避免“修一个坏一片”。

测试计划与优先级不是一次定稿。每轮测试结束后应根据缺陷分布、风险变化和进度偏差更新 RPN 与回归范围,并保留变更记录,确保测试活动可追溯、可审计。