作者: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专项测试,轻松上架“五星”高品质应用的更多相关文章

  1. HDC2021技术分论坛:如何高效完成HarmonyOS分布式应用测试?

    作者:liuxun,HarmonyOS测试架构师 HarmonyOS是新一代的智能终端操作系统,给开发者提供了设备发现.设备连接.跨设备调用等丰富的分布式API.随着越来越多的开发者投入到Harmon ...

  2. 【转】微信小程序专项测试

    微信小程序专项测试 by 云层 原文地址: http://mp.weixin.qq.com/s?__biz=MzA4NDIzNTIzNA==&mid=2654370226&idx=1& ...

  3. app专项测试自动化测试方法思路与实现

    秉着个人意愿打算把python+rf接口自动进行彻底结束再做些其它方面的输出~但事与愿违,但领导目前注重先把专项测试方面完成,借此,先暂停python+rf(主要是与Jenkins集成+导入DB+微信 ...

  4. 移动App专项测试

    移动App测试实战—专项测试 转自:http://www.51testing.com/html/58/n-3713758.html 我们在进行了手工的功能测试之后,也开发了一些自动化测试用例,并且做了 ...

  5. app测试之专项测试

    专项测试包含很多东西,安装.升级.卸载.性能.安全.网络.随机等等,这些都属于专项测试 一个app的正常到用户手里使用,功能是最基础的测试,专项测试测试主要的. 下面介绍一些常用的专项测试: 1.多任 ...

  6. 移动App测试实战—专项测试

       我们在进行了手工的功能测试之后,也开发了一些自动化测试用例,并且做了性能测试之后,测试工作看似比较完整了.但是当我们的App在大量的用户那里被安装和使用的时候,还是会有很多我们之前没有预料的问题 ...

  7. Bugtags 让你的 APP 测试轻松、上线安心

    Bug 管理系统再进化 Bugtags 的创业团队,在过去几年,做了很多方向的尝试——没错,是开发了很多 APP. 每一轮迭代,都会被繁琐的 APP 测试困扰:无休止的截屏上传电脑,无数次的开发与测试 ...

  8. app专项测试

    本节为大家讲述app的专项测试——客户端性能测试.这个我也做了蛮久的了.在这里修改了一下本篇随笔. 首先我们了解一下什么是客户端的性能测试.性能测试相比大家都已经耳熟能详了,这个app的客户端性能测试 ...

  9. 推荐支付宝 Android 专项测试工具SoloPi

    推荐支付宝 Android 专项测试工具SoloPi 1 介绍 SoloPi是一个无线化.非侵入式的Android自动化工具,公测版拥有录制回放.性能测试.一机多控三项主要功能,能为测试开发人员节省宝 ...

  10. APP手工测试01-app专项测试要点-测试、开发环境-敏捷开发

    APP专项测试要点 兼容性测试 安装,卸载,升级 交叉事件 PUSH消息推送测试 性能测试 其他类型 兼容性测试 手机型号 系统版本 安卓 (版本4.4开始兼容) IOS(版本9.x开始兼容) 屏幕尺 ...

随机推荐

  1. 【Azure 事件中心】Azure Event Hub中的数据能不能存储大于7天呢?如果7天之后是不是会自动删除呢?

    问题描述 Event Hub中有个retention的设置为7天,有没有办法增大这个Retention的时间? 如果没办法,是不是超过7天的数据就会被删除? 问题解答 因为Azure Event Hu ...

  2. 【Azure 应用服务】在Azure上部署一套VUE框架的单页面应用,有什么可以参考的文档呢?

    问题描述 在Azure上部署一套VUE框架的单页面应用,有什么可以参考的文档呢? 问题回答 Azure官方上并没有VUE框架的实例代码,但是可以参考Node JS项目,来进行设置. 在 Azure 中 ...

  3. 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 ...

  4. Git 常用的基础命令

    #克隆项目到本地.url:项目的git地址:local_dir_name:克隆项目到本地的目录名称,如果不写就默认是git项目中的目录名称 git clone <url> <loca ...

  5. CSAPP:lab7 shell

    实验网站 课程网站:CSAPP 源码下载 源码下载 实验文档下载 我的实验环境:Ubuntu 20.04 lab7文档解读 ​ 查看 tsh.c (tiny shell) 文件,您会看到它包含一个简单 ...

  6. Spring多线程事务处理

    一.背景 本文主要介绍了spring多线程事务的解决方案,心急的可以跳过上面的理论介绍分析部分直接看最终解决方案. 在我们日常的业务活动中,经常会出现大规模的修改插入操作,比如在3.0的活动赛事创建, ...

  7. C++学习笔记之指针引用

    目录 指针 指针定义 左值与右值 指针数组与数组指针 const与指针 指针的指针 NULL指针 内存泄漏(Memory Leak)问题 智能指针 引用 指针 指针定义 指针定义的基本形式:指针本身就 ...

  8. k8s安全之Network Policy

    K8s Network Policy 是一种资源,它用于在 Pod 之间以及从其他网络实体到 Pod 的通信中进行网络级别的访问控制.它允许您定义一组规则,这些规则可以指定允许或拒绝网络流量. 具体来 ...

  9. esp8266 I2C 实例解析及源码分析

    一  前言 作为一个方案商兼芯片开发者,研究芯片和功能实现除了基本的工作需要,还有一层就是也变成了一种职业习惯.从芯片到方案,发现很多方案公司的人水平都比较堪忧,只会调用api,根本不会看底层的代码实 ...

  10. 逆向通达信Level-2 续五 (调试窗口层次结构)

    演示 hierarchy, checkCWnd命令. 窗口层次结构向上追溯寻根.自动识别是否为CWnd对象,并且自动搜索对象指针. 窗口层次结构内容包括: 1.窗口类名 2.窗口实现所在模块 3.窗口 ...