HarmonyOS Developer使用指南-测试
测试概述
测试标准导读
定义HarmonyOS应用和原子化服务兼容性、稳定性、性能、功耗、安全、UX测试标准,覆盖原子化服务卡片、分布式流转等HarmonyOS关键特征,帮助开发者解决测什么的问题。
测试标准简介和相关资源获取方式:
测试标准名称 | 简介 | 相关资源 |
兼容性测试 | 应用和OS兼容、应用升级兼容、应用交互兼容、应用分布式兼容 | |
稳定性测试 | 长时间运行故障率(App Crash/App Freeze)、长时间运行内存泄漏、长时间运行踩内存 | |
性能测试 | 启动时间、帧率、内存占用、CPU占用、服务卡片启动时间等 | |
功耗测试 | 后台长驻任务/托管任务管控、后台硬件器件资源/软件系统资源占用管控,分布式资源占用 | |
安全测试 | 基础安全、用户隐私、权限管理、跨设备安全 | |
UX测试 | 设计规范、设计约束的符合性 | |
流转测试 | 流转交互一致性、跨端迁移功能、多端协同功能 |
测试服务导读
提供HarmonyOS应用和原子化服务开发、调试、单元测试、集成测试、上架预测试等各阶段开发活动所需的测试工具和测试服务平台,帮助开发者全面高效测试。
图1 HarmonyOS应用测试服务平台概览
典型测试服务简介和相关资源获取方式:
测试服务名称 | 简介 | 相关资源 |
云测平台 | HarmonyOS应用云测平台,提供兼容性、安全、UX、性能、功耗、稳定性测试能力,支持流转、服务卡片等HarmonyOS关键特征自动化测试,支持华为1+8多设备运行,帮助开发者全方位看护APP基础质量。 |
性能测试
1 范围
1.1 背景及目的
本标准规定了HarmonyOS应用的基础性能质量和体验要求。本标准适用于HarmonyOS应用软件的设计、开发及测试。
1.2 适用范围/测试范围
本标准适用于运行于HarmonyOS的各类应用的性能衡量与判断。应用类型涉及:便捷生活、出行导航、购物比价、拍摄美化、社交通讯、实用工具、新闻阅读、学习办公、影音娱乐、游戏、主题个性、金融理财、医疗健康等。
对于以上各个类型的应用,标准涉及的测试只对其核心场景进行测试。各类应用核心场景定义如下:
- 便捷生活类:进入应用主功能界面
- 出行导航类: 进入位置搜索页面
- 购物比价类: 进入购物首页,页面含商品列表、搜索栏等。
- 拍摄美化: 进入应用主功能界面
- 社交通讯类:登陆后进入主界面收/发消息 或:登陆后进入主界面
- 实用工具: 邮箱类:启动应用 – 登陆邮箱 – 收取邮件(邮箱内已有邮件列表超过10封)
- 新闻阅读类:启动应用 – 进入首页 – 刷新新闻列表 –滑动新闻列表
- 学习办公: 进入应用主功能界面
- 影音娱乐: 进入应用主功能界面
- 游戏: 进入应用主功能界面
测试标准维度包含:启动时延类、滑动帧率类,资源占用类,分布式典型操作类。
2 规范性引用文件
无
3 术语、定义和缩略语
3.1 术语、定义
3.1.1 泛智能终端
泛智能终端是指能连入互联网、智能化、自动化的设备,因此可以认为泛智能终端其中一种类型便是移动智能终端。移动智能终端拥有接入互联网能力,通常搭载各种操作系统,可根据用户需求定制化各种功能。生活中常见的智能终端包括移动智能终端、车载智能终端、智慧屏、可穿戴设备等。
3.1.2 原子化服务
原子化服务是一种面向未来的服务提供方式,是有独立入口的(用户可通过点击方式直接触发)、免安装的(无需显式安装,由系统程序框架后台安装后即可使用)、可为用户提供一个或多个便捷服务的用户应用程序形态。
参考原子化服务:
3.1.3 应用
应用泛指运行在HarmonyOS的操作系统之上,为用户提供特定服务的程序。通常包括两种形态:传统方式需要安装的应用和原子化服务。在本文档中,如无特殊说明,“应用”所指代的对象包括上述两种形态。
3.1.4 冷启动完成时延
应用首次启动时间,即点击触发启动开始到应用启动加载完成的时间。
3.1.5 热启动完成时延
应用非首次启动时间,即打开应用,将应用置于后台后再次启动完成的时间。
3.1.6 启动响应时延
启动响应时延是从触发应用启动开始,到应用打开动效的首帧之间的时间。
3.1.7 帧率( Frame Per Second,简称FPS)
FPS指应用每秒渲染的帧数。
3.1.8 分布式
分布式是HarmonyOS提供的跨设备操作能力,能够打破传统单设备界限,实现多设备相互感知和联动。应用可以跨设备流转,如当使用场景发生变化时,用户可以选择新的设备来继续当前的任务;多个设备上的应用同时或交替运行实现完整的业务。
3.2 缩略语
无
4 性能测试标准
4.1 应用启动时间
4.1.1 冷启动完成时延
标准编号 | 4.1.1 | 冷启动完成时延 |
标准描述 | 测量点击应用图标到打开应用的冷启动完成时延(毫秒) | |
预置条件 | a. 被测应用在测试之前从未创建过进程 b. 测量从点击图标到界面全部显示的时间 | |
测试用例 | 起点:点击应用图标 终点:应用主界面显示完成 | |
判定标准 | 各类应用(不含游戏类、影音娱乐)的冷启动时间应≤ 2000毫秒 游戏类应用冷启动时间≤ 3000毫秒 影音娱乐类应用冷启动时间≤ 3000毫秒 界面加载过程中白屏/黑屏停留时间≤ 200毫秒 | |
需考虑的特殊事项 |
|
4.1.2 热启动完成时延
标准编号 | 4.1.2 | 热启动完成时延 |
标准描述 | 测量点击应用图标到打开应用的热启动完成时延(毫秒) | |
预置条件 | 被测应用之前已经被打开过,无关闭应用行为,测试时被重新切换到前台 | |
测试用例 | 起点:点击应用图标 终点:应用主界面显示完成 | |
判定标准 | 各类应用(不含游戏类、影音娱乐)的热启动时间应≤ 800毫秒 游戏类应用热启动时间≤ 1000毫秒 影音娱乐类应用热启动时间≤ 1000毫秒 界面加载过程中白屏/黑屏停留时间≤ 200毫秒 | |
需考虑的特殊事项 | 无 |
4.1.3 启动响应时延
标准编号 | 4.1.3 | 启动响应时延 |
标准描述 | 测量从点击应用图标启动应用到开始显示界面开始变化的第一帧之间的耗时(毫秒) | |
预置条件 | 被测应用在测试之前从未创建过进程 | |
测试用例 | 起点:点击应用图标 终点:启动窗口显示界面开始变化的第一帧显示 | |
判定标准 | 点击应用图标后显示启动窗口≤ 250毫秒 | |
需考虑的特殊事项 |
|
4.1.4 从服务中心拉起原子化服务响应时延
标准编号 | 4.1.4 | 从服务中心拉起原子化服务的响应时延 |
标准描述 | 测量从点击原子化服务图标到开始显示启动窗口的响应耗时(毫秒) | |
预置条件 | 非首次打开条件;网络信号强度在-50db左右 | |
测试用例 | 起点:点击服务中心的原子化服务图标 终点:原子服务启动窗口界面显示开始变化的第一帧 | |
判定标准 | ≤ 250毫秒 | |
需考虑的特殊事项 |
|
4.1.5 从服务中心拉起原子化服务完成时延
标准编号 | 4.1.5 | 从服务中心拉起原子化服务的完成时延 |
标准描述 | 测量从点击原子化服务图标到服务拉起完成的耗时时延(毫秒) | |
预置条件 | 非首次打开条件;网络信号强度在-50db左右 | |
测试用例 | 起点:点击服务中心入口 终点:原子化服务拉起加载完成 | |
判定标准 | 原子化服务拉起完成时延≤ 4000毫秒 服务启动过程中超过1s界无变化的等待应有进度条或加载圈或过渡动画 | |
需考虑的特殊事项 |
|
4.1.6 应用或原子化服务内操作响应时延
标准编号 | 4.1.6 | 应用或服务内的使用操作响应时延 |
标准描述 | 测量应用或原子化服务内的操作响应时延(毫秒) | |
预置条件 | 网络信号强度在-50db左右 | |
测试用例 | 遍历应用或原子化服务内操作,点击切换响应时延满足要求: 起点:点击抬起or滑动开始 结束:屏幕开始变化显示首帧的时间 | |
判定标准 | 应用或原子化服务内操作响应时延:≤ 250毫秒 | |
需考虑的特殊事项 |
|
4.1.7 应用或原子化服务内操作完成时延
标准编号 | 4.1.7 | 应用或服务内的使用操作完成时延 |
标准描述 | 测量应用或原子化服务内的操作完成时延(毫秒) | |
预置条件 | 网络信号强度在-50db左右 | |
测试用例 | 遍历应用或原子化服务内操作,点击切换完成时延满足要求 起点:点击抬起 结束:屏幕响应刷新完成,支持用户操作 | |
判定标准 | 应用或原子化服务内操作完成时延:≤ 3000毫秒 界面刷新过程中白屏/黑屏停留时间≤ 200毫秒 | |
需考虑的特殊事项 |
|
4.2 界面帧率
4.2.1 界面帧率
标准编号 | 4.2.1 | 界面帧率 |
标准描述 | 测量应用启动过程、滑动使用过程的屏幕界面帧率(FPS) | |
预置条件 | 启动过程测试冷启动过程 | |
测试用例 | 1、冷启动应用,统计启动过程帧率 2、开展界面滑动(正常使用滑动速度)保持屏幕刷新,统计每秒渲染的帧数(FPS) | |
判定标准 | 应用启动过程、界面滑动过程刷新帧率(FPS)应满足: a. 普通应用的帧率应≥ 91.7%*满帧(如满帧60FPS应满足≥ 55FPS) b. 游戏类、地图类和视频类的帧率应≥ 25FPS | |
需考虑的特殊事项 |
|
4.2.2 界面连续丢帧数
标准编号 | 4.2.2 | 界面连续丢帧数 |
标准描述 | 测量应用启动过程、使用过程的屏幕界面连续丢帧卡顿(帧间隔)时长次数 | |
预置条件 | 启动过程测试冷启动过程;测试页面切换、滑动过程至少持续3分钟 | |
测试用例 | 1、冷启动应用,统计启动过程连续丢帧时长次数 2、开展页面切换、界面滑动(正常使用滑动速度)或刷新,统计连续丢帧时长次数 | |
判定标准 | 页面切换/启动退出过程,连续丢帧(帧间隔)超过50ms出现次数≤0次 应用使用过程,页面滑动连续丢帧(帧间隔) 卡顿100ms出现次数 ≤2次 | |
需考虑的特殊事项 |
|
4.3 内存占用
4.3.1 前台内存占用
标准编号 | 4.3.1 | 前台内存占用 |
标准描述 | 测量应用在前台且运行稳定时的内存占用 | |
预置条件 | 被测应用完全启动30秒后,测量内存消耗 | |
测试用例 | 被测应用运行或者启动30秒后,测量应用进程内存消耗 | |
判定标准 | 各类应用在前台的内存占用应≤ 500MB | |
需考虑的特殊事项 |
|
4.3.2 后台且亮屏内存占用
标准编号 | 4.3.2 | 后台且亮屏内存占用 |
标准描述 | 测量应用在后台且亮屏一段时间时的内存占用 | |
预置条件 | 被测应用切换到后台5分钟后亮屏状态下测量内存消耗 | |
测试用例 | 被测应用切换到后台5分钟后亮屏状态下测量应用进程内存消耗 | |
判定标准 | 各类应用在后台且亮屏5分钟的内存占用应≤ 400MB | |
需考虑的特殊事项 |
|
4.3.3 后台且灭屏内存占用
标准编号 | 4.3.3 | 后台且灭屏内存占用 |
标准描述 | 测量应用在后台且灭屏一段时间时的内存占用 | |
预置条件 | 被测应用切换到后台,灭屏1分钟后测量内存消耗 | |
测试用例 | 被测应用切换到后台,灭屏1分钟后,测量应用进程内存消耗 | |
判定标准 | 各类应用在后台且灭屏1分钟的内存占用应≤ 400MB | |
需考虑的特殊事项 |
|
4.4 CPU占用
4.4.1 后台且亮屏CPU占用
标准编号 | 4.4.1 | 后台且亮屏CPU占用 |
标准描述 | 测量应用在后台且亮屏一段时间时的CPU占用 | |
预置条件 | 被测应用切换到后台,等待5分钟稳定后,检测被测应用5分钟内CPU userTime+systemTime | |
测试用例 | 被测业务切换到后台,等待5分钟稳定后,检测被测业务5分钟内CPU 瞬时负载占比 | |
判定标准 | 各类应用在后台且亮屏5分钟的CPU占用应≤ 2% | |
需考虑的特殊事项 |
|
4.4.2 后台且灭屏CPU占用
标准编号 | 4.4.2 | 后台且灭屏CPU占用 |
标准描述 | 测量应用在后台且灭屏一段时间时的CPU占用 | |
预置条件 | 被测应用切换到后台,灭屏后等待5分钟稳定,检测被测应用5分钟内CPU userTime+systemTime | |
测试用例 | 被测应用切换到后台,等待5分钟稳定后,检测被测应用5分钟内CPU 瞬时负载占比 | |
判定标准 | 各类应用在后台且灭屏5分钟的CPU占用应≤ 2% | |
需考虑的特殊事项 |
|
4.5 分布式性能
4.5.1 跨设备流转
标准编号 | 4.5.1 | 设备流转 |
标准描述 | 测量应用切换到远端设备耗时 | |
预置条件 | 网络信号强度在-50db左右 以及被测应用已连接远端设备,非首次条件 | |
测试用例 | 1、已经连接应用所支持的分布式设备。例如:音乐 2、开始录屏 3、点击切换到远端设备,流转完成。例如:音乐在远端设备开始正常播放 4、分析步骤3占用的视频帧数,计算时间延迟 起点:点击切换入口。例如:音乐 终点:流转完成的第一帧。例如:音乐在远端设备开始正常播放 | |
判定标准 | 被测应用切换远端设备时延≤3000毫秒 | |
需考虑的特殊事项 | 业务涉及时必测,不涉及不测试 |
5. 修订记录
日期 | 修订内容 |
2021年7月 | 第一次发布 |
2022年6月 | 增加部分性能指标 |
2023年3月 | 调整部分性能指标规格 |