智能座舱域控制器功能自动化测试方案
1.背景
智能座舱是当前汽车行业开发设计和差异化竞争的焦点,当前智能座舱控制器多为整合传统IPKHMI、HUD、DMS等若干控制器之后的“一机多屏”的复杂系统。在软件架构上,多操作系统也是其一大特点,如整合安卓和QNX系统是最常见的方案,而在硬件接口上通常是车载以太网、CAN/CAN FD以及LVDS等。
座舱域控制器由于自身特点,其功能测试用例多达几万条甚至十几万条完全依靠传统手动测试,需要投入大量的人力资源,难以满足越来越短的项目开发周期和软件快速迭代的需求。为了提高测试效率,需采用自动化/半自动化的方式以完成座舱控制器功能测试。
2.测试内容分析
智能座舱域部件级的功能测试角度来看,主要聚焦如下几方面的测试
车辆和环境信息显示功能:中控、仪表、HUD、流媒体后视镜、电子后视镜、A柱等显示交互
娱乐、浏览功能:本地和在线的媒体播放、游戏以及文档和网页浏览阅读等
配置、设置和控制功能:个人账户、车辆/驾驶信息设置、APP安装/卸载等
AR导航、环视、后视、夜视等功能
车内监测:驾驶员/乘员头、脸、眼监测功能和健康监测
交互功能:语音交互、手势控制
用户APP在线和离线服务功能
连接功能:蓝牙、WiFi、USB,4G/5G
3.测试系统框架
座舱自动化测试系统的角度,可将满足智能座舱测试系统划分为如下几个主要的功能模块:
常规的车载网络和IO仿真采集故障注入
UE仿真及监测
图像仿真及UI监测
语音仿真及识别
无线信号相关的仿真
完整测试系统示意图如下所示,本文将重点介绍基于Eggplant实现UE仿真及UI监测的流程和基本方法及各种主流方案的对比。
1:测试系统框图
4.基于Eggplant的自动化测试简介
4.1.软件及方案框架
Eggplant是TestPlant公司研发的一款黑盒自动化测试工具,通过VNC/RDP传输协议连接PC和DUT,可跨平台(Linux、Mac、ISO、QNX、安卓和 Windows)使用。其基于图像和OCR算法实现对DUT图像监测,方便访问图像的各种状态(颜及亮度),同时支持在使用Flash的动态环境中运行。可通过记录用户操作流程,自动生成测试脚本。且集成的SenseTalk语言,面向非开发人员,测试者无需了解底层代码和架构,简单易用。
支持与Vector CANoe集成,通过CANoe发送操作指令,执行结果自动生成HTML格式方便查看。
wifi分享2CANoe+vTESTstudio+Eggplant整体方案框架
4.2.实现流程概述
本次以安卓系统的DUT为例,进行CANoevTESTstudioEggplant联合调试,调试过程主要分为如下步骤:
测试系统与DUT连接设置:打开DUT调试权限,连接PC,对安卓系统进行连接设置,生成Server端的IP地址和端口号,用于在Eggplant软件中对DUT进行连接。
图3:连接效果图
Eggplant测试工程创建:使用Eggplant进行UE仿真及UI监测底层脚本编写、运行并执行测试。使用Eggplant中的Log功能,对测试结果进行记录。
4Eggplant运行界面展示
CANoeEggplant测试工程调用:根据Eggplant软件提供的API,使用CANoe软件对Eggplant测试工程进行调用。在CANoe工程中需填写Eggplant测试工程相关信息,如:软件安装地址、测试工程存储地址、端口号和密码等信息。
5:在CANoe工程中配置Eggplant测试工程信息
“对手件”的仿真实现(可选):针对基于SOA实现的座舱域控制器,需仿真与之交互的“对手件”,如车辆域控制器、自动驾驶域控制器、网联控制器,针对此需求,可以借助新版CANoe对SOME/IPMQTT等协议的支持,通过导入数据库(如.arxml)等方式高效的完成SOA应用的仿真,以我们的经验来看,基于CANoe实现该仿真更为高效和专业。
测试用例实现:基于vTESTstudio软件图形化编程方式实现测试脚本编写,编译生成可执行文件,导入到CANoe中进行测试执行。
6:基于vTESTstudio实现测试脚本编写
测试执行与分析:通过CANoeEggplant测试结果进行读取和判断,并将原始图像等打印在测试报告中,便于对测试问题进行分析。
7:测试报告样式
4.3.DEMO示例
由于真实DUT造型和显示界面涉密原因,如下视频以基于安卓手机为对象的调试作为示例。
(观看视频请移步知乎搜索“Polelink上海北汇信息”)
5.方案对比
5.1.UE仿真测试方案对比
UE仿真是为模拟用户操控,如软按键单击/双击、屏幕滑动,其难点
适配多级窗口操作
操作界面设计变更后和被操作对象更换后的重新适配
实现特殊操控方式,如多指点击/滑动、两指缩放
    方案
对比内容
协作机器人
LVDS/I2C
ADB
Eggplant
适用范围
适用范围广,不受被测对象实现方式的限制;
需根据被测控制器的芯片型号和自定义协议做一定的定制或适配
仅适用于安卓系统类控制器,需开通一定权限
兼容不同系统的控制器(安卓、Linux、QNX等);
需要进行VNC定制
可靠性
基座安装、位置偏差、累积误差等都将影响测试一致性
比较成熟
方案成熟
方案成熟
功能扩展性
功能单一
可实现UE仿真和图像/视频采集功能于一体
功能单一
同时具备UI监测功能
适用性和可维护性
较差,且更换被测对象或操作方案的变化等都需花费大量时间适配
LVDS芯片更换,可能需新定制;
根据I2C指令集软件层面适配
方便
较强
表2:UE仿真测试方案对比
5.2.UI和UE监测测试方案对比简介
UI和UE监测用以判断功能逻辑正确性和性能,其难点:
多屏互动
显示风格切换、APP动态加载识别适配
动态闪烁类图标监测、屏幕响应时间监测
方案
对比内容
高帧频相机
LVDS
ADB
Eggplant
方案及适用范围
不受被测对象实现方式的限制;
需要根据被测屏数量配置多个相机
适应于屏幕性能测试
需根据被测控制器的芯片型号和自定义协议做一定的定制或适配
仅适用于安卓系统类控制器,需开通一定权限
兼容不同系统的控制器(安卓、Linux、QNX等);
需要进行VNC定制
可靠性
控制器固定位置变换、补光等都将影响测试一致性
方案成熟
方案成熟
方案成熟
功能扩展性
功能单一
UE仿真和图像/视频采集功能于一体
功能单一
同时具备UE仿真功能
适用性和可维护性
较差,更换被测对象或显示设计方案的变化等都需花费大量时间适配
若LVDS芯片类型更换,需新定制
方便
较强
软件方案
LabVIEW/OpenCV
LabVIEW/OpenCV
LabVIEW/OpenCV
自带软件
表3:UI和UE监测测试方案对比
6.总结
从早期仪表/中控至现在的智能座舱,对其自动化测试的尝试,已有十多年的时间,当下的被测对象更为复杂,测试方案不断升级,测试要求也不断提高,此时需要我们从测试需求本源,结合座舱域控制器的特点,进行理性分析或复盘。我们需要自动化但不一味追求全自动化,需要细分不同测试功能,其测试工作的资源消耗,其自动化的可行性和适应性,其投入产出比等多重因素下进行综合考虑。
北汇信息在智能座舱领域相关的部件、系统、实车的测试规范/用例开发、测试实施和测试系统搭建已有近十年的积累,可提供“组合式”的技术方案和合作模式,以期达到在测试效果和效率、性价比之间的平衡。此次选择TestPlantEggplant 软件作为新的尝试,并对相关仿真和监测方案做了简要的比对,希望可以给大家一定的参考和启发。最后,十分感谢TestPlant公司(Keysight)和Vector公司的同仁伙伴们给予的大力支持。
参考文献
【1】Vector - Eggplant integration.pdf
【2】基于Eggplant的Mac_OS_X平台上软件自动测试_邓迎秋.pdf
【3】plantsoftware
【4】GUI-Testing_HanserAutomotive_201706_PressArticle_EN.pdf