玩转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开始兼容) 屏幕尺 ...
随机推荐
- 开源:Taurus.Idempotent 分布式幂等性锁框架,支持 .Net 和 .Net Core 双系列版本
分布式幂等性锁介绍: 分布式幂等性框架的作用是确保在分布式系统中的操作具有幂等性,即无论操作被重复执行多少次,最终的结果都是一致的.幂等性是指对同一操作的多次执行所产生的效果与仅执行一次的效果相同. ...
- 6、mysql的SQL优化
1. 大批量插入数据 1) 主键顺序插入 因为InnoDB类型的表是按照主键的顺序保存的,所以将导入的数据按照主键的顺序排列,可以有效的提高导入数据的效率.如果InnoDB表没有主键,那么系统会自动默 ...
- Codeforces Round 924 (Div. 2)B. Equalize(思维+双指针)
目录 题面 链接 题意 题解 代码 题面 链接 B. Equalize 题意 给一个数组\(a\),然后让你给这个数组加上一个排列,求出现最多的次数 题解 赛时没过不应该. 最开始很容易想到要去重,因 ...
- Spring事务(五)-事务隔离级别
Spring @Transactional注解isolation属性 @Transactional注解通过isolation属性设置事务隔离级别.如下: @Transactional(isolatio ...
- 摆脱鼠标操作 vscode-vim-use-readme.md
vscode-vim 学习笔记 梳理下自己定义的快捷键 Normal模式返回 ESC capsLock 双击shift ctrl+[ jj ctrl+c (这个键比较特殊 用习惯y的话,考虑这个) 一 ...
- 线上机器 swap 过高导致告警
哈喽大家好,我是咸鱼. 今天收到了一个告警,说有台服务器上的 swap 过高,已经用了 50% 以上了. 登录机器查看一下内存以及 swap 的使用情况. [root@localhost ~]# fr ...
- 一次对requirements环境的配置
事情是这样的,我需要跑通一个代码,因此要配置环境,但是并不能利用requirements中给的指令直接配置,于是开始找一些其他的解决方法.作为一名小白,总是绕很多弯路. 记下一些蜿蜒. 首先,摘录re ...
- 一张图搞清楚wait、sleep、join、yield四者区别,面试官直接被征服!
写在开头 在线程的生命周期中,不同状态之间切换时,可以通过调用sleep().wait().join().yield()等方法进行线程状态控制,针对这一部分知识点,面试官们也会做做文章,比如问你这些方 ...
- Client请求外部接口标准处理方式
简单记录下client外部请求代码的我认为比较标准的书写格式 public List<GdtDailyBalanceReportAO> getGdtDailyReportList2(Lon ...
- Activity、Window、View三者关系
目录介绍 01.Window,View,子Window 02.什么是Activity 03.什么是Window 04.什么是DecorView 05.什么是View 06.关系结构图 07.Windo ...