HarmonyOS鸿蒙Next云测试提前定位和解决问题-Maker工作室聆途APP云测试上架测试体验
HarmonyOS鸿蒙Next云测试提前定位和解决问题-Maker工作室聆途APP云测试上架测试体验
云测试提前定位和解决问题# Maker工作室-聆途APP云测试体验
1. 前言
聆途APP是一款集成多模态感知与分布式推理的智能导航应用,专注于为视障用户提供离线、全链路、跨设备的智能物品寻路和导航体验。通过融合HarmonyOS分布式能力与AI技术,实现了在无网络环境下精准识别环境物体、规划无障碍路径的功能,为视障群体提供独立出行的技术赋能。
在HarmonyOS应用开发过程中,经常会遇到购机成本高、自有机型有限等问题,导致应用测试设备不足、机型不适配、审核驳回等困扰。华为AppGallery Connect提供的云测试服务很好地解决了这些问题,为开发者提供了便捷的一站式应用测试服务。
通过这次云测试活动,我在实际体验中也发现了应用中的一些潜在问题,以及如何利用云测试服务来提升应用质量。下面分享一下真实体验。
2. 云测试服务介绍
2.1 核心功能
云测试服务主要提供以下六大测试能力:
- 兼容性测试:验证应用在手机上的安装、卸载、启动等操作,检测崩溃、闪退、无响应等兼容性问题。
- 稳定性测试:长时间遍历测试,检测内存泄漏、内存越界、冻屏等稳定性问题。
- 性能测试:在真机设备上完成CPU、内存、耗电量、流量等关键指标采集。
- 功耗测试:检测影响手机应用功耗的各项关键指标,比如网络请求、后台服务等资源的使用情况。
- UX测试:检测基础体验、系统特性适配、视觉风格、大屏体验等问题。
- 安全测试:检测应用中是否存在病毒木马和恶意广告。
2.2 支持平台
云测试服务支持多种平台的应用测试:
- HarmonyOS NEXT:支持API≥10的应用/元服务,提供HAP/APP格式。
- Android:支持APK/AAB格式。
- 快应用:支持RPK格式。
3. 使用流程体验
3.1 准备工作
每天免费测试时长为300分钟,上架测试一般需180-250分钟, 上架测试如果未通过,需等到次日0点刷新后再进行测试,建议错开高峰期,早上云设备空闲较多
测试注意事项:检测项出现警告可忽略,出现错误则会导致测试未通过,需第二天重新测试;六大测试(兼容性、稳定性、性能、功耗、UX、安全)中,UX测试最易出错,建议提前自查
在开始云测试前,需要准备release模式的HarmonyOS应用包。这个过程包括:
-
申请证书和Profile:在AGC平台申请发布证书和Profile文件。
- 具体步骤:
- 登录AppGallery Connect控制台
- 进入"证书、APP ID和Profile"页面
- 生成私钥和证书请求文件(.p12和.csr)
- 申请发布证书(.cer)
- 创建发布Profile(.p7b)
- 具体步骤:
-
配置签名:配置签名信息是确保应用安全性和完整性的关键步骤。
- 具体步骤:
- 在DevEco Studio中打开项目
- 进入"项目结构 > 签名配置"
- 输入密钥别名和密码
- 选择对应的证书文件路径
- 应用签名配置
- 具体步骤:
-
编译构建:编译构建release模式的HAP包。
- 具体步骤:
- 在DevEco Studio中选择"Build > Build Hap(s)/APP(s)"
- 选择"Release"模式
- 等待编译完成
- 检查生成的HAP包大小(建议≤4GB)
- 具体步骤:
3.2 创建测试任务
登录AppGallery Connect后,进入"质量 > 云测试"页面,选择测试场景:
-
上架测试:按照应用上架华为应用市场的标准进行测试。
- 测试内容:
- 兼容性测试:检测应用在不同设备上的安装、启动、运行情况
- 稳定性测试:长时间运行测试,检测内存泄漏、崩溃等问题
- 性能测试:CPU、内存、功耗、流量等指标测试
- UX测试:用户体验测试,包括界面适配、交互流畅性等
- 安全测试:检测恶意代码、病毒木马等安全问题
- 测试内容:
-
自定义测试:可选择关注的测试项进行专项测试。
- 测试选项:
- 兼容性测试:重点检测设备适配问题
- 稳定性测试:专注长时间运行稳定性
- 性能测试:重点优化性能指标
- 功耗测试:检测电池消耗情况
- UX测试:用户体验专项测试
- 测试选项:
3.3 上传应用包
上传准备好的release模式应用包,系统会自动识别包格式和版本信息。
- 上传步骤:
- 点击"上传应用包"按钮,进入文件选择界面
- 选择本地HAP包文件,系统会显示文件大小和基本信息
- 等待上传完成,上传速度取决于网络状况和文件大小
- 系统自动识别包信息,包括应用名称、版本号、API版本等
3.4 执行测试
提交测试后,系统会将应用推送到云端设备进行自动化测试,整个过程无需人工干预。
- 测试执行流程:
- 系统分配测试设备,根据配置的设备类型和数量进行分配
- 自动安装应用包,在目标设备上安装待测试的应用
- 执行预设测试脚本,按照配置的测试流程进行自动化测试
- 收集测试数据和日志,记录测试过程中的各种指标和异常情况
- 生成测试报告,整理分析测试结果,提供详细的问题报告
3.5 查看测试报告
测试完成后,可以查看详细的测试报告,包括:
-
测试结果概览:提供测试的整体情况和关键指标
- 报告内容:
- 测试设备列表和状态
- 总体测试结果(通过/失败)
- 问题统计和分布
- 测试时长和成本
- 报告内容:
-
结果解读:
- 绿色标识:测试通过
- 黄色标识:存在警告
- 红色标识:测试失败
-
详细的问题列表:开发者最关心的部分,提供每个具体问题的详细信息。
-
问题分类:
- 兼容性问题:安装失败、启动异常、功能异常
- 性能问题:CPU使用率高、内存泄漏、响应慢
- UX问题:界面适配、交互体验、视觉问题
- 功耗问题:GPS资源使用不当、后台服务过度消耗
- 设计约束问题:卡片描述索引、无障碍访问等设计规范问题
- 安全问题:恶意代码、权限滥用
4. 实际测试体验
4.1 测试环境
本次测试使用的是聆途APP,一个基于HarmonyOS NEXT开发的应用,API版本为17。
-
测试设备:
- 华为Mate 60 Pro(HarmonyOS 4.1)
- 华为P60(HarmonyOS 4.0)
- 华为MatePad Pro(HarmonyOS 4.1)
-
测试场景:
- 上架测试:全面质量检测
- 自定义测试:UX专项测试
通过这次测试,我发现了几个关键问题,下面分享一下具体的发现和解决方案
4.2 测试结果
通过云测试服务,我们发现了以下问题:
-
兼容性问题:在部分机型上存在启动时间过长的问题
- 具体表现:
- 在低端设备上启动时间超过5秒
- 部分设备出现启动卡顿现象
- 内存占用在启动阶段过高
- 具体表现:
-
性能问题:CPU使用率在某些场景下偏高
- 具体表现:
- 列表滚动时CPU使用率达到80%以上
- 图片加载时内存占用过高
- 网络请求时出现卡顿
- GPS定位服务在后台持续运行,导致功耗过高
- 具体表现:
-
UX问题:UX测试未通过,主要存在以下问题:
-
图标问题:
- 应用图标分层问题:应用图标未按要求分为前景图和背景图两层
- 图标尺寸不规范:部分界面图标尺寸小于8vp,不符合最小尺寸要求
- 图标清晰度问题:部分图标存在模糊、拉伸现象
-
设计约束问题:
- 卡片描述索引问题:多张卡片的description未以索引方式展现,如VoiceGuide、GeoFenceCard等卡片
- 无障碍访问问题:卡片描述缺乏索引展示,影响无障碍访问体验
-
-
功耗问题:功耗测试出现警告,主要存在以下问题:
-
GPS资源使用问题:
- 后台定位服务:应用退后台后仍在使用定位服务,未申请长时任务
- 功耗过高:GPS定位在后台持续运行,导致电池消耗过快
- 系统强制停止:系统检测到未申请长时任务的应用在后台使用定位,强制停止定位请求
-
资源管理问题:
- 前后台切换:应用在前台和后台切换时,定位服务管理不当
- 生命周期处理:未正确处理应用生命周期中的定位服务启动和停止
-
4.3 问题解决
根据云测试报告的建议,我进行了以下优化:
-
UX问题修复:
-
图标问题修复:
- 重新设计应用图标:按照1024px×1024px规格,分为前景图和背景图两层
- 规范界面图标尺寸:确保所有界面图标不小于8vp
- 优化图标清晰度:使用矢量图标,避免模糊和拉伸
-
设计约束问题修复:
- 卡片描述索引优化:为VoiceGuide、GeoFenceCard等卡片添加索引方式的description展示
- 无障碍访问改进:确保所有卡片描述都支持索引访问,提升无障碍体验
-
-
功耗问题修复:
- GPS资源使用优化:
- 生命周期管理:在onForeground()中启动定位服务,在onBackground()中停止定位服务
- 长时任务申请:如需后台定位,申请相应的长时任务权限
- 资源释放:确保应用退后台时及时释放GPS资源
- GPS资源使用优化:
-
代码优化示例:
import { UIAbility } from '@kit.AbilityKit';
import { geoLocationManager } from '@kit.LocationKit';
export default class EntryAbility extends UIAbility {
onForeground(): void {
// 在前台时按业务所需创建定位请求
let requestInfo: geoLocationManager.LocationRequest = {
'priority': geoLocationManager.LocationRequestPriority.ACCURACY,
'timeInterval': 0,
'distanceInterval': 0,
'maxAccuracy': 0
};
let locationChange = (location: geoLocationManager.Location): void => {
console.log('locationChanger:data:' + JSON.stringify(location));
};
// 监听位置的变化
geoLocationManager.on('locationChange', requestInfo, locationChange);
}
onBackground(): void {
// 退后台取消监听
geoLocationManager.off('locationChange', locationChange);
}
}
- 功耗优化效果:
- 后台GPS使用得到有效控制,电池消耗显著降低,避免系统强制停止定位请求,减少了不必要的后台定位,提升用户隐私保护
4.4 修复效果验证
经过修复后,重新提交测试验证效果:
-
4.4.1 测试结果对比
- 修复前:UX测试未通过,存在多个问题
- 修复后:UX测试通过,所有问题得到解决
-
4.4.2 具体改进效果
- 应用图标分层正确,图标尺寸规范,卡片描述索引展示正确,GPS资源使用得到有效控制
-
4.4.3 经验总结
- UX测试是应用上架的重要环节,需要严格按照标准执行
- 图标分层是常见的UX问题
- 设计约束问题如卡片描述索引,对无障碍访问体验影响重大
- GPS资源使用需要严格遵守生命周期管理,避免后台不必要的定位服务
- 云测试的UX报告提供了详细的问题定位和修复建议
通过这次云测试体验,我们认识到云测试服务在应用质量保障方面的重要作用。它不仅帮助我们发现了潜在问题,还提供了专业的修复建议,提升了我们的开发效率。
5. 云测试服务优势
5.1 成本优势
- 免费测试时长:每日提供300分钟免费测试时长
- 优惠机型支持:支持多种优惠机型,降低测试成本
- 灵活付费模式:按量付费,开发者可根据需求选择
5.2 技术优势
- 设备覆盖全面:覆盖大量真机设备,包括最新热门机型
- 自动化测试:全自动化测试,支持多台设备并行测试
- 专业报告:提供详细的分析报告,包括问题描述、复现步骤、修复建议
6. 使用建议
6.1 测试前准备
- 确保release模式:Release模式的应用包经过优化,性能更好
- 检查API兼容性:建议使用API≤17的版本进行测试
- 准备测试账号:对于需要登录的应用,提前准备好测试账号
6.2 测试策略
- 错峰测试:建议错开高峰期进行测试,避免设备资源紧张
- 测试顺序:优先进行上架测试,再进行自定义测试
- 及时修复:关注测试报告中的错误项,及时修复问题
6.3 问题处理
- 下载日志分析:下载详细日志分析具体问题
- 针对性优化:根据报告建议进行针对性优化
- 重新验证:修复后重新提交测试验证效果
7. 总结
云测试服务为HarmonyOS应用开发提供了质量保障,通过这次体验,我们感受到了云测试在提高开发效率、降低测试成本、保障应用质量方面的重要作用。
对于准备上架华为应用市场的开发者来说,云测试服务是不可或缺的工具。它不仅能够帮助开发者提前发现和解决问题,还能提供专业的测试报告,为应用质量保驾护航。
相信随着HarmonyOS生态的不断发展,云测试服务将为更多开发者提供优质的服务,共同推动HarmonyOS应用生态的繁荣发展。
更多关于HarmonyOS鸿蒙Next云测试提前定位和解决问题-Maker工作室聆途APP云测试上架测试体验的实战教程也可以访问 https://www.itying.com/category-93-b0.html
鸿蒙Next云测试支持通过远程真机调试、自动化测试和性能分析快速定位问题。提供完整的日志收集和崩溃分析功能,可直接在DevEco Studio查看测试报告。云测试环境包含主流华为机型,兼容性测试覆盖90%以上常见场景。测试结果会标记UI异常、内存泄漏和API兼容性问题。支持分布式测试场景验证,包括跨设备协同功能。测试通过后可一键生成上架所需报告。
更多关于HarmonyOS鸿蒙Next云测试提前定位和解决问题-Maker工作室聆途APP云测试上架测试体验的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
感谢分享详细的HarmonyOS Next云测试体验!您对聆途APP的测试案例非常有参考价值,特别是关于UX测试和功耗优化的部分。
关于您提到的几个关键点:
- UX测试问题:图标分层和卡片索引确实是HarmonyOS应用上架常见问题。建议开发者注意:
- 应用图标必须包含前景层和背景层
- 卡片description需要采用索引格式(如"VoiceGuide_1")
- 功耗优化:后台定位服务的处理很关键。您的代码示例很好地展示了如何正确管理定位生命周期。需要特别注意:
- 在onBackground()中及时释放定位资源
- 如需后台持续定位,必须申请长时任务权限
- 测试策略建议:
- 优先解决错误项(红色标记)
- 警告项(黄色)虽然不影响上架,但也建议优化
- 性能问题建议使用DevEco Studio的Profiler工具进一步分析
云测试确实能有效发现真机环境下的兼容性问题,建议开发者在应用发布前至少进行一轮完整的云测试。