玩转HarmonyOS专项测试,轻松上架“五星”高品质应用
作者:David,华为测试服务专家
随着信息技术的高速发展,移动应用与人们生活日益紧密,面向各类场景的应用层出不穷,什么样的应用更受用户青睐呢?在满足用户功能需求之上,一个好的应用要能运行稳定、流畅不卡顿、占用内存小、安全等级高,此外,最好还能提供更多创新便捷的附加能力。
为了匹配用户的期望,应用开发者们自开发阶段到上架之前,均在持续进行应用测试。在每个测试阶段,开发者们都有不同的测试目标。
HarmonyOS应用测试工程
在开发自测阶段,需要保障应用基本可用;功能测试阶段,需要应用功能完整,实现用户目的;在专项测试中,则以为用户提供更好的体验为目标,通过多维度测试(如安全、性能功耗、稳定性等),持续跟踪应用质量指标;直至最后满足HarmonyOS应用测试标准,方可上架发布。
在这个过程中,专项测试是否充分,各项领域是否全面,决定了应用在测试验收环节能否通过各项检测指标和高质量的交付,最终成为用户喜爱的应用。
一、为什么会有专项测试?
对于普通应用开发团队而言,开展应用专项的测试,往往存在诸多难点。不同的专项领域测试,环境要求不同,测试工程师需要具备相应的测试技能也不同,这意味着测试执行需要投入较大的成本。测试执行结束后,对测试数据进一步挖掘,深度分析等,同样也非常依赖测试工程师的专业度。
DevEco Testing让应用专项测试,变得更简单、更专业、更智能!通过将专业测试服务化,既省去了环境搭建过程,也降低了测试门槛,专项测试不再局限于测试人员,开发人员也可以将应用测试前置,在开发阶段就能进行自测,随时开发随时测试,最终实现测试前移的目的。
DevEco Testing能力图
二、稳定性测试常见痛点
下面以稳定性测试为例,展开解读DevEco Testing专项测试能力。
经调查统计,在Top100应用中,每个应用平均包含200+个页面,800+条业务路径。当下应用开发的版本迭代快,上线周期短,留给测试环节的时间往往被压缩,测试团队想在短时间内完成稳定性测试,将面临很大的挑战。如果要高质量的执行应用稳定性测试,意味着测试工作要覆盖到应用的每一个页面、每一个业务场景、甚至每一条遍历路径,这个过程中工作量无法衡量。
面对这种情况,常见的做法是引入Monkey技术,通过无目的的随机点击,触发一些异常场景,尝试发现应用中的稳定性相关的Bug。但这种方法缺点也很明显,很多测试时长都浪费在了无意义的操作上,面对特殊场景比如弹窗、登录页面等,效率很低甚至无法覆盖。
三、DevEco Testing-有智慧的探索测试
此前,DevEco Testing提供的稳定性测试服务,相较于普通的Monkey工具,遍历算法&策略更加高效智能,不仅减少了无效遍历操作及循环处理时间,还能同时处理弹框、锁屏等20+特殊场景,遍历效率得到大幅提升。但面对应用特有的业务场景(如购物类应用,立即购买-确认支付),仍无法实现全量覆盖。
这一次DevEco Testing稳定性测试方案再升级,有智慧的探索测试正式发布。在基于专家经验的智能AI加持下,探索测试实现了场景感知、语义分析。
在以下测试实例中,我们可以看到,DevEco Testing通过对应用界面上的控件在进行实时的语义分析,推断出每个控件代表的具体含义(分类、订单、添加、支付),结合对场景的智能感知,识别出当前正在对购物场景进行测试,据此生成对应的测试意图,如浏览商品、购物车结算等,驱动测试高效执行。
探索测试执行
此外,还通过应用测试数据建模,借助智能AI对场景识别及遍历动作持续训练,完善应用特征图谱,使得业务模型、节点特征等越来越丰富。
四、遍历效率显著提升
在DevEco Testing一个测试验证的实例中,探索测试首次遍历页面15+个,遍历路径25+条;当前第10轮测试时,已经可以覆盖54个页面,63条路径。随着测试数据的积累,智能AI持续自主地进行路径探索和学习,推动应用搜索测试引擎实现越测越聪明、越测越高效。(注:数据来源于DevEco Testing实验室统计数据)
遍历效率提升
五、增强版的故障识别
同时,探索测试提供了增强版的故障识别能力。除了支持识别系统预级别的故障(如crash、JS error、App freeze等等)还支持用户根据业务特征自定义故障,如文本故障、图片故障,可应用在多类应用测试场景中。对于识别到的故障,DevEco Testing提供了概要信息及定位日志,帮助开发者进一步分析定位。
自定义故障类型
六、应用质量透视分析
与过往故障分析不同,探索测试提供了更高阶的分析能力。故障数据以热力图形式展现,可快速识别高频故障路径;支持缺陷密度对比,可针对性优化故障节点,重点投入故障频发的模块;提供故障-路径-报告关联能力,可大幅提升问题定位效率;支持故障分类汇总,帮助研发人员构建应用的专属故障特征库。从时间维度回放,可对应用的质量作更进一步透视分析,整体趋势一目了然!
故障透视分析
七、结束语
除了稳定性测试外,DevEco Testing还提供了应用拨测、性能测试、安全测试、应用标准测试等其他应用专项测试能力,为开发自测试-集成测试-上架测试提供了一站式测试服务,帮助应用团队轻松应对应用测试全场景,助力打造HarmonyOS高品质应用。更多应用测试解决方案即将上线,敬请期待!
玩转HarmonyOS专项测试,轻松上架“五星”高品质应用的更多相关文章
- HDC2021技术分论坛:如何高效完成HarmonyOS分布式应用测试?
作者:liuxun,HarmonyOS测试架构师 HarmonyOS是新一代的智能终端操作系统,给开发者提供了设备发现.设备连接.跨设备调用等丰富的分布式API.随着越来越多的开发者投入到Harmon ...
- 【转】微信小程序专项测试
微信小程序专项测试 by 云层 原文地址: http://mp.weixin.qq.com/s?__biz=MzA4NDIzNTIzNA==&mid=2654370226&idx=1& ...
- app专项测试自动化测试方法思路与实现
秉着个人意愿打算把python+rf接口自动进行彻底结束再做些其它方面的输出~但事与愿违,但领导目前注重先把专项测试方面完成,借此,先暂停python+rf(主要是与Jenkins集成+导入DB+微信 ...
- 移动App专项测试
移动App测试实战—专项测试 转自:http://www.51testing.com/html/58/n-3713758.html 我们在进行了手工的功能测试之后,也开发了一些自动化测试用例,并且做了 ...
- app测试之专项测试
专项测试包含很多东西,安装.升级.卸载.性能.安全.网络.随机等等,这些都属于专项测试 一个app的正常到用户手里使用,功能是最基础的测试,专项测试测试主要的. 下面介绍一些常用的专项测试: 1.多任 ...
- 移动App测试实战—专项测试
我们在进行了手工的功能测试之后,也开发了一些自动化测试用例,并且做了性能测试之后,测试工作看似比较完整了.但是当我们的App在大量的用户那里被安装和使用的时候,还是会有很多我们之前没有预料的问题 ...
- Bugtags 让你的 APP 测试轻松、上线安心
Bug 管理系统再进化 Bugtags 的创业团队,在过去几年,做了很多方向的尝试——没错,是开发了很多 APP. 每一轮迭代,都会被繁琐的 APP 测试困扰:无休止的截屏上传电脑,无数次的开发与测试 ...
- app专项测试
本节为大家讲述app的专项测试——客户端性能测试.这个我也做了蛮久的了.在这里修改了一下本篇随笔. 首先我们了解一下什么是客户端的性能测试.性能测试相比大家都已经耳熟能详了,这个app的客户端性能测试 ...
- 推荐支付宝 Android 专项测试工具SoloPi
推荐支付宝 Android 专项测试工具SoloPi 1 介绍 SoloPi是一个无线化.非侵入式的Android自动化工具,公测版拥有录制回放.性能测试.一机多控三项主要功能,能为测试开发人员节省宝 ...
- APP手工测试01-app专项测试要点-测试、开发环境-敏捷开发
APP专项测试要点 兼容性测试 安装,卸载,升级 交叉事件 PUSH消息推送测试 性能测试 其他类型 兼容性测试 手机型号 系统版本 安卓 (版本4.4开始兼容) IOS(版本9.x开始兼容) 屏幕尺 ...
随机推荐
- 【Azure 事件中心】Azure Event Hub中的数据能不能存储大于7天呢?如果7天之后是不是会自动删除呢?
问题描述 Event Hub中有个retention的设置为7天,有没有办法增大这个Retention的时间? 如果没办法,是不是超过7天的数据就会被删除? 问题解答 因为Azure Event Hu ...
- 【Azure 应用服务】在Azure上部署一套VUE框架的单页面应用,有什么可以参考的文档呢?
问题描述 在Azure上部署一套VUE框架的单页面应用,有什么可以参考的文档呢? 问题回答 Azure官方上并没有VUE框架的实例代码,但是可以参考Node JS项目,来进行设置. 在 Azure 中 ...
- Java 数组嵌套
1 public static void main(String[] args) 2 { 3 int[] arr = new int[] {8,6,3,1,9,5,4,7}; 4 int[] inde ...
- Git 常用的基础命令
#克隆项目到本地.url:项目的git地址:local_dir_name:克隆项目到本地的目录名称,如果不写就默认是git项目中的目录名称 git clone <url> <loca ...
- CSAPP:lab7 shell
实验网站 课程网站:CSAPP 源码下载 源码下载 实验文档下载 我的实验环境:Ubuntu 20.04 lab7文档解读 查看 tsh.c (tiny shell) 文件,您会看到它包含一个简单 ...
- Spring多线程事务处理
一.背景 本文主要介绍了spring多线程事务的解决方案,心急的可以跳过上面的理论介绍分析部分直接看最终解决方案. 在我们日常的业务活动中,经常会出现大规模的修改插入操作,比如在3.0的活动赛事创建, ...
- C++学习笔记之指针引用
目录 指针 指针定义 左值与右值 指针数组与数组指针 const与指针 指针的指针 NULL指针 内存泄漏(Memory Leak)问题 智能指针 引用 指针 指针定义 指针定义的基本形式:指针本身就 ...
- k8s安全之Network Policy
K8s Network Policy 是一种资源,它用于在 Pod 之间以及从其他网络实体到 Pod 的通信中进行网络级别的访问控制.它允许您定义一组规则,这些规则可以指定允许或拒绝网络流量. 具体来 ...
- esp8266 I2C 实例解析及源码分析
一 前言 作为一个方案商兼芯片开发者,研究芯片和功能实现除了基本的工作需要,还有一层就是也变成了一种职业习惯.从芯片到方案,发现很多方案公司的人水平都比较堪忧,只会调用api,根本不会看底层的代码实 ...
- 逆向通达信Level-2 续五 (调试窗口层次结构)
演示 hierarchy, checkCWnd命令. 窗口层次结构向上追溯寻根.自动识别是否为CWnd对象,并且自动搜索对象指针. 窗口层次结构内容包括: 1.窗口类名 2.窗口实现所在模块 3.窗口 ...