导语:
随着移动应用发布周期越来越紧凑、安卓品牌机型/屏幕/系统版本等碎片化日益严重,移动测试工程师的工作量日益剧增。自动化测试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客户配备了专家团队提供定制化综合测试解决方案。
相关推荐
腾讯作为国内互联网巨头,其在Android自动化测试方面有着丰富的经验和实践,这本书“腾讯Android自动化测试实战电子书”正是对此领域的深度探讨。 首先,我们来了解一下Android自动化测试的基本概念。自动化测试是...
《612931 腾讯Android自动化测试实战》是腾讯公司推出的关于Android自动化测试的专业教程,旨在帮助开发者和测试工程师掌握Android应用的自动化测试技术。这本高清版的教程带有详细的目录,便于读者按照章节进行系统...
【Android自动化测试】是针对Android应用进行的一种利用自动化工具代替或辅助手动测试的过程,旨在提高测试效率、降低人力成本和人为错误。自动化测试分为两大类:自动化性能测试和自动化功能测试。性能测试主要关注...
4. 移动应用质量现状分析,包括优测网的自动化测试结果,显示了移动应用在安装、启动、崩溃率、兼容性等方面存在的问题。这些数据反映了测试工作的重要性,以及持续改进产品质量的必要性。 5. 移动应用在实际使用中...
本文档由腾讯 IVWEB 团队的何林江分享,探讨了如何进行Web自动化测试的工程化实践。文档涵盖了正确认识自动化测试、单元测试、端对端测试等方面,旨在帮助开发者理解并掌握自动化测试的关键概念和实践方法。 1. **...
《Python-PocketFlow:腾讯开源的模型压缩自动化AutoMC框架详解》 在当前的AI领域,深度学习模型的复杂性和计算资源的需求日益增加,这使得模型压缩与加速成为了一个重要的研究方向。Python-PocketFlow正是腾讯开源...
使用腾讯优测Xtest工具为APP自动化测试,可模拟多种复杂用户操作,不用编写代码,全程通过手机录制,边操作边录制,而且能制作专业的脚本,十分方便。
总之,腾讯DevOps自动化运维平台“织云”的技术实践,是对传统运维管理模式的一次重大革新,它通过一系列自动化、标准化和智能化的手段,将DevOps理念落到实处,实现了对大规模计算资源的有效管理和优化。...
lowen 基于monkeyrunner的android应用的自动化测试,并输出测试结果到html的框架 仿腾讯utest测试框架 代码有待完善,欢迎有兴趣的朋友一起讨论(目前报表里面使用echarts部分没有写数据处理逻辑,框架已搭好) ...
虽然现在作为专项测试,离开这些越来越远了,但总能遥想以前,我总能想起自己做nokia的WindowsLive的ui自动化,做web的自动化测试,后面加入腾讯,写过pc的自动化,作为早期的终端测试,做android的自动化,然后mac...
【腾讯自动化运维平台设计与实践】 在IT行业中,DevOps是一种强调开发与运维协作的文化、实践和工具集合,旨在缩短开发周期,提高软件质量,并增强组织的敏捷性。本资料《杨文兵-从0到1腾讯自动化运维平台的设计与...
在数字化时代的今天,产品设计与用户体验成为了企业竞争力的关键因素。这份由腾讯公司创始人马化腾分享的PPT文档,深入探讨了如何通过优秀的产品设计和卓越的用户体验来提升产品的市场表现和用户满意度。 1. **产品...
这个压缩包文件“史上最强安卓抓包_逆向_HOOK & 云手机_远程桌面_自动化辅助框架,你的工作从未如此简单快捷.zip”包含了多个关键的IT技术领域,主要集中在安卓应用的逆向工程、网络抓包、云手机、远程桌面控制以及...
随着自动化测试技术的进步,腾讯正在积极尝试更多样化的自动化测试方法,例如基于AI的测试、智能回归测试等,以提高测试的覆盖率和准确性。 **4.4 可量化的度量体系建设** 最后,腾讯强调了建立可量化度量体系的...
《从0到1腾讯自动化运维平台的设计与实践》是一份深度探讨腾讯自动化运维体系构建的资料,由杨文兵分享。这份PDF文档详尽地阐述了如何从无到有建立起一个高效、可靠的自动化运维平台,涵盖了腾讯在运维自动化领域的...
- 对于手机运行的情况,辅助工具可能依赖于已root的设备,使用了类似于Appium或MonkeyRunner这样的自动化测试框架,来模拟用户输入,控制游戏中的滑动和点击动作。 5. PC运行实现: - 在PC上运行辅助,可能使用了...
三、织云的自动化实践 梁定安的实践分享中,会详细讲解如何利用织云实现自动化运维,包括: 1. 自动化构建:通过配置工作流,实现代码提交后自动触发构建过程。 2. 自动化测试:集成各种测试框架,确保代码质量。 3....
APT是一个Android平台高效性能测试组件,提供丰富实用的功能,适用于开发自测、定位性能瓶颈;测试人员完成性能基准测试、竞品对比测试 用法:APT是Eclipse的插件,放到plugins或者dropins,重启即可
其敏捷框架TAPD(Tencent Agile Product Development)是针对互联网行业特性的定制化实践,旨在实现高效、灵活的产品开发。以下是腾讯敏捷开发的核心要点: 1. **关注用户行为**:腾讯强调以用户为中心,通过不断...