稳定性是应用质量的核心指标。DevEco Testing提供了稳定性测试内存泄漏测试两大测试服务,帮助检测应用崩溃、资源过载、内存泄漏等异常情况。

一、稳定性测试

根据应用稳定性建议,检测应用运行过程中是否存在应用崩溃、资源过载、内存泄漏等异常情况。

创建任务

配置项 说明
任务名称 默认时间生成,支持自定义
测试设备 HarmonyOS 5.0+
选择应用 已安装应用或安装新应用(.hap/.zip)
是否卸载应用 开启后测试卸载无残留检测,任务结束自动卸载
多线程检测 开启后检测多线程安全问题
MemDebug模式 开启后检测内存越界类问题

建议:最佳测试时长建议设置为8小时

控件黑名单

配置方式 说明
关键字 填写控件文字内容(如"购物车"、"我的订单")
XPath 通过UIViewer工具或遍历地图获取控件XPath,最大支持30个

黑名单控件在遍历中不会进行操作,并在应用页面中置灰。

指定入口(可选)

配置项 说明
DeepLink 支持多个DeepLink,每次触发随机跳转其中一个
按固定概率切换 每次操作以指定概率随机选择执行一个DeepLink跳转
按固定周期切换 固定时间周期按顺序选择执行一个DeepLink跳转

测试报告

报告结构

部分 内容
任务信息 应用信息、执行时长、环境参数
测试概览 结果统计、检测规则
检测详情 异常规则项可查看检测项概览、测试截图、问题列表

二、内存泄漏测试

2.1 设备准备

要求 说明
系统版本 HarmonyOS 7.0+
设备状态 网络通畅、非高温、非低电量(>80%)
锁屏设置 取消各类锁屏密码
应用图标 桌面可见
预置操作 权限授予、用户协议确认、账号登录
应用签名 待测试应用包需要调试证书签名

应用支持说明

  • 支持:ArkUI原生控件(含ReactNative)应用、Flutter 3.7.12+开发的应用

  • 不支持:浏览器类应用、纯Web应用、其他三方自研框架自定义控件

注意:若应用具备监听截图并展示功能,建议在测试前关闭该功能模块。

2.2 任务创建

模式选择

模式 说明
自主遍历 服务可自主探索遍历应用
自定义场景 需自行操作应用进行测试

测试时长

模式 默认时长 范围
自主遍历 10小时 10分钟 ~ 10080分钟
自定义场景 1小时 10分钟 ~ 10080分钟

磁盘空间:预估每小时任务需要2G磁盘空间,不足时会给出提示。

2.3 高级配置(仅自主遍历)

控件黑名单

  • 关键字:控件text属性值,最大30个

  • XPath:通过UIViewer或遍历图谱获取,最大30个

图谱选择:根据所选应用选择在图谱管理工具中定义的图谱。

黑名单选择:根据所选图谱选择在黑名单管理工具中定义的黑名单控件。

指定入口

配置项 说明
DeepLink 支持多个,每次触发随机跳转其中一个
按固定概率切换 每次操作以指定概率随机选择执行一个DeepLink跳转
按固定周期切换 固定时间周期按顺序选择执行一个DeepLink跳转

2.4 任务执行

自主遍历模式

显示内容 说明
进度 任务整体进度
测试场景 当前操作场景名称
检测结果统计 实时统计内存泄漏问题
日志 实时打印测试过程日志

自定义场景模式

功能 说明
应用内存占用 实时监控并可视化应用内存动态变化
场景开始 定义监控场景名称和执行时长,开始后启动内存数据抓取
调用信息 实时呈现各场景下内存泄漏问题及对应代码调用栈
GC按钮 执行hidumper --mem-jsheap pid --gc命令触发GC
结束采集 终止监控任务,等待剩余场景分析完成后生成报告

2.5 测试报告

基础信息

  • 任务数据(名称、开始时间、持续时间、执行人)

  • 应用数据(包名、版本、API版本)

  • 环境参数、执行日志(支持日志级别筛选)

自主遍历概览

指标 说明
遍历执行时长 本次测试遍历操作总时长
覆盖场景数 遍历过程中触发的场景数量
问题场景数 存在内存泄漏问题的场景数量
内存泄漏问题总数 内存泄漏问题总数

自定义场景

指标 说明
场景监控时长 所有场景使用总时长
覆盖场景数 监控过程中触发的场景数量
问题场景数 存在内存泄漏问题的场景数量
内存泄漏问题总数 内存泄漏问题总数

资源数据(内存指标)

指标 说明
TotalMem 应用占用的整体物理内存
GLMem 应用占用的GPU内存
GraphMem 应用占用的图形内存
ArkTsMem 应用占用的ArkTS内存
NativeMem 应用占用的Native内存
AnnoPageMem 应用占用的匿名页内存
FilePageMem 应用占用的文件页内存
AshMem 应用占用的AshMem
StackMem 进程使用的栈内存
AvailbleMem 整机可用内存
FreeMem 整机空闲内存

三、其他

3.1 稳定性测试对比

测试类型 适用场景 测试方式 核心检测
稳定性基础质量测试 长时间稳定性检测 自动化遍历 崩溃、资源过载、内存泄漏
内存泄漏测试 内存专项检测 自主遍历/自定义场景 内存泄漏、内存增长

3.2 内存泄漏测试模式对比

模式 操作方式 适用场景 高级配置
自主遍历 自动探索 长时间内存检测 支持(控件黑名单/DeepLink)
自定义场景 手动操作 指定场景监控 不支持
Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐