AI 调 MATLAB 用 MCP 太难用?单元设计规范和测试用例,用原生 AI 一次生成
一、试过 MCP 的人,已经知道了
MathWorks 今年在 AI 上动作很大:MATLAB MCP Server、Simulink Agentic Toolkit,让 Claude Code、GitHub Copilot、Codex、Gemini CLI 这些 AI 助手直接操作 MATLAB 和 Simulink。方向我非常认同------模型才是信息源头,AI 本来就该从源头干活。
但如果你真配过一遍,多半经历过这些:
- 配置门槛:JSON 里写 matlab-root 路径、初始工作目录,AI 每次要执行代码还得你逐条放行;
- 来回迭代:MathWorks 官方博客作者自己实测后的结论是------多轮对话后确实能得到能用的代码,但"可能比我自己写还慢",而且他"不想每次要仿真一个模型时,都重复一遍这种来回对话";
- 产出形态:聊天窗口里的一段段脚本。格式不固定、没法直接归档评审,这次和下次还未必一致。
一句话:MCP 是为"对话中偶尔调个工具"设计的协议,而单元设计规范和测试用例是批量、结构化、要进评审和审计的交付物------拿对话协议干流水线的活,天然拧巴。
二、我换了个思路:AI 原生长在工具链里
既然交付物是流水线产物,就别让 AI 在聊天窗口里现场发挥。我把 AI 嵌进每个环节,工程师只做两件事:上传模型、做决策。
以一个 BEV 制动系统模型的实测为例,全程如下。
1. 模型解析:几秒钟看清全景
上传 .slx 文件,AI 解析出 14 个系统、190 个模块、176 条信号线、54 项数据字典条目 。接口、功能块、保护机制、状态机全量提取;模型里没有的信息,如实标注"未定义"------不瞎编。


2. 单元划分:边界由你定
AI 按可调策略推荐单元划分(本例推荐 6 个单元),每个单元的边界、组成、职责逐个可改。划分权始终在人。

3. 设计规范:生成 + 质检自愈
一键成文、多单元并行。每份文档经过动、静两级校验------接口一致、逻辑自洽、内部矛盾消解后才定稿。这样一份《软件单元设计规范》人工编写,通常要一到两天。

4. 测试用例生成:提取功能点
测试用例三步向导的第一步。AI 拿着设计项清单------功能块(带 SDD 编号)、保护机制、状态机、接口全集------逐项核对提炼功能点,每个功能点与设计项的映射关系全部列明,漏了哪项界面直接告警。完整性不靠提示词喊口号,靠程序核对。

5. 用例设计导图:维度按 ISO 26262-6,取舍由你
勾选测试用例导出方法(需求分析、等价类划分、边界值分析、错误猜测,Table 8)与结构覆盖准则(语句 / 分支 / MC/DC,Table 9),按 ASIL 等级联动推荐。生成的思维导图每个节点可增删改------设计决策留给人,格式苦力交给 AI。


6. 用例生成 + 覆盖度统计
Test Manager 风格的执行表:信号逐列、步骤逐行 ,组级列自动合并,实际结果列、状态列(Not-Run)已预留,导入测试工具即可执行。本例生成 217 组 / 509 行,覆盖 9 个测试维度。
生成完自动出覆盖度统计:功能点覆盖、输入激励覆盖、输出断言覆盖、各维度用例分布、语句/分支/MC/DC 的判定表达式清单------未覆盖的端口直接给补测建议。
口径也写得明明白白:设计覆盖度,非实测。结构覆盖的真实百分比要等用例执行后由覆盖率工具测量,我不拿估算冒充实测。

7. 导出交付
Excel 双 sheet:用例表 + 覆盖度统计,同源同值。追溯链完整------每条用例挂着 SDD 设计项编号(如 SDD-传动系统-001),评审、审计直接对表。

8.产出物截图




三、一张表说清差别
| 维度 | MCP 调 MATLAB | 原生 AI 流水线 |
|---|---|---|
| 上手 | 装 server、配 agent、写 skill | 上传模型,点开始 |
| 产出形态 | 聊天里的脚本片段 | Word 规范 + Excel 用例,直接归档 |
| 完整性 | 模型漏了就漏了 | 设计项基线程序核对、漏项告警 |
| 一致性 | 每次对话产出不同 | 模板固定、格式程序校验 |
| 覆盖度 | 无 | 三层统计 + 补测建议 |
| 追溯 | 无 | 用例 → 功能点 → SDD 编号全链 |
| 换人换机 | 会话结束就没了 | 项目内沉淀,随时重跑 |
公平地说:MCP 生态做交互式探索、改模型、跑仿真,是好东西,我也持续关注。但"批量交付物"这个场景,天生属于流水线。
四、三种使用姿势
- 全流水线:有 Simulink 模型,规范 + 用例一键到底(本文全程演示);
- 只补文档:模型 → 单元设计规范,先过文档评审关;
- 只生成用例:已有规范文档------哪怕是手写的------上传直接出用例,客户既有文档的场景也能接。
五、写在最后
单元测试的苦力活------抄接口、编用例、对覆盖------信息源头本来就在模型里。让 AI 从源头干起,工程师把时间留给设计决策和评审。
MCP 适合探索,交付物交给流水线。下次单元测试评审,让原生 AI 先加那个班。