通过基于模型工程方法,设计测试工作流程一体

概览

在产品开发过程中,设计和测试团队之间的交互一直是导致摩擦和效率低下的一个因素。NI和MathWorks®认识到了这一点,并积极展开协作,通过基于模型的工程方法改善设计与测试的衔接。我们计划通过数字线程将设计和测试团队联结在一起,从而加快开发过程、增加设计和测试迭代机会,并在开发过程中的更早阶段开展测试。

内容

设计测试团队之间阻碍摩擦

​有效联锁可能会受以下阻碍的影响: 

  • 针对实时执行调整算法 - 在运行测试软件的实时控制器上导入并使用模型之前,一般必须先在开发计算机上运行的设计软件中对模型进行编译 
  • 确定与设计模型进行交互的理想方式 
  • 检测代码以获取有意义的结果 
  • 使用硬件或实验室 

我们以设计工程师Dan和测试工程师Tessa的工作为例。Dan需要编写混合动力电动汽车(HEV)系统的控制算法。他的时间都花在MathWorks MATLAB®和Simulink®软件编程上,对实时部署了解不多。他目前需要添加一个新的传感器输入,因而正在努力更新控制器代码。

Dan将他的设计交给Tessa(“各司其事”),但两人的协作并不多。Tessa使用硬件在环(HIL)测试方法和工具对ECU控制软件和I/O进行测试。她的工作重点是操作NI硬件和软件测试系统,但不怎么了解控制算法实现。她目前的任务是测试Dan刚完成的新型HEV控制系统。由于缺乏集成工具,Tessa无法轻松地让Dan的新算法在测试系统中运行。

Dan和Tessa的这种互动情形是不是似曾相识?上述例子清楚地展现了设计和测试团队之间无法有效协作的常见场景。 

我们的许多客户都面临着因设计和测试团队之间的这些障碍而产生的类似问题: 

  • 团队之间交流而不协作(“各司其事”) 
  • 版本兼容性 
  • 工作流程的文档说明不详细或未记录在案 
  • 设计工具和测试工具之间的平台问题(Windows/Linux、桌面/实时操作系统、32位/64位、编译器差异) 

这些挑战使得组织无法采用先进的方法来实现全覆盖测试的目标。

提高设计测试效率

减少测试可能会存在着隐藏成本和风险(返工成本、现场发现的导致问责的问题、产品召回、品牌形象和市场份额影响),因此大多数工程师都希望进行尽可能多的测试。但由于时间(计划)、成本(预算)和人才(专业知识)等资源有限,因此,在超过特定节点后,便无法再投入更多资源来解决某个问题,也无法再进行更多测试。因此,该目标只能通过以下方式来实现:彻底改变测试方法和流程,通过提高效率来应对当前存在的诸多限制。这种转变能力是一项非常重要的竞争优势,因为它旨在以更少的资源做更多的事,最大程度降低风险以及在计划执行期间有效提高质量和性能。

通过基于模型的工程方法将设计和测试集为一体,这是提高设计和测试效率的一种根本方法,而且这种方法可产生更深层次的影响。利用这种方法,可在开发过程的较早阶段进行测试(从道路到实验室以及从实验室到桌面),从而让工程师能够更早发现错误,更快地调试算法,并更快地迭代设计/测试周期。

数字线程

如需建立这种数字线程(也就是为团队沟通建立一种通用的语言),首先应使工具链之间可互操作。

图1:设计和测试通过数据、代码和软件组件的数字线程集为一体。

团队需要一个支持双向信息沟通的转换层,该转换层可减少返工、故障分析和重新部署。我们意识到模型是在设计和测试工作之间进行沟通的主要方法,因此MathWorks和NI正在就此展开合作。

模型中包含丰富的信息。它们描述了系统行为,并为构建测试场景和量化测试需求提供依据。如果将用于设计的同一个模型集成到测试中,便可使用通用平台来评估性能并仿真/模拟待测设备和组件周围的环境。这样,测试团队将能够从由于使用不同工具而带来的困境中解脱出来,并可与设计人员戮力同心。

在团队之间建立数字线程并使用模型作为主要沟通方式可提高开发效率。这种方式采用专为合作而开发的可互操作工具,将设计和测试工作流程集为一体。此解决方案可帮助Dan和Tessa更紧密地合作,更频繁地进行测试,并让其组织获得竞争优势。

MathWorks和NI已经改善了Simulink和VeriStand之间的兼容性。我们现在有lock-step版本(例如与VeriStand R2020兼容的MATLAB R2020a版本)。双方正在为进一步的改进而展开合作,例如将目前许多手动执行的联合工作流程自动化,以及提供对更深模型层次信号和参数的访问。

图2:Mathworks Simulink模型集成到实时测试软件中。

 

设计测试工作流程一体建议

图3: 集成从设计到验证测试的软件和硬件工具,用于模型在环和硬件在环测试。

下一步

 

部分内容由MathWork的Paul Barnard提供。