《全车载控制器软件MBD_MIL测试技术及要求.docx》由会员分享,可在线阅读,更多相关《全车载控制器软件MBD_MIL测试技术及要求.docx(6页珍藏版)》请在第一文库网上搜索。
1、车载控制器软件MBD_MIL测试技 术及要求一、MlL测试的概念MIL测试就是模型在环测试,通过纯软件仿真的形式,主要是验证模型 功能的正确性,是否满足设计的功能需求,尽早发现问题。同时,只有 保证了 MBD阶段建模的正确性,才能保证在此基础上生成的代码的正 确,为后续的代码质量提供基础。MIL测试,指定输入和期望结果,将 仿真结果和期望结果进行比对,根据判定标准验证模型是否正确。除此 之外还需要做模型覆盖率度量,在MIL单元测试,需要满足100%的覆 盖率:Statement Coverage (语句覆盖)、Branch Coverage (分支 覆盖)、Modified Condition
2、/Decision Coverage (修正判定条件覆 盖)。二、MIL测试的优势L能够脱离硬件载体进行测试,无需等待硬件变更、开发完成。2、各工程师针对自己的模块进行测试,无需等待所有的模块开发完成 进行测试,满足尽早测试的测试要求。3、在测试层级上主要是针对代码层级的测试,测试接口以及功能,以 及代码的规范性等等,能够发现更多的细节问题。4、方便评价控制模型的整体测试的测试覆盖度。5、方便开发及测试团队对于模型的评审。6、降低了测试成本,越早发现问题,修复问题的成本越低,同时也提 高了测试效率,让更多的问题在尽可能早的开发过程中发现。三.MIL测试的类型MIL单元测试主要针对功能模块中子模
3、块进行测试,单元测试的层级是最小不可划分 的颗粒度。单元测试主要是针对输入的边界值进行测试,观察输出的结 果,并设计测试用例,满足100%的测试覆盖率。单元测试通过设定输入并给出期望的输出,测试时将模型输入设定的输 入值,观测模型的输出值是否和期望值保持一致,判定模型是否有效。具体测试过程如下: 软件测试需求分析 根据需求/经验/错误推导等方法设计测试用例:测试用例规范应 包括以下内容:保证软件需求与测试用例的内容一致性与追溯性; 根据软件需求确定输入和输出,并确定其取值范围;通过测试用例 设计方法确定输入值;清晰的测试步骤,满足可重复测试;明确测 试结果及评价方法;执行测试将设定的输入值输入
4、模型,记录模型执行结果。 测试结果判定结合判定标准,将执行结果和期望结果进行对比,满足判定标准则认为通过,不满足则未通过。根据测试结果,形成 测试报告。MIL集成测试主要针对软件的需求进行测试,并测试接口的功能,同时还有考虑模块 时间上的调度。集成测试一般为子功能模型集成后的模型,实现具体的需求功能。直接 与被控对象进行联合测试,在给定输入条件的情况下,监控输出信号, 判定输出结果的正确性。测试系统需要在整车环境下测试控制模型的输 出特性,因此需要建立被控对象,被控对象可以自己建立也可以通过第 三方软件集成到测试环境中来。 测试需求解析 设计测试用例设计 建立测试环境 执行测试将设定的输入值和
5、时间输入模型(考虑不同模块之间的时间调度问题),记录模型执行结果。 测试结果判定结合判定标准,将执行结果和期望结果进行对比,满足判定标准则认为通过,不满足则未通过。根据测试结果,形成 测试报告。四、功能安全ISO26262针对MIL测试的要求如果开发的项目有功能安全要求,针对MIL测试,可以依据ISO26262 的标准进行,根据功能安全目标的等级ASIL ,选择软件单元测试方法、 单元测试用例导出方法、结构覆盖度度量方法。 软件单元测试方法:基于需求的测试、接口测试、故障注入测试、背靠背测试; 软件单元测试用例的导出方法:需求分析、等价类、边界值、错误推导; 软件单元层面的结构覆盖度度量:语句
6、覆盖率、分支覆盖率、修正判定条件覆盖; 软件集成测试方法:基于需求的测试、接口测试、故障注入测试、背靠背测试; 软件集成测试用例的导出方法:需求分析、等价类、边界值、错误推导; 软件架构层的结构覆盖度度量:函数覆盖率、调用覆盖率;五.MIL测试工具MIL测试工具一般个人推荐采用MBD的开发环境作为测试环境即可, 如果需要进行自动化测试,可以考虑第三方的自动化测试软件。六、MIL测试工程师的基本要求 通过网上随机寻找一个MIL测试工程师的招聘要求,谈谈MIL测试工 程师所需要具备的基本技能。 岗位职责1 :制定测试计划和测试策略,主导整个测试的进程,并且能够协调需求、开发、测试资源,这个岗位对工
7、程师有一定的 团队管理要求。 岗位职责2:需求管理与变更,主要侧重对于开发及测试的流程掌握的很好,能够与整个开发部分进行协调沟通。 岗位职责3:掌握驱动模型的搭建,测试环境的集成,该点主要是要求测试工程师有建模能力。这个是测试工程师基本要求。 岗位职责4 :也是测试工程师的基本要求 岗位职责5:测试覆盖率提升和测试用例补充,这个是最难的,测试覆盖率评价方法是什么,如何评价,还有用例的补充,常规的 用例都会写,主要是一些经验分析出的用例,错误推导导出的用例, 对项目经验有一定的要求。结合岗位要求,谈谈对MIL测试工程师的一些看法,MIL测试是代码 层级的,一般是由MBD工程师自己完成的,软件团队Ieader以及相 关软件需求工程师进行审核的,专门做MIL的工程师相对HIL来说是 比较少的,个人感觉能做MIL的测试,也差不多可以直接去开发模型 了 ;该岗位要求了一些额外的技能,比如CAN总线的分析能力、HIL 测试能力等等,因此MIL测试是一个比较尴尬的存在,上有控制器开 发团队所必须配备的HIL测试工程师,下有MBD软件开发工程师(以 上仅为个人观点)。