ECU研发软件过程会涉及很多类型的测试,包括MIL测试,SIL测试,HIL测试,冒烟测试,回归测试,车辆标定和车辆测试。
1) MIL(Model in the loop, 模型在环)测试,是指用模型驱动工程开发嵌入式系统的时候,在开发的初期阶段及建模阶段中进行的仿真方式,一般在应用层软件开发用来验证控制算法模型是否准确地实现了需求。MIL测试需要创建测试用例,包括输入和输出(预期结果),当给定的输入运行得到实际结果与预期结果一致,那么MIL测试通过。
2)SIL(software in the loop, 软件在环)测试,是指通过运行系统环境中的车辆模型和虚拟ECU中的I/O模型来模拟控制器所需的各种传感器信号,并能接收台架传感器的信号和虚拟ECU发出的控制信号,从而与被测虚拟ECU的代码信息(包括基础软件和硬件参数等)和系统环境模型相连接,最终实现闭环仿真对控制系统进行测试验证。SIL测试是在PC上验证代码实现的功能是否与模型一致,因此MIL和SIL测试的输入相同,比较仿真结果与预期结果,结果一致则SIL测试通过。
3)冒烟测试,最初来源于电路板测试,因为当电路板做好后,首先会加电测试,如果板子没有冒烟再进行其它测试,否则就必须重新来过。而在软件开发过程中,冒烟测试就是在每次build软件后,对系统的基本功能进行简单的测试。这种测试强调程序的主要功能进行的验证,而不会对具体功能进行更深入的测试,比如刷写软件到HIL台架或车上,简单跑一下,主观感受下功能是否正常。
4)回归测试,是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。比如每次软件释放前,都要进行回归测试,其执行一般根据详细定义的测试用例进行,像变速箱控制器,一般就是跑起步工况(怠速,不同油门起步),不同类型的升降档和其他整车功能(自动泊车,巡航控制)。
5 车辆标定,是指在软件确定以后,为了得到满意的整车性能,满足客户需求和达到国家标准,对软件数据进行优化标定的过程。标定一般分为两块,一方面是功能的标定,比如通过标定两来选择不同的功能模式,或选择不同的算法计算等;另一方面是性能的标定,比如起步控制算法中的很多标定量的设定与优化,像PI控制参数的map表,以此来优化起步性能。
6 车辆测试,是指客户验收ECU研发的功能和性能是否满足需求,这里同样包括功能和性能方面的需求,功能方面比如是否关闭XCP功能,是否开放了巡航控制功能等;而性能方面比如起步是否有顿挫,换挡时间是否合理等。
OK, 以上测试基本覆盖ECU软件开发过程所涉及的测试,是否所有测试都会被包含,这个可能需要根据公司和项目的特点来定义。
注:本文首发于零束SOA开发平台