随着智能座舱领域数字化、智能化的飞速发展, 座舱功能/交互日益复杂,自动化测试技术的出现,实现了测试成本降低、测试周期缩短、测试可信度提升,发挥着不可替代的作用。
HMI智能座舱自动化测试包含功能测试、压力测试、兼容性测试、性能测试等等多项测试内容,最大限度地确保产品的品质,接下来我们具体讲解下性能测试如何来实施。
智能座舱的性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。选择适合业务逻辑的方式,用最低的成本、最快的时间来做出最有价值的事情。
No. |
项目 |
描述 |
1 |
能力验证 |
主要是验证系统是否具备宣传的能力,即“系统能否在 A条件下具有 B 能力”,通常要求在明确的软硬件环境下,根据明确的系统性能需求设计测试方案和用例。 |
2 |
能力规划 |
关注如何才能使系统达到要求的性能和容量。通常情况下,我们会采用探索性测试的方式来了解系统的能力。 |
3 |
性能调优 |
性能调优主要解决性能测试过程中发现的性能瓶颈的问题,通常会涉及多个层面的调整,包括硬件设备选型、操作系统配置、应用系统配置、数据库配置和应用代码实现的优化等等。 |
4 |
缺陷发现 |
通过加大负荷,甚至突破上限,从而发现并修复体系中存在的瓶颈或薄弱的环境。 |
HMI常见硬件性能测试包括以下:
- 音频测试参数:输出失真度、信噪比、频响等;爆破音检测、断续音量检测
- 视频测试参数:复合视频输出电平、亮度信噪比、色度信噪比等
- 供电性能测试:供电电压缓升缓降、发动机启动电压波形、过电压测试等
- USB 充电电流测试
- IVI 系统暗电流测试
- AM/FM/RDS 测试参数:频率范围、中频频率、信噪比等
- WLAN 测试参数:发射功率、EVM、接收灵敏度等
- 蓝牙测试参数:输出功率、单/多时隙灵敏度、最大输入电平等
- 2/3/4G测试参数:发射功率、EVM、接收误码率
- 其他物理指标:温度等
HMI常见软件性能测试包括以下:
- 检测被测应用的滑动帧率、丢包数、流畅度等
- 用户操控时,CPU、内存、磁盘IO和网络IO等性能指标
- HMI启动耗时
- 接收包错误率 接收以太网数据包时每秒错误数
- 触摸屏响应时间,UI 界面动态迁移时间等
- 导航测试参数:冷/热启动时间,定位精度,重新捕获时间等
- 检测内存泄漏、资源竞争、死锁问题
- 系统OTA升级效率
- 系统吞吐量
下面我们针对软件方面的性能测试进行举例说明。
测试目标
从2个角度设定自动化测试的导入目标。
- 自动化测试覆盖度:在单一项目中,可转化为自动化测试用例的比例。覆盖度=自动化测试用例数/所有测试用例数*100%
- 自动化测试生产性指标:在单一项目中,自动化测试的用例做成指标及执行指标。做成生产性指标=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监控
- 在不同场景下,程序执行自动化测试脚本(单次或重复执行多个小时)
- 执行完毕之后,查看性能测试报表,确认不同场景下的网络上下行带宽以及网络延迟性能及稳定性