HIL测试作为V模式开发流程的一部分,已经成为验证ECU功能的一种必要手段,而快速设计HIL测试用例已经成为有效利用HIL系统的关键所在。
当代汽车发动机为了提高其经济性、稳定性和改善其排放性,采用先进的电子控制单元已经势在必行。传统HIL系统测试用例设计与生成技术,一般是实验人员根据自己对控制功能的理解以及经验来设计生成测试用例,并且在发动机HIL系统上手动操作来进行软件控制功能测试与验证。此方法的缺陷是设计符合发动机运行的复杂工况需要工程师具备高水平测试能力,并且手动测试很难做到一致性,测试的全面性也难以保证。此外,该方法在设计ECU软件问题复现测试用例时比较困难,既而影响软件问题的定位及解决。
在这种情况下,如果能将发生软件问题时的数据记录文件中的环境信息和驾驶员操纵信息等提取出来,然后经过数据整理作为HIL系统中发动机和整车的输入,让虚拟汽车运行在同样的工作条件下,这样,复现困难问题就可以迎刃而解了。
测试用例生成过程中的关键技术
本文提供了一种利用自动化测试软件能重复测试特性,在不需要工程师手动设计测试用例及测试的前提下,对实验车运行所得实验数据文件进行提取与整理,并转化为自动化测试用例,从而制造相同工况环境,达到快速验证ECU功能或者软件问题复现的目的(见图1)。
整个方法的技术难点是如何提取出需要的数据并整理为自动化测试工具的输入,进而生成自动化测试用例。
本方法实施的前提是有实验数据文件,这些实验数据文件可能来自于实际路面实验、三高实验或其他实验等,这些实验数据是标定工具(CANape等)记录的用于表征发动机和整车运行特性的数据。数据记录为mdf格式。
下面以mdf格式数据为例来介绍如何从这些实验数据中提取所需数据。对于发动机整车实验来说,实验数据文件包含了三部分信息:环境信息、驾驶员的操作信息及系统响应信息等。这里需要做的是将其中的环境信息和驾驶员的操作信息提取出来,然后导入自动化测试工具中生成自动化测试用例。
图2所示为mdf数据格式示意图,其中需求的数据存储在data group中,这些数据以变量名为横轴、时间为纵轴,随时间的推进被逐步记录下来。根据这种数据格式的定义规则,可以编写相应脚本将需求数据按变量轴或时间轴提取出来;然后整理成能被自动化测试工具AutomationDesk接受的输入格式;最后导入AutomationDesk软件,完成测试环境和驾驶员操纵的复现,从而实现HIL快速测试用例的生成。
测试用例快速生成的实现方法
本方法用于对发动机ECU软件进行实时功能验证或软件问题复现,为优化ECU软件功能和修复软件缺陷提供行之有效的途径(见图3)。首先,通过工具或编写脚本(比如C++、Python等)对整车实际运行过程中产生的原始实验数据文件mdf进行数据提取,所得数据反映了整车实际运行工况信息以及驾驶员的操纵意图;其次,对上述提取所得数据信息进行分析过滤及整理,然后通过脚本将其转化为自动化测试工具AutomationDesk能够识别的输入文件,这样就生成了HIL系统自动化测试用例,完成对包括整车运行工况和驾驶员操纵意图在内的实际运行环境的复现;最后,根据自动化测试用例的可重复使用特点,在实际工作条件下,在HIL系统重复测试,同步记录当前实验数据,并生成实验报告。试验结束后,比较原始数据与新记录下来的实验数据,能够快速定位问题出现的原因,这样就对ECU软件问题进行了快速复现,从而优化了ECU软件功能。
使用本方法进行快速HIL系统测试用例生成的详细流程见图4。
结语
本方法利用实际路试或者三高实验所得数据提取出所需的实际工况信息及判断出驾驶员的操作意图,并整理为自动化测试工具的输入,从而快速制作成自动化测试用例,在HIL系统中实时进行工况重复复现,这样能更好地发现路试或者三高实验中隐藏的控制器软件问题。
本方法不需要工程师设计测试用例,也不需要手动在HIL系统上进行测试,这样不仅能大大减少由于人为主观带来的设计局限性,而且也能将用户从设计测试用例和手动测试的繁复工作中解放出来。其最大的优势是能复现较为复杂的整车运行工况,能有效、全面地验证发动机电子控制单元软件功能,同时能快速且有效地多次复现当时出现软件问题时的工况环境,从而快速定位问题及解决问题,缩短了软件测试释放周期。
获取更多评论