前言
汽车ECU(动力域、底盘域、ADAS、电子电器等)的研发最后一个阶段测试往往为ViL(车辆在环)测试,为确保产品的功能和性能正常,通常需要大量的测试。
一般的ViL测试过程
在涉及到发动机、变速箱、底盘等需要特殊场地和驾驶要求的控制器测试时,往往我们需要专业试车员和测试人员一同配合完成。
在涉及到发动机、变速箱、底盘等需要特殊场地和驾驶要求的控制器测试时,往往我们需要专业试车员和测试人员一同配合完成。
测试人员整理测试用例(excel、word),使用总线监控设备(如Vector公司的CANoe和VN1640A)连接整车,由试车员按照编写好的测试用例执行,采集整车报文数据,测试人员在测试完成后进行评估。
整个测试过程主要存在如下不足:
编辑的测试用例可能需要翻译成中文,影响测试效率
测试用例不能实现语音输出及可视化
试车员忘记了下一步测试步骤是什么
测试人员需要编辑大量测试用例,所需时间较长
人工判断和评估效率不高
整理报告时间太长
……
TPT Autotester-ViL测试过程
测试人员在TPT中编写状态机测试用例和Assesslets评估,通过FUSION平台的CAN接口访问其他的CAN通信及标定软件(如Vector公司的CANoe、CANape或ETAS公司的INCA)来实现与实车的通信 。
在测试过程中,试车员根据中文语音提示进行操作,通过Autotester界面获取测试信息,软件自动检测车辆状态是否达到预期,并在测试完成后,根据Assesslets进行评估,并且自动生成测试报告。
图1 TPT Autotester-ViL测试过程示意图
我们来具体了解一下TPT Autotester的特性和功能:
高效且灵活多样的状态机测试用例
无论多复杂的测试用例都是按照先后顺序执行的,状态机测试用例可以清晰的将测试的各个阶段及转移条件展现出来。
下图中,状态机表示测试的各个阶段,状态转移线表示各个阶段的转移条件,只有满足线上的条件时,才能进入下一个测试阶段。
例如, 阶段2到阶段3的条件是深踩刹车,只有当试车员满足深踩刹车的条件后(Brake>80%),才能进入阶段3。
例如, 阶段2到阶段3的条件是深踩刹车,只有当试车员满足深踩刹车的条件后(Brake>80%),才能进入阶段3。
状态机表示当前测试进行到的阶段在测试的某一阶段,判断信号是否达到期望值。比如,阶段3到阶段4,发动引擎,使用Compare判断转速(也可使用Assesslets评估)
状态转移线上可以编辑一个或多个条件,编辑其他测试用例时选择不同状态即可状态转移线上的名称能够语音输出,提示试车员操作转移线上的条件支持自定义图形化显示
图2 状态机测试用例
测试用例支持简体中文显示及中文播报
Autotester测试用例中的状态机和转换条件名称均能支持简体中文显示,并且,转换条件名称支持中/英文语音输出。试车员只需按照中文语音提示操作即可,无需查看测试用例。
图3 切换中文(简体)/英语(美式)语音输出
图4 状态机测试用例测试过程
注:状态转移线名称用以语音提示
支持信号名称及图像自定义
TPT Autotester支持信号名称和图像自定义功能。
Auto Tester Setup中:
Auto Tester Setup中:
“Name”指Autotester界面中的信号名称
“Channel”对应的是导入TPT中的信号名称(dbc中的信号名称)
每个信号右侧对应的“Icon Path”可以为每个信号自定义图像。
图5 Autotester中定义的信号
图6 信号对应的图像
支持设置测试开始前的初始条件
在Auto Tester Setup中,可以设置测试开始的初始条件(Option),Precondition test case中选择的测试用例会被首先执行并评估,只有当Precondition中的测试用例通过时,才能执行其他测试用例。
比如,工程中选择Precondition test cases测试用例为Precondition,测试用例含义为检测钥匙状态是否为Power On档位,只有当钥匙在Power On档,测试用例才能从“初始化”到“阶段1”,并且评估引擎转速是否<900rpm/min。只有Precondition测试用例通过,才能执行其他测试用例。
规避偶然因素
在实际ViL测试过程中,经常会受到环境的影响,为了避免偶然因素,可以设置测试用例忽略或者重复的次数。
比如:
设置MaxIgnoreConsecutiveFails的数值为2,含义为最大忽略连续失败的次数为2次
如果测试用例执行了3次,前2次失败,但第3次通过,则最终结果为通过。
设置MinConsecutivePassed的数值为2,含义为最小连续通过次数
如果测试用例共执行3次,第1次失败,后2次通过,则最终结果为通过。
MaxTestRun,含义为最大测试用例执行次数
一般情况下:MaxTestRun=MaxIgnoreConsecutiveFails+MinConsecutivePassed。
例如:
测试用例Shift Gear 3 to 4,为了避免然因素,需执行5次后才能判定最终结果,图中只执行了1次。
测试数据自动保存,报告自动生成
测试完成后,数据会以blf格式保存在zip文件中
评估完成后,右键打开测试报告(报告支持自定义)
通过以上步骤,进行ViL测试时,试车员根据语言提示操作即可,测试完成后当场即可进行评估,并自动化生成报告,提高车辆在环测试效率。
Piketec公司简介
PikeTec公司是全球知名的基于模型的嵌入式系统测试工具TPT的软件供应商,总部位于德国柏林,其创始人均在戴姆勒公司拥有十多年的软件测试经验。TPT作为针对嵌入式系统的基于模型的动态测试工具,支持众多业内主流的工具平台和测试环境,可应用于整个嵌入式软件开发周期,实现各种异构环境下的自动化测试。无论是在测试建模,测试环境还是测试评估,测试报告方面,都占据强大优势。
北汇信息作为PikeTec的中国合作伙伴,将帮助中国客户借助TPT提升嵌入式控制系统的开发效率。