用户案例

TRW Automotive 使用 Simulink 和 Simulink Design Verifier 开发和测试电子驻车制动器

挑战

设计电子驻车制动器控制系统的测试

解决方案

利用 Simulink Design Verifier 自动生成测试 用例,这些测试能够最大化模型覆盖度并实现系 统化设计验证

结果

  • 测试案例开发时间从几天缩短到数小时
  • 实现百分百的模型覆盖度
  • 项目开始两个月后正式进入测试

“发现错误的时间越早,修复错误的成本就越低,这一点人人皆知。通过 Simulink Design Verifier,我们在开发 的第一阶段就进行了正式测试,尽显了基于模型设计的优势。”

Christoph Hellwig, TRW
电子驻车制动器控制系统

与传统制动器相比,天合汽车集团(现在的采埃孚股份公司)开发的的电子驻车制动器 (EPB) 具有许多优势。电子驻车制动器省去了对手刹拉杆或踏板的需要,因此给汽车的内饰设计提供了更多灵活性。EPB 的车载计算机可与汽车的稳定控制系统集成。例如,可以将它配置为在汽车加速时松开制动器,在驾驶员车门打开时激活制动器,以及在停车启动时防止向后溜车。

由于 EPB 是驻车应用程序的一个关键部分,因此 TRW 必须测试控制软件的每个操作和分支。TRW 使用 MathWorks 工具进行基于模型的设计,以对 IEC 61508–认证的 EPB 的控制系统进行建模和仿真。TRW 工程师们使用 Simulink Design Verifier™ 来自动生成测试用例,从而帮助团队实现 Simulink® 与 Stateflow®模型百分之百覆盖度。

TRW 团队负责人 Christoph Hellwig 解释说:“使用 Simulink Design Verifier,我们在开发的第一阶段就可以进行软件内部测试与设计确认,这时错误更容易发现而且修复的代价更低。”

挑战

在之前的项目中,外部供应商手动编写和执行 TRW 的代码测试,然后将结果发给 TRW 的开发人员分析和调试。这个流程不仅费用高而且容易导致沟通出现问题和项目延期。并且,手些测试并不能覆盖全部设计方案。Hellwig 说:“我们决定内部完成这个流程,不仅是为了减少成本,也是为我们公司积累这种软件验证的经验。”

TRW 希望改进自己的测试流程,能在开发的更早阶段就给开发人员提供有建设性和切实可行的反馈意见。

解决方案

TRW 的软件开发团队使用 MATLAB® 和 Simulink 开发详细的软件设计规范,这使他们可以更改测试流程。

TRW 工程师们使用 Simulink Design Verifier 来产生测试用例,以确保能满足客户对 EPB 控制系统模型百分之百覆盖度的要求。

TRW 测试工程师 Ling Zhu 根据用于代码开发的相同模型,使用 Simulink Design Verifier 自动生成测试。

然后,测试工程师可以运行生成的测试用例,查看测试结果。他们也使用 Simulink Requirements™ 和 Simulink Coverage™ 生成模型覆盖度报告,该报告强调 EPB 设计中未测试的元素,从而使开发人员可以了解未测试的模型区域。开发人员使用这些报告可缩短解决缺陷所需的时间。

软件测试环境准备完成后,TRW 开发团队将规范转换成定点 C 模型并生成 C 代码。Ling 可以重新运行 Simulink Design Verifier 为 C 代码生成的测试用例,比较测试结果,检查转换过程是否引入任何问题。利用该项技术,可轻松发现设计中的时移错误,以及代码中不能达到的分支。

TRW 正在为普通汽车市场开发更易于配置的 EPB 版本,同时也正在扩展对 Simulink Requirements 和 Simulink Coverage 的使用,以将需求与其设计、测试和生成的代码链接起来。

结果

  • 测试案例开发时间从几天缩短到数小时. Hellwig 说:“手动编写复杂模型的测试用例需要几天的时间。使用 Simulink Design Verifier 后,我们在几个小时内就可以自动生成测试,并获得可靠且可复现的测试结果。对于更简单的模型,以前需要一整天时间手动编写测试,而现在几分钟内就能得出结果。”

  • 实现百分百的模型覆盖度. Hellwig 说: “我们为 Simulink Design Verifier 自动生成的测试用例补充了几个手写测试用例,就达到了百分之百代码覆盖度。而使用手动流程,我们无法实现这种程度的覆盖度。”

  • 项目开始两个月后正式进入测试. Hellwig 说:“在第三方测试费用既定的情况下,我们通常要等待功能确定后或者说大约项目启动一年以后才能正式开始测试。Simulink Design Verifier 使我们可以在内部执行测试,因此从初始构建就可以为开发提供有意义的反馈,这通常是在项目开始两个月后。”