你的UI自动化追得上业务的变更和UI更迭吗?当今瞬息万变的时代,成千上万的App围绕着现代人生活的点点滴滴。为了满足用户的好的体验和时刻的新鲜感,这些App需要时刻保持变化,也给 UI自动化落地实施带来了挑战。

1、自动化测试技术演进

为了应对这些挑战,自动化测试技术也在不断更新迭代。从技术发展的角度来看,自动化测试经历了四代。
第一代:传统的“录制-回放”技术。这种技术模拟PC操作,记录键盘和鼠标的操作,对环境的依赖性太强,只要新版本的用户界面或功能发生改变,以前录制的信息就不能用了,维护成本太高。
第二代:脚本化的自动化测试。利用脚本进行结构化的自动化测试。测试脚本可以通过工具自动生成,也可以由测试开发人员手动开发完成。当软件功能发生变动时,测试脚本也需要同步更新。
第三代:测试框架。主要是把测试脚本抽象化、模块化,包括数据驱动与关键字驱动,测试人员可以直接使用测试开发人员封装好的业务模块。编写出的自动化脚本也具有一定的泛化性。项目的维护主要体现在业务模块封装或关键字抽象等方面。
第四代:AI自动化测试。在传统的自动化测试技术基础上,引入AI技术,主要想解决自动化测试中的高通用性、低使用门槛及低维护成本等自动化测试的难题。
目前,AI自动化测试仍处在初期阶段,技术与方法的应用在不断地走向成熟。网易易测SmartAuto智能UI自动化测试平台或可代表当前AI自动化测试最前沿的实践应用。

2、UI自动化核心痛点

网易集团的业务领域极为丰富,App应用数以百计。而网易易测由网易杭州研究院孵化,作为网易测试领域基石,在打造全维度质量效能体系,助力业务腾飞方面,默默耕耘了10年,可谓经历了自动化测试技术演进的整个历程。针对UI自动化,网易易测总结了4个方面的痛点:
准入门槛高:传统UI自动化框架需要编程基础,并且对测试框架有一定掌握,对测试人员技术能力要求较高。
脚本维护困难:团队内测试人员技术能力参差不齐,可能存在编码风格不统一,代码不规范等多种问题,导致多人协作维护难度大。
脚本兼容性不足:传统编写方式如ID与Xpath受框架、布局与机型等因素影响较大,测试脚本往往需要进行针对性编写,导致兼容性不足,牵一发而动全身。
专业机房搭建难度高:机房搭建专业性较高,如机柜设计、网络架设、设备自动化运维等,这些均对技术人员提出较高的要求。

3、SmartAuto-智能UI自动化

面对这4大痛点,易测基于网易多年来积累的测试实践经验,输出了基于人工智能的UI自动化测试工具SmartAuto,并围绕它提供完整的移动应用测试服务解决方案,拥有从部署移动设备机房到全面测试移动应用的功能及性能的完整能力。
SmartAuto的核心能力是通过机器学习及图像识别技术实现智能控件识别,通过自然语言的脚本编写方式有效降低了编写测试脚本的成本;而易测提供的移动测试平台结合SmartAuto工具与机房能力,提供了整套基于人工智能的移动测试解决方案,并提供了不同规模的机房服务体系的专属云解决方案,针对各种测试场景提供稳定的基础设施以及丰富的专有云能力。SmartAuto与机房服务完美结合,打造多维度的云真机测试链路,覆盖移动应用测试的全生命周期,同时提供性能专项采集等扩展性服务,助力交付高可用应用的同时,有效保障了应用的性能及稳定性。其主要核心特性如下:

3.1 SmartAuto核心特性

智能易用
UI 智能自动化工具 SmartAuto,具有业界首创的具有自主学习能力的控件识别技术,能够精准定位并识别UI元素,支持动态内容识别、相对元素定位等高鲁棒性的定位识别手段。基于SmartAuto框架,测试工程师零代码编写自然语言的自动化脚本,大幅度提高了脚本可读性,同时降低了自动化测试的门槛,极大地节省了人力和时间成本。
高效稳定
易测平台提供的专有云机房服务体系,适用于公有云、私有云等不同的应用场景,具有无需部署开箱即用、定制化开发集成、高可用轻运维等特点。机房服务与SmartAuto高度集成,可以高效利用机器池,支持多设备智能并发测试。除对主流的自动化框架进行支持外,专有云服务还会提供真机调试、设备管理以及各种企业级定制能力,为平台提供高效稳定的移动端测试能力保驾护航。
全链路覆盖
易测平台不仅能够提供兼顾功能测试和兼容性测试的核心服务,还提供了包括报告服务、性能专项采集等在内的基础服务和扩展服务。可以覆盖“编写脚本-云端提测-查看报告-远程调试”的移动端应用全链路测试流程,适用于各种复杂的测试场景。提供的测试报告包括应用维度的缺陷汇总、详尽的性能数据以及联动式的测试信息展现。基于ADB或 SDK的性能工具可以精准获取移动应用多维度的性能参数,深层次的定位各种性能及稳定性问题。

3.2 SmartAuto核心价值

  • 上手 0 门槛,iOS/Android 设备均实现即插即用,随写随调
  • 自然语言测试用例可读性高,编写成本低,同时支持宏语法,便于公共操作抽象,进一步提高用例可维护性
  • 用例执行高鲁棒性,前端结构变化无需更改用例适配
  • 执行集创建简单,支持智能并发、分组依赖管理,更高效更灵活
网易易测在网易云音乐、网易严选、网易支付等多个应用收到了显著的效果,功能回归测试效率提升90%,UI自动化线上巡检收益召回率达到85%。
回到开始的那个问题:“你的UI自动化追得上业务的变更和UI更迭吗?”,网易易测给出的答案是:YES。
网易易测团队基于网易10年质量效能经验积累,为企业提供测试管理、UI自动化测试、接口自动化测试、性能压测等整体解决方案,助力企业建立健全质量效能体系,欢迎试用体验
 
 

【解决方案】智能UI自动化测试的更多相关文章

  1. 腾讯优测优分享 | 游戏的UI自动化测试可以这样开展

    腾讯优测是专业的自动化测试平台,提供自动化测试-全面兼容性测试,云真机-远程真机租用,漏洞分析等多维度的测试服务,让测试更简单! 对于目前的两大游戏引擎cocos-2dx.unity3D,其UI自动化 ...

  2. 【转】Web UI自动化测试原理

    目前市面上有很多Web UI自动化测试框架,比如WatiN, Selinimu,WebDriver,还有VS2010中的Coded UI等等.  这些框架都可以操作Web中的控件,模拟用户输入,点击等 ...

  3. UI自动化测试(三)对页面中定位到的元素对象做相应操作

    前两天分别讲述了UI自动化测试基础以及对页面元素该如何进行定位,这一篇自然就是对定位到的页面元素对象进行相应操作啦. 阅读目录 1.常用操作元素对象的方法 2.鼠标事件操作 3.键盘事件操作 4.We ...

  4. <自动化测试方案_8>第八章、手机端UI自动化测试

    第八章.手机端UI自动化测试 (一)APP测试分类 1,原生APP:Native页面是使用原生系统内核的,相当于直接在系统上操作 2,H5APP:先调用系统的浏览器内核,相当于是在网页中进行操作,较原 ...

  5. 网易与Google合作发布开源UI自动化测试方案 牛逼:Google 方面评价,这可能是目前世界上最好的 Android 游戏自动化测试方案。

    美西时间 3 月 19 日,在 GDC 开幕第一天的 Google 开发者专场,Google 发布了一款由网易研发的 UI 自动化测试方案:Airtest Project.Google 方面评价,这可 ...

  6. Robot Framework使用Phantomjs进行无界面UI自动化测试

    Robot Framework 是一款关键字驱动的验收自动化测试框架,现在在国内使用的越来越广泛了.一种通用的Web UI自动化测试解决方案是Robot Framework+Selenium2Libr ...

  7. 网易与Google合作,于GDC开幕首日发布开源UI自动化测试方案

    [TechWeb报道]美西时间3月19日,在GDC开幕第一天的Google开发者专场,Google发布了一款由网易研发的UI自动化测试方案:Airtest Project. Google方面评价,这可 ...

  8. 从一次故障聊聊前端 UI 自动化测试

    背景 事件的起因在于老板最近的两次"故障",一次去年的,一次最近.共同原因都是脚手架在发布平台发布打包时出错,导致线上应用白屏不可用. 最神奇的是,事后多次 Code Review ...

  9. 使用WatiN进行UI自动化测试

    Watin是一个UI自动化测试工具,支持ie/firefox,官方网站:http://watin.org/. 主要有以下特点: 支持主要的html元素,见:http://watin.org/docum ...

  10. 如何正确选择UI自动化测试

    近年流行一个词-UI,和UI搭边好像都那么高大上,软件测试行业也不例外,比如UI自动化测试. 常见的UI自动化测试程序有哪些呢? l  带UI的Unit Test,比如mock掉底层代码,仅仅测试UI ...

随机推荐

  1. C# 程序集、模块和类型概念及关系

    目录 C# 程序集.模块和类型概念及关系 概述 程序集 模块 类型 程序集.模块和类型的关系 总结 引用 C# 程序集.模块和类型概念及关系 概述 在 C# 中,程序集.模块和类型是构成 .NET 应 ...

  2. 【C#】做一个winform版本的软考成绩查询软件

    返回的json SWCJ代表 上午的成绩 XWCJ代表下午的成绩.   主要步骤: 1. 获取验证码图片 2. 获取cookie 3. 发送验证验证码请求 4 发送成绩查询请求,并获取返回的json ...

  3. StackExchange.Redis跑起来,为什么这么溜?

    StackExchange.Redis 是一个高性能的 Redis 客户端库,主要用于 .NET 环境下与 Redis 服务器进行通信,大名鼎鼎的stackoverflow 网站就使用它.它使用异步编 ...

  4. Android OpenMAX(三)高通OMX组件实现基础

    上一节了解了OMX组件实现的基础内容,这一节我们以高通OMX实现为例,简单看看如何实现一个OMX组件.本节代码参考自: omx_core_cmp.cpp qc_omx_component.h omx_ ...

  5. kettle从入门到精通 第六十二课 ETL之kettle job中发送邮件(带多个附件),闭坑指南

    1.今天群里一个朋友加我微信遇到问下向我求助.一顿测试下来发现原来是使用kettle姿势不对,对kettle没有完全驾驭导致的,今天和大家一起分享下这个问题. 2.先自我膨胀下,自从写kettle系列 ...

  6. linux系统下,redis如何设置密码

    1.命令方式 首先查看下密码是否存在,发现并未设置为空. -bash-4.2# cd /usr/local/redis-6.2.6/src -bash-4.2# ./redis-cli 127.0.0 ...

  7. 《Android开发卷——自定义日期选择器(三)》

                 继 <Android开发卷--自定义日期选择器(一)>:http://blog.csdn.net/chillax_li/article/details/19047 ...

  8. MySQL GROUP BY 用法介绍

    MySQL 中 GROUP BY 用法 简介 GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组. 可以把 分组理解成 Excel 中的分组. 把 合计函数理解成 Excel 中 ...

  9. 关于Collection和Map的笔记

    此二者在日常编程中,用得太频繁,所以多少有必要记录下,便于需要的时候翻翻. 但鉴于它们的后代太多,逐一牢记有有点难度,所以学习上应该把握以下几点即可: 含义 重要区别 常用的实现类和工具 关注要点:有 ...

  10. Java面试知识点(六)hashmap深度理解

    1.hashmap 的数据结构 要知道 hashmap 是什么,首先要搞清楚它的数据结构,在 java 编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用 ...