• 0
  • 0
分享
  • 智能座舱域控制器功能自动化测试方案
  • 恬恬圈 2024-11-20 15:45:51 字数 2346 阅读 28 收藏 0

1-1.png

  1. 背景

  智能座舱是当前汽车行业开发设计和差异化竞争的焦点,当前智能座舱控制器多为整合了传统IPK、HMI、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-2.png

图1:测试系统框图

  4. 基于Eggplant的自动化测试简介

  4.1. 软件及方案框架

  Eggplant是TestPlant公司研发的一款黑盒自动化测试工具,通过VNC/RDP传输协议连接PC和DUT,可跨平台(Linux、Mac、ISO、QNX、安卓和 Windows)使用。其基于图像和OCR算法实现对DUT图像监测,方便访问图像的各种状态(颜色及亮度),同时支持在使用Flash的动态环境中运行。可通过记录用户操作流程,自动生成测试脚本。且集成的SenseTalk语言,面向非开发人员,测试者无需了解底层代码和架构,简单易用。

  支持与Vector CANoe集成,通过CANoe发送操作指令,执行结果自动生成HTML格式方便查看。

1-3.png

图2:CANoe+vTESTstudio+Eggplant 整体方案框架

  4.2. 实现流程概述

  本次以安卓系统的DUT为例,进行CANoe、vTESTstudio、Eggplant联合调试,调试过程主要分为如下步骤:

  · 测试系统与DUT连接设置: 打开DUT调试权限,连接PC,对安卓系统进行连接设置,生成Server端的IP地址和端口号,用于在Eggplant软件中对DUT进行连接。


1-4.png

图3:连接效果图

  · Eggplant测试工程创建: 使用Eggplant进行UE仿真及UI监测底层脚本编写、运行并执行测试。使用Eggplant中的Log功能,对测试结果进行记录。

1-5.png

图4:Eggplant运行界面展示

  · CANoe对Eggplant测试工程调用: 根据Eggplant软件提供的API,使用CANoe软件对Eggplant测试工程进行调用。在CANoe工程中需填写Eggplant测试工程相关信息,如:软件安装地址、测试工程存储地址、端口号和密码等信息。

1-6.png

图5:在CANoe工程中配置Eggplant测试工程信息

  ·“对手件”的仿真实现(可选): 针对基于SOA实现的座舱域控制器,需仿真与之交互的“对手件”,如车辆域控制器、自动驾驶域控制器、网联控制器,针对此需求,可以借助新版CANoe对SOME/IP、MQTT等协议的支持,通过导入数据库(如.arxml)等方式高效的完成SOA应用的仿真,以我们的经验来看,基于CANoe实现该仿真更为高效和专业。

  ·测试用例实现: 基于vTESTstudio软件图形化编程方式实现测试脚本编写,编译生成可执行文件,导入到CANoe中进行测试执行。

1-7.png

图6:基于vTESTstudio实现测试脚本编写

  ·测试执行与分析: 通过CANoe对Eggplant测试结果进行读取和判断,并将原始图像等打印在测试报告中,便于对测试问题进行分析。

1-8.png

图7:测试报告样式

  5. 方案对比

  5.1. UE仿真测试方案对比

  UE仿真是为模拟用户操控,如软按键单击/双击、屏幕滑动,其难点:

  ·适配多级窗口操作

  ·操作界面设计变更后和被操作对象更换后的重新适配

  ·实现特殊操控方式,如多指点击/滑动、两指缩放

表1:UE仿真测试方案对比

1-9.png

  5.2. UI和UE监测测试方案对比简介

  UI和UE监测用以判断功能逻辑正确性和性能,其难点:

  · 多屏互动

  · 显示风格切换、APP动态加载识别适配

  · 动态闪烁类图标监测、屏幕响应时间监测

表2:UI和UE监测测试方案对比

1-10.png

  6. 总结

  从早期仪表/中控至现在的智能座舱,对其自动化测试的尝试,已有十多年的时间,当下的被测对象更为复杂,测试方案不断升级,测试要求也不断提高,此时需要我们从测试需求本源,结合座舱域控制器的特点,进行理性分析或复盘。我们需要自动化但不一味追求全自动化,需要细分不同测试功能,其测试工作的资源消耗,其自动化的可行性和适应性,其投入产出比等多重因素下进行综合考虑。


作者:北汇    

来源:http://www.51testing.com/html/36/n-7798236.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   市面上的项目管理工具很多,这里仅列出这些工具的信息,以帮助大家在选择工具时 作一个对比。并无推荐JIRA 或者不推荐什么工具的区分。  本人使用JIRA来管理项目,也是基于公司管理层决定的。虽然整个文章都是基于JIRA的应用,但是不管是哪种工具,万变不离其宗,都可以用类似的方式来实现各种项目管理需求。但为了避免踩雷,大家还是要选择热门一些的工具。  1 JIRA:  简介:JIRA是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。JIRA中配置灵活、功能全面、部署简单、扩展丰富。  JIR...
            0 0 985
            分享
          • 在压力测试中,经常需要生成随机值来模拟用户行为。JMeter 提供了多种方式来生成随机值,本文来具体介绍一下。随机数函数JMeter 提供了多个用于生成随机数的函数,其中最常用的是__Random函数。该函数可以生成一个指定范围内的随机整数或浮点数。语法如下:${__Random(min,max)}其中,min 和 max 是生成随机数的范围,可以是整数或浮点数。例如,${__Random(1,100)} 会生成一个 1 到 100 之间的随机整数。以下是随机手机号最后 3 位数字的例子:查看传过去的数据:也可以用 BeanShell 来实现。添加前置处理器: BeanShell PrePro...
            0 0 3404
            分享
          •   书写一套完整的测试用例过程中需要对用例都从测试计划、测试设计、测试开发、测试执行、测试评估五个维度进行测试流程设计。  1、测试计划  根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,即制定黑盒测试的最高标准,以后所有的测试工作都将围绕着测试需求来进行,符合测试需求的应用程序即是合格的,反之即是不合格的;同时,还要适当选择测试内容,合理安排测试人员、测试时间及测试资源等。  2、测试设计  将测试计划阶段制定的测试需求分解、细化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例(测试用例选择的好坏将直接影响到测试结果的有效性)。  3、测试开发  建...
            0 0 688
            分享
          •   这段时间在自己搭建公司的测试平台框架,基本已经成型,可以满足编写接口、接口自动化、接口性能、数据展示等功能,回过头来看可以使用的工具,发现还是尽量保持“工具引用,不依赖工具”的思想,这里做一个总结。  1、首先只会独立使用工具,会带来很大的局限性  比如,我们会使用jmeter来写几个接口,会用postman来做接口,还有其它的工具,那么,我认为这只能局限在你的接口测试的最基础层面。通过阅读工具的文档,谁都可以通过UI页面的操作,搭建接口测试,然后执行,产生报告。但是遇到稍微复杂点的接口,你就无从下手了。我举个例子,我在测试微信小程序的时候,微信会根据每次登录产生一个不同的code,一但c...
            0 0 1617
            分享
          •   尽管有报道称苹果公司今年至少发生了四次较小规模的裁员事件,但 2024 年苹果公司的员工人数仍有所增长。苹果公司在上周提交的文件中披露,截至 9 月底,该公司在全球拥有约 16.4 万名全职员工。 这一数字高于苹果一年前公布的 16.1 万名全职员工。 这些数字包括公司员工(如软件工程师)和零售店员工。  苹果公司目前的员工人数与 2022 年持平,而去年则略有下降。  根据苹果公司的文件,该公司各年的全职员工人数如下:  · 2024:164000  · 2023:161000  · 2022:164000  · 2021:154000  · 2020:147000  · 20...
            0 0 172
            分享
      • 51testing软件测试圈微信