导语:

随着移动应用发布周期越来越紧凑、安卓品牌机型/屏幕/系统版本等碎片化日益严重,移动测试工程师的工作量日益剧增。自动化测试or手工测试?这个前些年争执不休的话题,近年来随着云测试平台的崛起似乎已有了答案——自动化测试取代部分手工测试已是一种必然趋势。

这并不是说机器将取代人,而是人需要把资源集中在更“高端”的任务上,譬如测试方法设计、如何编写/录制脚本以提升自动化测试的效率和准确度等。

对于中小型研发团队来说,考虑自动化测试,就必须得考虑ROI(投入产出比),自研自动化测试框架并不现实。然而市面上安卓自动化测试框架种类繁多,该如何选择,如何应用呢?

课程课程

app自动化测试框架应用门槛并不低,这也造成许多人对其颇感兴趣但又望而却步。
本视频课程将作为“经验贴”,与各位分享腾讯优测自研自动化测试框架实践与经验总结。

课程大纲:
1. app自动化测试概要介绍
2. 安卓主流自动化测试框架对比与分析
3. 腾讯优测自研自动化测试框架实践分享

讲师介绍:

Leohu(胡泊),腾讯优测自动化测试方案专家。2011年加入腾讯,2012年以来一直从事自动化测试平台搭建研究工作,实践经验丰富,为优测核心架构做出重大贡献。

点此观看【腾讯优测自研自动化测试框架经验分享】

问答部分:

问: 新手该如何入门安卓自动化测试?
答: 了解安卓的基本原理是什么样的,一些基本的adb命令,了解Android主流的一些测试框架,看看那些适合你现在的测试需求,但其实自动化测试只是一种手段,最终还是要结合自己的业务,在非常熟悉业务的同时,分析哪些是可以自动化的,哪些弄成自动化可以大大节省人力投入,哪些是目前不适用于自动化的,然后有针对性的开展测试,测试完毕后还需要整理数据进行对比,看看真实的ROI是什么样子的,逐渐改善方案,快速跟进提升效果。

问: 面对多种自动化测试框架,该如何选择?
答: Android的自动化测试框架有很多,主要还是看你的测试目的是什么样的,然后选择合适的框架开展测试,现在业界比较流行的是Appium框架,支持定位控件,支持web类应用,支持跨平台,支持多种语言编写脚本,基本上可以满足一般性的测试需求,但录制效率偏低,且大批量真机测试不是很稳定,XTest(腾讯优测推出的私有自动化测试工具)支持快速录制回放,并保证脚本的准确性,并能在大部分真机上执行测试,大家可以尝试一下。

问: 不同厂商机型测试有什么不同吗?
答: 各个厂商主要是针对自己的ROM会做一些定制化,例如权限弹窗,悬浮窗控制,电源管理策略,通知栏消息管理,静默安装等…

问: 腾讯优测自研自动化测试框架是否支持性能测试?
答: 支持性能测试,目前可以获取到cpu、各种内存、上下行流量、安装时间、启动时间、电池温度、fps、sm。

问: 腾讯优测自研自动化测试框架可以监控到native、h5组件吗?没有sd卡怎么办?
答: 支持native、h5、hybrid类应用的控件获取;需要配置一块sd卡,现在的手机一般都会内置一块自己的存储区域。

问: 游戏测试传统工具由于引擎渲染问题无法捕捉控件,腾讯优测自研自动化测试框架是如何解决的?
答: 目前主流的游戏测试引擎也就是cocos2d-x和Unity3d,这块的策略是从游戏引擎下手,通过用制定的引擎sdk打包或者将游戏包重新打包进特殊的sdk的方案,从引擎中获取当前场景内的显示元素信息,返回给测试框架实现控件的捕捉,还有一种方式就是用图形去处理,先找一个标示图,然后其他设备和这个图机型对比实现类似控件的捕获,但设备铺开后的速度,成功率都得不到可靠的保证。游戏有很多特殊性,比如变化比较快,逻辑随机等,导致你获取到控件后也很难测试,维护成本很高。

问: 加固过的包,可以做自动化测试吗?
答: 4.x的设备是支持任何加固包测试的,但5.x以上的版本加固会有一些限制,目前发现有些加固策略会导致测试失败,这块最好还是用非加固的包进行测试。

问: root和非root手机执行时有什么不同?
答: 目前4.x的手机用的是root方案,root的优势是能获取到更高的权限,这样我们就可以做更多的事情,但5.x以上的手机,本身设备root率不是很高且不稳定,并且虚拟机模式基本都切换成ART,在ART模式下的Hook支持的都不是很给力,所以我们5.x以上的设备我们采用的是重打包的方案,可以理解为注入和入住的区别。

问: 一般的应用没有点击屏幕的权限, 这个问题该如何解决?
答: 脚本回放的时候用被测应用的Instrumentation发送相应的事件处理就OK了,系统权限等弹窗可以用UI Automator去进行识别处理。

腾讯自动化测试实践分享

【视频分享】腾讯高级测试工程师黄闻欣:你从来没有想过的新Monkey测试]
SNG研发部研发的NewMonkey不仅可以做稳定性测试,还做到编译触发,自动安装最新版本,获取版本号,发现问题后,Crash去重提单,真正做到了一站式服务。

第3代Android性能测试系统(Hook System API)
腾讯Android QQ浏览器以极速著称。其研发的性能测试系统(Hook System API),不仅支持测试网页加载速度,还支持浏览器启动,点开菜单等各种用户操作场景,提供响应时间性能数据。

应用宝基于Robotium自动化测试
腾讯应用宝项目组采用FT模式,整个项目组分为多个FT,几乎每天都有多新特性合入主干,项目节奏快、变更频繁,又希望做到快速、持续交付。测试团队是如何利用Robotium支持这种研发模式下的高强度测试呢?

---------------
打开月刊原文,阅览更多内容。http://utest.qq.com/monthly/01.html
---------------
腾讯优测是专业的移动云测试平台,为应用、游戏、H5混合应用的研发团队提供产品质量检测与问题解决服务。不仅在线上平台提供自动化兼容性测试、云手机远程租用与调试、漏洞分析、自动化测试工具XTest等多种质量检测工具,更为VIP客户配备了专家团队提供定制化综合测试解决方案。

【腾讯优测月刊】安卓主流自动化测试框架详解与实践相关推荐

  1. WebDriver自动化测试框架详解

    webDriver自动化测试框架详解 一. 简介 WebDriver API相对于Selenium Remote Control API来说,虽然同样是控制浏览器,但它的编程接口更加简洁 WebDri ...

  2. 阿里P8架构师谈:主流RPC框架详解,以及与SOA、SOAP、REST的区别

    什么是RPC RPC(Remote Procedure Call Protocol)--远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议. 简言之,RPC使 ...

  3. 自动化测试框架详解【2022】

    测试技术的发展 互联网发展风起云涌的几十年,背后是计算机技术的更新迭代,软件开发经历了c.php.java.python.go等语言百家争鸣,在软件测试领域同样是长江后浪推前浪,白盒.自动化.持续集成 ...

  4. (原创)Python 自动化测试框架详解

    自己折腾了一个python的自动化测试框架,梳理了一下流程,简单分享一下. 项目背景 B/S架构,进行用户界面的自动化测试 工具选择 python开发的自动化测试框架,足够灵活,可以随时根据需求进行变 ...

  5. selenium-python自动化测试框架详解

    自动化测试框架 项目自动化测试框架设计为4层 1.基础层(通用层) 基础层: 将通用,重复性比较高的代码封装到这里. 写通用的代码的. 其他3层想要的话,就可以直接调用. 例如: 读取测试数据的代码, ...

  6. uft怎么做app自动化测试_UFT/QTP自动化测试框架详解

    前言 很多从事测试的朋友都会接触到自动化测试或要求有自动化测试的技能,自动化测试已成为测试行业发展的趋势.自动化测试的工具有很多且各有所长,UFT(QTP)是最流行的测试工具之一,因此很多公司在招聘时 ...

  7. TestNG自动化测试框架详解

    TestNG 文章目录 TestNG 一.概述与使用 1.1 配置环境 1.2 测试方法 1.3 使用xml文件 二.测试方法常用注解 2.1 配置类注解 2.2 非配置类注解 2.2.1 @Para ...

  8. pytest自动化测试框架详解+mark标记+fixture夹具

    介绍 pytest是python的一种单元测试框架,同自带unittest框架类似,功能,效率更强大 特点: 1. 非常容易上手,入门简单,丰富的文档 2. 支持参数化 3. 执行测试用例的过程中,跳 ...

  9. python+selenium自动化测试框架详解,我就讲一遍

    目录 前言 1.测试框架分层设计 2.测试框架目录结构 3.编写用例方法 4.测试结果展示 前言 本文整理归纳以往的工作中用到的东西,现汇总成基础测试框架提供分享. 框架采用python3 + sel ...

最新文章

  1. JetsonXavier/Tx2性能测试比对
  2. SDUT-2144 图结构练习——最小生成树
  3. javascript --- 实战中体会jsonp
  4. 今日头条人群洞察报告
  5. 指针的意义和linux的内存回收艺术
  6. Kaggle酒推荐,winemag-data-130k-v2.csv
  7. 第五章 二叉树(a)树
  8. 无法修改计算机时间权限,Win10无法修改时间怎么办?Win10修改系统时间没有权限的解决方法...
  9. 企业微信集成外部APP
  10. CSDN文章如何设置【分级标题】和【目录】
  11. 24V转5V降压芯片,24V转3.3V的稳压芯片,中文规格书
  12. Python编程:判断字符串中是否包含中文
  13. 节奏大师显示服务器,节奏大师上线首日登录困难 服务器拖累腾讯游戏
  14. 自动驾驶技术(5)视觉与激光雷达对比
  15. 发现一个国外的学习网站
  16. linux操作mysql数据库
  17. javaScript的console
  18. 【萌新向】c语言求解八数字(华容道)问题
  19. Day32 Web自动化进阶
  20. 算法概述——四大算法总结

热门文章

  1. 凯利讯半导体讲解金属膜电阻与碳膜电阻能不能互换?
  2. 信息处理工具计算机.ppt,《现代信息处理工具》PPT课件.ppt
  3. Unity打印FPS
  4. r语言 python 股票_R语言使用LASSO回归预测股票收益
  5. 建筑工程量计算机构,建筑工程量计算公式大全
  6. 对于低学历的朋友,做什么行业前景好最赚钱,并且收入还高?
  7. 工业通讯 | KEBA 控制器通过 NT50 连接西门子 PLC
  8. 【摄像头模块】基于STM32与口罩识别功能调试问题总结
  9. wed语言翻译HTML及使用规范,Web前端开发规范
  10. Java方法重写(Overriding)和方法重载(Overloading)