• 196查看
  • 0回复

[测试标定] 车载控制器软件MBD_MIL测试技术及要求(第二期)

[复制链接]


该用户从未签到

发表于 5-3-2024 16:31:39 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


一、MIL测试的概念

MIL测试就是模型在环测试,通过纯软件仿真的形式,主要是验证模型功能的正确性,是否满足设计的功能需求,尽早发现问题。同时,只有保证了MBD阶段建模的正确性,才能保证在此基础上生成的代码的正确,为后续的代码质量提供基础。MIL测试,指定输入和期望结果,将仿真结果和期望结果进行比对,根据判定标准验证模型是否正确。除此之外还需要做模型覆盖率度量,在MIL单元测试,需要满足100%的覆盖率:Statement Coverage(语句覆盖)、Branch Coverage(分支覆盖)、Modified Condition/Decision Coverage(修正判定条件覆盖)。

二、MIL测试的优势

1、能够脱离硬件载体进行测试,无需等待硬件变更、开发完成。

2、各工程师针对自己的模块进行测试,无需等待所有的模块开发完成进行测试,满足尽早测试的测试要求。

3、在测试层级上主要是针对代码层级的测试,测试接口以及功能,以及代码的规范性等等,能够发现更多的细节问题。

4、方便评价控制模型的整体测试的测试覆盖度。

5、方便开发及测试团队对于模型的评审。

6、降低了测试成本,越早发现问题,修复问题的成本越低,同时也提高了测试效率,让更多的问题在尽可能早的开发过程中发现。

三、MIL测试的类型

MIL单元测试

主要针对功能模块中子模块进行测试,单元测试的层级是最小不可划分的颗粒度。单元测试主要是针对输入的边界值进行测试,观察输出的结果,并设计测试用例,满足100%的测试覆盖率。

车载控制器软件MBD_MIL测试技术及要求(第二期)w1.jpg

单元测试通过设定输入并给出期望的输出,测试时将模型输入设定的输入值,观测模型的输出值是否和期望值保持一致,判定模型是否有效。

具体测试过程如下:

    软件测试需求分析

    根据需求/经验/错误推导等方法设计测试用例

    测试用例规范应包括以下内容:

?保证软件需求与测试用例的内容一致性与追溯性;

?根据软件需求确定输入和输出,并确定其取值范围;

?通过测试用例设计方法确定输入值;

?清晰的测试步骤,满足可重复测试;

?明确测试结果及评价方法;

    执行测试将设定的输入值输入模型,记录模型执行结果。

    测试结果判定结合判定标准,将执行结果和期望结果进行对比,满足判定标准则认为通过,不满足则未通过。根据测试结果,形成测试报告。


MIL集成测试

主要针对软件的需求进行测试,并测试接口的功能,同时还有考虑模块时间上的调度。

车载控制器软件MBD_MIL测试技术及要求(第二期)w2.jpg

集成测试一般为子功能模型集成后的模型,实现具体的需求功能。直接与被控对象进行联合测试,在给定输入条件的情况下,监控输出信号,判定输出结果的正确性。测试系统需要在整车环境下测试控制模型的输出特性,因此需要建立被控对象,被控对象可以自己建立也可以通过第三方软件集成到测试环境中来。

    测试需求解析      

    设计测试用例设计

    建立测试环境

    执行测试将设定的输入值和时间输入模型(考虑不同模块之间的时间调度问题),记录模型执行结果。

    测试结果判定结合判定标准,将执行结果和期望结果进行对比,满足判定标准则认为通过,不满足则未通过。根据测试结果,形成测试报告。

四、功能安全ISO26262针对MIL测试的要求

如果开发的项目有功能安全要求,针对MIL测试,可以依据ISO26262的标准进行,根据功能安全目标的等级ASIL,选择软件单元测试方法、单元测试用例导出方法、结构覆盖度度量方法。

    软件单元测试方法:基于需求的测试、接口测试、故障注入测试、背靠背测试;

    软件单元测试用例的导出方法:需求分析、等价类、边界值、错误推导;

    软件单元层面的结构覆盖度度量:语句覆盖率、分支覆盖率、修正判定条件覆盖;


    软件集成测试方法:基于需求的测试、接口测试、故障注入测试、背靠背测试;

    软件集成测试用例的导出方法:需求分析、等价类、边界值、错误推导;

    软件架构层的结构覆盖度度量:函数覆盖率、调用覆盖率;

五、MIL测试工具

MIL测试工具一般个人推荐采用MBD的开发环境作为测试环境即可,如果需要进行自动化测试,可以考虑第三方的自动化测试软件。

六、MIL测试工程师的基本要求

通过网上随机寻找一个MIL测试工程师的招聘要求,谈谈MIL测试工程师所需要具备的基本技能。

车载控制器软件MBD_MIL测试技术及要求(第二期)w3.jpg


    岗位职责1:制定测试计划和测试策略,主导整个测试的进程,并且能够协调需求、开发、测试资源,这个岗位对工程师有一定的团队管理要求。

    岗位职责2:需求管理与变更,主要侧重对于开发及测试的流程掌握的很好,能够与整个开发部分进行协调沟通。

    岗位职责3:掌握驱动模型的搭建,测试环境的集成,该点主要是要求测试工程师有建模能力。这个是测试工程师基本要求。

    岗位职责4:也是测试工程师的基本要求

    岗位职责5:测试覆盖率提升和测试用例补充,这个是最难的,测试覆盖率评价方法是什么,如何评价,还有用例的补充,常规的用例都会写,主要是一些经验分析出的用例,错误推导导出的用例,对项目经验有一定的要求。


    结合岗位要求,谈谈对MIL测试工程师的一些看法,MIL测试是代码层级的,一般是由MBD工程师自己完成的,软件团队leader以及相关软件需求工程师进行审核的,专门做MIL的工程师相对HIL来说是比较少的,个人感觉能做MIL的测试,也差不多可以直接去开发模型了;该岗位要求了一些额外的技能,比如CAN总线的分析能力、HIL测试能力等等,因此MIL测试是一个比较尴尬的存在,上有控制器开发团队所必须配备的HIL测试工程师,下有MBD软件开发工程师(以上仅为个人观点)。

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 1-2-2025 11:02 , Processed in 0.204284 second(s), 32 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.