随着智能座舱领域数字化、智能化的飞速发展, 座舱功能/交互日益复杂,自动化测试技术的出现,实现了测试成本降低、测试周期缩短、测试可信度提升,发挥着不可替代的作用。

HMI智能座舱自动化测试包含功能测试、压力测试、兼容性测试、性能测试等等多项测试内容,最大限度地确保产品的品质,接下来我们具体讲解下性能测试如何来实施。

智能座舱的性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。选择适合业务逻辑的方式,用最低的成本、最快的时间来做出最有价值的事情。

No.

项目

描述

1

能力验证

主要是验证系统是否具备宣传的能力,即“系统能否在 A条件下具有 B 能力”,通常要求在明确的软硬件环境下,根据明确的系统性能需求设计测试方案和用例。

2

能力规划

关注如何才能使系统达到要求的性能和容量。通常情况下,我们会采用探索性测试的方式来了解系统的能力。

3

性能调优

性能调优主要解决性能测试过程中发现的性能瓶颈的问题,通常会涉及多个层面的调整,包括硬件设备选型、操作系统配置、应用系统配置、数据库配置和应用代码实现的优化等等。

4

缺陷发现

通过加大负荷,甚至突破上限,从而发现并修复体系中存在的瓶颈或薄弱的环境。

HMI常见硬件性能测试包括以下:

  1. 音频测试参数:输出失真度、信噪比、频响等;爆破音检测、断续音量检测
  2. 视频测试参数:复合视频输出电平、亮度信噪比、色度信噪比等
  3. 供电性能测试:供电电压缓升缓降、发动机启动电压波形、过电压测试等
  4. USB 充电电流测试
  5. IVI 系统暗电流测试
  6. AM/FM/RDS 测试参数:频率范围、中频频率、信噪比等
  7. WLAN 测试参数:发射功率、EVM、接收灵敏度等
  8. 蓝牙测试参数:输出功率、单/多时隙灵敏度、最大输入电平等
  9. 2/3/4G测试参数:发射功率、EVM、接收误码率
  10. 其他物理指标:温度等

 

HMI常见软件性能测试包括以下:

  1. 检测被测应用的滑动帧率、丢包数、流畅度等
  2. 用户操控时,CPU、内存、磁盘IO和网络IO等性能指标
  3. HMI启动耗时
  4. 接收包错误率 接收以太网数据包时每秒错误数
  5. 触摸屏响应时间,UI 界面动态迁移时间等
  6. 导航测试参数:冷/热启动时间,定位精度,重新捕获时间等
  7. 检测内存泄漏、资源竞争、死锁问题
  8. 系统OTA升级效率
  9. 系统吞吐量

下面我们针对软件方面的性能测试进行举例说明。 

测试目标

从2个角度设定自动化测试的导入目标。

  1. 自动化测试覆盖度:在单一项目中,可转化为自动化测试用例的比例。覆盖度=自动化测试用例数/所有测试用例数*100%
  2. 自动化测试生产性指标:在单一项目中,自动化测试的用例做成指标及执行指标。做成生产性指标=XX件/天,执行生产性指标=XX件/天

自动化测试品质指标:在单一项目中,自动化测试检出的缺陷数量。缺陷率=XX/千用例

 

     指标

 

项目

自动化测试
覆盖度
(%)

用例做成
生产性
(件/天)

用例执行
生产性
(件/天)

软件
缺陷率
(件/千用例)

滑动帧率FPS

100%

40

N

10

流畅度Smoothness

100%

40

N

10

CPU使用率

100%

40

N

10

内存使用率

100%

40

N

10

网络IO带宽以及延迟

100%

40

N

10

 

测试方法

针对上一节提到的几种性能测试场景,分别举例通过一个用例进行自动化测试方法的论述。

【滑动帧率FPS】

条件准备:

  • 制作针对与某一应用的自动化测试脚本,如在地图APP里进行放大缩小、搜索、切换路径等操作
  • 准备多种场景,如实车、常温实验室、高低温箱、高低压箱等
  • 结果确认:确认滑动帧率FPS值是否稳定且保持较高值

测试方法 

  • 打开性能检测窗口,勾选滑动帧率FPS检测
  • 在不同场景下,程序执行自动化测试脚本(单次或重复执行多个小时)
  • 执行完毕之后,查看性能测试报表,判断滑动帧率的稳定性

【流畅度Smoothness】

条件准备:

  • 制作针对与某一应用的自动化测试脚本,如在短视频APP里进行切换、搜索、评论等操作
  • 准备多种场景,如实车、常温实验室、高低温箱等
  • 结果确认:确认流畅度Smoothness值是否稳定且保持较高值

测试方法 

  • 打开性能检测窗口,勾选流畅度Smoothness检测
  • 在不同场景下,程序执行自动化测试脚本(单次或重复执行多个小时)
  • 执行完毕之后,查看性能测试报表,判断流畅度的稳定性

【CPU使用率】

条件准备:

  • 准备涉及常规功能测试的自动化脚本
  • 准备多种场景,如实车、常温实验室、高低温箱等
  • 结果确认:确认CPU使用率大部分时间处于较低状态,偶尔出现高值也会迅速回落

测试方法 

  • 打开性能检测窗口,勾选CPU使用率
  • 在不同场景下,程序执行自动化测试脚本(单次或重复执行多个小时)
  • 执行完毕之后,查看性能测试报表,判断功能测试用例对CPU资源的损耗

【内存使用率】

条件准备:

  • 准备涉及常规功能测试的自动化脚本
  • 准备多种场景,如实车、常温实验室、高低温箱等
  • 结果确认:确认内存使用率大部分时间处于稳定状态,未出现内存泄漏问题或内存溢出问题,当推出应用后,有明显的回收内存现象

测试方法 

  • 打开性能检测窗口,勾选内存使用率
  • 在不同场景下,程序执行自动化测试脚本(单次或重复执行多个小时)
  • 执行完毕之后,查看性能测试报表,判断功能测试用例对内存资源的损耗

【网络IO带宽以及延迟】

条件准备:

  • 准备涉及对网络有较高要求的测试脚本
  • 准备多种场景,如室外、室内、地下停车场、野外等
  • 结果确认:确认不同场景下的网络上下行带宽以及网络延迟基准

测试方法 

    • 打开性能检测窗口,勾选NetWork监控
    • 在不同场景下,程序执行自动化测试脚本(单次或重复执行多个小时)
    • 执行完毕之后,查看性能测试报表,确认不同场景下的网络上下行带宽以及网络延迟性能及稳定性