• 218查看
  • 0回复

[测试标定] 汽车(MIL/HIL)测试工程师职业技能要求(第一期)

[复制链接]


该用户从未签到

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

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


汽车以及汽车的所有零部件的系统生命周期都是从产品概念阶段开始到产品的报废结束。每个阶段都涉及到测试的相关工作,从概念阶段需要制定测试计划,开发阶段需要进行测试分析、设计、实施、执行、评估和报告,到维护阶段需要做维护性的测试。每个阶段都和测试有着千丝万缕的关系。特别是随着新能源汽车的发展,汽车软件系统越来越庞大,测试工作也就越来越复杂,对于软件测试工程师的基本要求也越来越高,一方面,要求测试工程师需要尽早开始测试并且测试覆盖率要高,以便尽早发现开发过程中的缺陷。另一方面,测试工程师还需要创造尽可能真实的测试环境,以找出产品中可能会出现的缺陷。从合资车企,到国内顶尖的技术中心,再到初创型企业,结合自己的看法,谈谈软件测试工程师到底需要哪些基本要求。
汽车(MIL/HIL)测试工程师职业技能要求(第一期)w1.jpg

一、软件测试工程师到底需要哪些基本要求?

汽车(MIL/HIL)测试工程师职业技能要求(第一期)w2.jpg

1.熟悉控制器产品的系统需求
控制器产品的系统需求是软件测试工程师的必须要理解的,无论在创建MIL及HIL的外围环境模型,还是在测试用例的设计过程,以及针对测试的策略设计方面,都是必须要考虑的。除此之外,系统需求的掌握对于测试bug的复现,以及进行变更影响分析都是重要的支撑物。

2.掌握测试策略及测试计划的制定
测试策略不仅要定义与测试级别相适应的测试环境,还要定义测试工程师需要在哪些测试环境中执行哪些测试,ASPICE要求为每个测试专用过程制定测试策略。回归测试策略,其挑战在于如何选择合适的测试用例。回归策略定义了选择回归测试的目标和技术。例如,可以基于变更需要的影响分析、需求的主要技术点、以及售后问题质量等方面进行选择。影响分析可帮助确定测试工程师在回归测试中需要关注的方面、需求的重要技术点是防止主要功能失效、售后问题主要是防止同样的问题发生在同样的软件版本中。同时,测试工程师对每次发布重复执行所有的回归测试用例可以开发自动化测试用例,以实现自动化测试。测试计划主要是关注人、时间、工具之间的匹配关系,以最合理的方式完成项目的开发与测试。
人主要是关注工程师的能力,工程师的项目时间安排,工程师对应项目的测试经验等等。

时间主要关注的是测试时间以及项目的开发周期。

工具主要是合理的安排测试设备的使用时间,毕竟不是每个项目都能有一台测试设备专门用来测试。

3.软件测试的层级分析


    软件单元验证过程需要进行静态和动态测试,此过程会根据其详细的设计对软件的组件进行评估。

依据以下准则来进行测试:
    单元测试用例;测试覆盖度目标(MCDC的覆盖度);借助工具进行静态分析,从而评估产品是否符合编码标准(Tessy);对于无法通过工具进行静态分析的单元或部分单元,应进行人工代码审查。

静态测试技术是指不运行软件开发过程中的工作产品而对其进行检查的一种测试方法。具体包括人员评估和借助工具进行的静态分析。

动态测试技术包括:条件覆盖测试、条件组合覆盖测试、MC/DC覆盖测试;


    条件覆盖测试,虽然可以实现 100%(简单)的条件覆盖,但不能完全覆盖判定结果,选择合适的测试用例可以避免这种情况;(不推荐)

    条件组合覆盖测试、如果值的所有组合都经过了测试,那么自然每个判定结果也经过了测试,测试工程师可以覆盖所有可能的输入和输出。但是,要测试的用例数量是这几项技术中最多的。(推荐)

    MC/DC 覆盖测试;该技术仅考虑特殊的组合条件,即组合中的各个条件会单独影响判定结果。测试工程师使用比条件组合测试更少的测试用例,就能实现所有单个条件和所有判定的完全覆盖。(特别推荐)

以上测试技术在软件单元测试(MIL)中经常用到。

    软件集成测试会根据软件架构设计对集成的软件进行评估。

    软件合格性测试会根据软件需求对集成的软件进行评估。(MIL)

    系统集成测试会根据系统架构设计对集成的系统进行评估。

    系统合格性测试会根据系统需求对集成的系统进行评估。(HIL)


3.掌握测试设计技术

故障注入测试:

测试工程师可以选择性地将以下几类缺陷注入到系统中:

    外部组件中的缺陷:例如,系统需要安全地检测来自传感器的错误值。

    接口中的缺陷:例如,系统功能不能因短路或丢失报文而受到影响。

    软件中的缺陷:系统应该检测并处理内部缺陷。

在经典故障注入测试中,测试工程师可以通过操控真实的组件来插入缺陷。测试工程师可以在程序运行的时候模拟外部缺陷以及接口缺陷。在HiL测试环境中,故障注入单元是真实部件缺陷的仿真器,在这些缺陷中,短路和开路缺陷尤为常见,在MIL测试环境中,主要是注入接口类的故障。基于硬件实现的故障注入方法,将故障注入仪与故障注入的目标端口连接,通过改变控制器的输入输出端口等特定位置的电压值与电流值。基于软件实现的故障注入方法,一是直接修改硬件产品嵌入式程序的源代码,直接修改模拟嵌入式程序的逻辑或者其它错误,另一种方法就是采用在产品的嵌入式代码中插入一段故障代码。

以上测试技术在控制器的输入输出接口中经常用到。

基于需求的测试:

测试工程师应解析测试需求、推导出测试条件、设计测试用例并执行这些测试用例。测试工程师通过对测试结果的分析,可以改进测试用例。为此,测试工程师还可以结合经验测试、探索性测试创建更多的测试用例,以降低缺陷带来的风险。

以上测试技术在针对需求的测试中用到。

功能安全需求的测试:

确定的 ASIL 等级会直接影响测试工程师所执行的测试范围。根据 ASIL 的特定等级,ISO 26262 标准建议执行不同的措施或一系列措施。ISO 26262 规定了三个推荐级别:不推荐、推荐和强烈推荐。一般执行ASIL等级下强烈推荐的测试用例设计方法,以及测试方法。

测试用例设计方法包括:
    需求分析(使用频繁)内外部接口分析(使用频繁)等价类分析(使用频繁)边界值分析(使用频繁)基于知识或经验的错误推导(使用率一般)功能依赖性分析常用限制条件、流程及相关错误原因的分析环境、操作用例的分析领域经验的分析(使用率一般)

测试方法包括:
    基于需求的测试(使用频繁)故障注入测试(使用频繁)背靠背测试性能测试外部接口测试(使用频繁)内部接口测试(使用频繁)接口一致性检查(使用频繁)交互/通信的测试(使用频繁)故障注入测试(使用频繁)错误推导测试领域经验产生的测试(使用一般)资源占有率测试压力测试特定环境条件下的抗干扰能力和鲁棒性的测试

针对车载控制器功能安全目标的ASIL等级,依据ISO 26262标准中的具体要求,选择对应的测试用例设计方法及测试方法。

4.掌握测试工具的使用(MIL/HIL)

在汽车行业中,控制器级测试主要使用以下类型的测试环境:

  • 模型在环(MiL)软件在环(SIL)
  • 硬件在环(HiL)

模型由开发人员使用专门的建模工具构建而成,在MiL测试环境中,测试工程师如果想要执行和测试这些模型,需要搭建测试环境。而测试环境常常也是在与被测对象本身所处的同一开发环境中创建的,测试工程师可以通过访问接口来激励和观察测试结果。

AUTOSAR会对测试工程师的工作产生影响,尤其会对以下测试级别产生影响:
    虚拟环境中(SIL)的软件组件测试和软件集成测试:借助虚拟 BSW 和 RTE,测试工程师可以尽早测试应用程序的软件组件。说明一点的是,随着汽车软件测试技术的发展,现在比较热门的软件测试技术,是软硬件分离的,属于单纯的软件测试,主要方案是通过应用软件仿真技术,逼真地模拟出被测软件运行的物理环境,并通过动态执行被测软件来进行的软件确认与验证活动。通过虚拟软件技术,虚拟出真实的ECU,在完全软件的环境下进行测试。真实控制单元中的软件测试和软件集成测试:在这些测试中,测试工程师可以访问 RTE 上的通信。在这种情况下,测试工程师还可以激励和测量 SW-C 的运行时行为。AUTOSAR验收测试是对软件系统进行的合规性测试,可确保软件符合 AUTOSAR 对通信层和应用层的功能要求。系统集成测试:不同电控单元的功能集成和连接。通过模拟缺失的功能,测试工程师可以尽早对系统行为进行评估。

测试工程师可以在HiL测试环境中执行测试,HiL测试环境通常由以下部分组成:
    可提供不同电压的电源-程控电源用于运行环境模型的、具备实时处理能力的计算机RTPC其他未在环境模型中仿真的真实部件-测试板卡用于仿真断路和短路的故障注入单元FIU断线测试盒BOBCAN/LIN总线模拟不存在的总线节点


    掌握测试技术(测试流程、测试规范、测试文档的编制与管理)

在汽车开发过程中,测试过程有几个关键的里程碑,测试需求的冻结、测试用例的开发完成并通过评审、测试环境的创建完成并通过调试,测试报告的输出并通过评审,测试问题的关闭。测试过程中,一定要管理好文档,管理好软硬件的版本,管理好测试环境,管理好问题bug,管理好测试的时间进度,并将文档和所有的工作有追溯性。

汽车(MIL/HIL)测试工程师职业技能要求(第一期)w3.jpg

6.掌握Matlab/Simulink、C、Python等语言等编程语言的能力

7.掌握数模电路的基本知识

二、结合实际的工作岗位,看看以上的要求能不能满足工作职责要求?

汽车(MIL/HIL)测试工程师职业技能要求(第一期)w4.jpg

从网上随意找了一个HIL招聘要求,通过岗位要求,来解析岗位背后的技术支撑。
    工作职责1:对控制器进行测试,要满足足够的覆盖度,主要要求是对于需求的理解和测试用例的开发能力要强。工作职责2:主要是针对控制器的功能测试以及软硬件接口测试。功能测试是HIL的测试的落脚点,后面提到了软硬件接口测试,我想主要是在HIL测试层级硬件接口测试主要指的是控制器输入输出PIN脚的接口测试,包括故障注入的测试。软件主要是针对CAN接口的测试。工作职责3:主要考虑估计有2点,第一方面,设计HIL电气原理图,主要是能够针对设备的故障进行排查;连接线束,可能要根据实际的使用进行台架功能的微调。另一方面,工程师要具备在采购HIL台架时能够提供HIL设备的招标技术要求规范。工作职责4:主要是要能够维护测试环境的外围模型,这里用的是供应商的方案,工程师只需要维护和修改,有些企业要求能够独立开发外围的测试模型,两个能力要求不一样。工作职责5:要懂得HIL的测试流程,问题管理流程,软件发布流程等等,这一点主要是要求工程师掌握HIL测试的流程,行业没有统一的测试流程,但是要有一套自己认为很不错的流程。工作职责6:自动化的测试能力,在很多回归测试上,会通过编程调用台架的函数库或第三方自动化测试软件对测试用例进行测试。工作职责7:主要是要求工程师有问题管理的方式,并与团队高效的沟通,一起协助工程师解决问题,在这一点上,HIL测试工程师要求有一定的编程能力和数模电的知识。
    任职要求:主要是学历、专业背景、语言能力、项目经验、工作地点、技术背景等等,这些都是招聘岗位的基本要求,因人而异。


    总结:这个岗位的要求没有特别的要求,一般工作3-5年的时间,这些要求都能够积累到不错的程度。


希望大家能够在某些方面能够得到一定的收获,付出终究会有回报的,大家一起加油。专题的第二期会谈谈MIL测试工程师的工作职责要求。

快速发帖

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

本版积分规则

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

GMT+8, 1-2-2025 10:43 , Processed in 0.190610 second(s), 32 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.