智能电视OTA测试内容-OTA远程升级技术
1 OTA功能测试
1.1OTA 后台管理操作
OTA后台管理操作主要负责OTA包的上传、OTA升级策略制定、OTA梯度放开、机型选择、OTA发布等。
1.2 OTA 升级前预置数据
在OTA升级前版本,进行资源预置(列如常用APP、观看历史数据、用户账号登录、收藏等)。目的是检查OTA升级之后数据是否会发生变化
1.3执行OTA升级操作
将服务端的OTA升级包下载到电视端,下载完成后系统弹窗提示进行安装包的升级,如果满足升级条件则进入升级包安装过程,安装完成后会检查版本号信息,以判断是否升级到最新版本,并同时检查之前安装的用户数据,是否保留,以此判断本次升级是否成功。
1.4 异常场景下相关功能测试
OTA过程中的异常场景可能导致系统崩溃,OTA测试需要模拟这些场景并验证该场景下系统是否做了规避处理,这些异常场景包含断点续传(掉电、通信中断或网络变差引起的下载中断)、下载失败/重试以及升级失败回滚到之前的系统版本等。
2 OTA升级流程
2.1OTA 升级包
OTA升级包updat.zip目录结构:
|----boot.img:是更新boot分区所需要的文件
|----system/主要用来更新系统的一些应用或则应用会用到的一些库
|----recovery/目录中的recovery-from-boot.p是boot.img和recovery.img的补丁(patch),主要用来更新recovery分区,其中etc/目录下的install-recovery.sh是执行更新的脚本
`|----recovery-from-boot.p
`|----etc/
`|----install-recovery.sh
|---META-INF/
`|CERT.RSA 与签名文件相关联的签名程序块文件
`|CERT.SF 这是JAR文件的签名文件,其中前缀CERT代表签名者
`|MANIFEST.MF 这个manifest文件定义了与包的组成结构相关的数据
`|----com/
`|----google/
`|----android/
`|----update-binary相当于一个脚本解释器,能够识别updater-script中描述的操作
`|----updater-script此文件是一个脚本文件,具体描述了更新过程
`|----android/
`|----metadata描述设备信息及环境变量的元数据
在具体升级时,对update.zip包检查时大致会分三步:①检验SF文件与RSA文件是否匹配。②检验MANIFEST.MF与签名文件中的digest是否一致。③检验包中的文件与MANIFEST中所描述的是否一致。
2.2 标准的OTA升级流程包括一下几个步骤:
1.Android设备首先会与OTA服务器进行交互,如果有更新会推送给客户。推送的信息常常会包含OTA更新包的下载地址和一些版本信息。
2.Update程序会将更新包下载到cache分区下,并提醒用户安装更新。
3.设备会重启进入recovery模式,同时启动recovery分区下运行环境,不再启动boot分区下的运行环境。
4.recovery运行环境初始化时会启动recovery二进制程序并根据/cache/recovery/command中的命令对更新包进行下一步操作。
5.Recovery运行环境对更新包中/res/key的签名进行校验,如果校验失败会中断升级。
6.Recovery二进制程序会对更新包中的数据进行解压同时根据解压出的数据对boot、system、和vender分区进行相应的更新。对system分区的更新也同时包含了新的recovery分区的更新。
7.重启设备
a.载入新的boot分区,并执行升级后的system分区中的二进制文件。
b.系统启动时会同时校验recovery分区,如果recovery与升级时保存在system分区下的信息不一致会对recovery进行更新。
8.系统更新完成
3 OTA 升级压力测试及可靠性测试
3.1OTA 升级成功率测试
3.2多终端OTA下载压力测试
3.3 性能测试
4.人工OTA 测试弊端
1、OTA升级测试的一些特殊工况难以实现,这些工况涉及到不允许升级的前置条件、不同的网络环境等,往往很多制造商缺乏这方面的测试流程而带来一些潜在风险。
2、手动测试OTA过程繁琐,涉及多模块协同、多链路切换,不仅涉及无线蜂窝网环境,也有无线WiFi环境以及局域网链路等。在上述环境下人工切换效率非常低。
3、机型多、版本多,人工测试工作量大、成本高、效率低,极大影响OTA发布进度
5 自动化解决方案
1、人机交互系统(执行系统)
通过HMI机械手和ADB的方式实现与车机、手机的交互操作,模拟人工对测试过程的操作,实现单击、双击、滑动等,24小时不间断测试,提升测试效率,缩短测试周期。
2、仿真系统
仿真系统可模拟各种测试环境和工况,特别是针对人工测试难以实现的环境(如OTA安装的前置条件以及各种网络环境等)。
3、断言系统
提供图像、文字、声音以及报文等多种断言方式,自研图像算法,不受光线和角度影响,各种断言方式覆盖所有测试场景,确保对测试结果断言的准确性。
4、TSP自动化交互系统
TSP自动交互系统实现对OTA后台的操作管理,包含自动登录、升级策略确认、车辆选择、车辆VIN号确认等。