随着当前汽车软件开发周期节奏快,软件更新迭代迅速,带来了软件测试任务繁重等问题,同时测试作为软件质量的守护员,应避免缺陷软件流出。因此如何在众多繁琐重复的测试任务中,解放测试人员的双手,自动化测试作为有效的解决方案,能够将繁重重的复测试工作交给机器来自动化进行,让测试人员更加专注于测试case的开发,让测试变得更加流程化、智能化、高效化。
右图给出了基于Typhoon HIL的MCU自动化测试框架,整个测试框架包括两种不同方案,基于Matlab或者Python的方案;以基于Python的测试框架为例,整个自动化测试流程如右图所示。
EXCEL:根据指定的测试case填写框架要求,添加相应的测试case,并且实现测试结果的记录;
WORD:根据定制化的测试报告需求,统计测试case的执行结果,给出测试失败的判定原因,能够自动生成测试报告,无需手动撰写报告内容;
INCA:用于软件的标定和控制,实现按照测试case要求,同步更改软件内部的标定量,以及读取监控量,用于测试结果的判定;
CANoe:用于按照测试case要求,更改TyphoonHIL内部的电机模型的转速/电压以及旋变/电流传感器等模拟硬件信号,同时可以模拟其他控制器节点信号,进行MCU的CAN接口的功能测试;
Python(Matlab):执行自动化测试脚本,判定测试结果,实现与其他软件交互;
通过基于整个自动化测试框架,将传统的人工逐条执行测试case的过程,改为自动化进行,与当前的测试流程相比,没有增加任何硬件成本,仅仅需要引入了新的自动化测试框架。基于该方案,能够充分发挥TyphoonHIL精确的被控对象建模能力以及测试台架的稳定性,实现了全天候24H不间断软件的测试,解放测试人员的双手,使得夜晚跑自动化测试,早上查看测试结果和报告的成为现实。