您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
MBSE应用案例: BMW基于模型的测试用例"自动生成"
 
作者:邹文彬
   次浏览      
 2021-3-18
 
编辑推荐:
本文主要讲解了BMW利用MBSE方法,基于规范化、数字化的系统设计模型和测试用例,实现了测试用例的(半)自动化生成,在提高研发效率的同时更好地保证了产品测试的完整性。
本文来自于微信公众号数字化从业笔记,由火龙果软件Linda译、推荐。

引言

传统基于文本需求手动编写测试用例,既耗费时间,又容易出现错误或遗漏。在当前电气化、自动化、智能化的发展趋势下,汽车产品复杂度走向了新的高度,继续沿用传统方法,在保证研发周期、确保产品功能安全方面势必带来更大的安全风险和研发成本。

基于模型的系统工程(MBSE)实现了产品研发全过程数据的数字化,对于业务规则较为明确的设计活动来说,这带来了研发数据自动化处理的可能。

BMW利用MBSE方法,基于规范化、数字化的系统设计模型和测试用例,实现了测试用例的(半)自动化生成,在提高研发效率的同时更好地保证了产品测试的完整性。

本文章节安排如下:

BMW系统工程方法论-SMArDT

系统功能模型

测试用例数据结构

基于模型的测试用例自动生成

小结

1. BMW系统工程方法论-SMArDT

BMW系统工程方法论 – SMArDT,全称Specification Method for Architecture, Design and Test,将设计过程划分为四个层次:

Object of reflection: 用户需求层,包含需求模型、用例模型等

Logical layer : 功能层,主要借助SysML活动图、状态机图进行建模,定义功能模型过程中,需要设计和测试部门人员共同参与,确保所有功能都在考虑范围内,包括正确的故障/失效处理功能等

Technical concept : 逻辑架构层,对系统组成、接口进行描述,此部分的内容与Logical层的功能存在映射关系;

Realization: 物理实现层,包含具体的软硬件实现方式,如ECUs, CAN-BUS等

SMArDT方法论[2]

如上图所示,随着设计层次演进,设计需求会随着细化。

设计需求细化&追溯[2]

从系统、子系统到零部件设计,不同的设计人员不断重复此过程。

系统-子系统-零部件数据传递[1]

2. 系统功能模型

SMArDT对SysML的应用做了严格的要求,并制定了相应的建模指导规范。在功能模型建模方面,主要应用活动图Activity Diagram和状态机State Chart (StateMachine Diagram)。

基于活动图描述的系统功能模型[2]

3. 测试用例数据结构

BMW将测试用例划分为三部分:Precondition, Action和Post condition.

Precondition: 定义测试用例执行之前需要具备的初始条件,缺少初始条件的测试用例无法执行

Action: 定义测试过程中具体执行的测试步骤;

Post condition: 定义测试用例执行结果

在Precondition, Action和Post condition内部,包含一系列“操作步骤”,每个操作步骤又包含三部分信息:

操作类型:设置(set)或读取(read)信息

操作对象名称

操作对象取值:设置(set)或读取(read)

描述功能的活动图&对应测试用例[3]

4. 基于模型的测试用例自动生成

基于模型的测试用例自动生成整体思路如下图[1]所示:

基于SMArDT建模规范进行功能设计,建立功能模型(活动图&状态机图)

配置测试用例生成所需的外部输入信息,如初始化、输入参数、执行时间等

通过工具自动生成测试用例

基于路径覆盖准则对活动图路径进行自动判断,得到从开始到结束的所有可能路径,每个可能路径形成一条测试用例(少量复杂输入和判断条件的测试仍然需要手动配置),保证测试用例覆盖的完整性

对于通过状态机描述的功能模型,首先需要将状态机图转化为活动图,然后再执行测试用例的自动生成

状态机→活动图转化

测试用例的执行 – 将测试用例与相应测试产品结合,执行测试。由于功能层的信号、参数都是抽象概念,无法直接映射到具体测试上,因此需要两个底层的数据库 - Keyword数据库和Signal数据库,完成功能层信号和参数到具体物理层的映射,以便指导具体的测试.

基于模型生成的测试用例同时也保留了与相应设计需求的追溯关系.

设计数据追溯关系

由于前两层的用户模型、功能模型属于抽象层设计,与具体实现方式无关,因此生成的测试用例模型可被其他平台重用。

5. 小结

BMW利用MBSE方法,基于规范化、数字化的系统设计模型和测试用例,实现了测试用例的(半)自动化生成,在提高研发效率的同时更好地保证了产品测试的完整性。

研发数据自动化处理是数字化的重要组成部分,对于一线研发人员来说,这也是能最直观感受到的“好处”,基于模型的系统工程(MBSE)为这一应用前景提供了基础。

但数据自动化处理有两个前提:研发数据标准化和业务规则标准化,没有标准化,自动化就无从谈起。上文所提到的“测试用例自动生成”,也是在“系统功能模型”、“测试用例数据结构”都完成标准化的前提下实现的。

所以,在讨论如何借助数字化实现自动化之前,企业可能需要花费一定的精力先解决“标准化”的问题。

 

 

   
次浏览       
 
相关文章

UML概览
UML图解:用例图(Use case diagram )
UML图解:活动图(activity diagram )
UML图解:类图(class diagram )
UML图解:对象图(object diagram)
UML图解:顺序图( sequence diagram )
 
相关文档

模型跟踪:跟踪图、矩阵、关系(建模工具EA)
自定义表格(Custom Table)在EA中的使用
元素的详情浏览控制
UAF 1.2规范解读(DMM 和 UAFML )
EA中支持的各种图表
EA中的界面原型建模
 
相关课程

UML与面向对象分析设计
UML + 嵌入式系统分析设计
业务建模与业务分析
基于SysML和EA进行系统设计与建模
基于模型的需求管理
业务建模 & 领域驱动设计
最新活动计划
Node+Vue3.0前端全栈开发 7-5 [特惠]
Spring Cloud微服务架构 7-5[特惠]
SysML和EA系统设计与建模 7-26[特惠]
Python、数据分析与机器学习 8-23[特惠]
嵌入式软件架构设计 8-22[线上]
Linux内核编程及设备驱动 7-25[北京]
 
最新文章
iPerson的过程观:要 过程 or 结果
“以人为本”的工程哲学
企业架构、TOGAF与ArchiMate概览
UML 图解:顺序图( sequence diagram )
UML 图解:对象图( class diagram )
最新课程
基于UML和EA进行系统分析设计
UML+EA+面向对象分析设计
基于SysML和EA进行系统设计与建模
UML + 嵌入式系统分析设计
领域驱动的建模与设计
更多...   
成功案例
某电信运营供应商 应用UML进行面向对象分析
烽火通信 UML进行面向对象的分析设计
西门子 UML与嵌入式软件分析设计
航天科工某子公司 从系统到软件的分析、设计
深圳某汽车企业 模型驱动的分析设计
更多...