前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >整装待发 QTA UI自动化测试框架迎来大更新

整装待发 QTA UI自动化测试框架迎来大更新

作者头像
腾讯开源
发布于 2018-11-22 05:23:27
发布于 2018-11-22 05:23:27
4.4K0
举报

QTA是什么

QTA是一个跨平台的测试自动化工具,适用于后台、原生或混合型客户端应用的测试。在腾讯内部,QTA是腾讯元老级的自动化测试项目,从研发至今已走过8个年头, 工具的能力也从一开始仅支持Windows端的UI自动化测试,现在扩展到AndroidiOS、Web、后台、云服务的测试自动化。QTA也是腾讯内部使用最为广泛的自动化测试框架,包括PCQQ、手机QQ、空间、音乐、腾讯云等产品测试的自动化,目前都是使用QTA的方案。

在腾讯开源的历史中,QTA的“辈分”也很高,于2016年开源的QTA,是腾讯最早期的开源项目之一,目前存放于三个Github仓库下:

  • QTAF(QTA Framework): https://github.com/Tencent/QTAF (点击文末阅读原文直接访问)
  • QT4A(Quick Test for Android): https://github.com/Tencent/QT4a
  • QT4i(Quick Test for iOS): https://github.com/Tencent/QT4i

QTAF (QTA Framework)是QTA的基础框架,包括testbase和tuia模块,QT4A和QT4i分别是面向Android和iOS的UI测试自动化测试解决方案。

QTA的优势

UI自动化的ROI问题这一业界共识的难题——除了可测性,UI测试自动化工具本身设计和使用本身也十分有挑战,许多同行因为这些问题,放弃了或抵触使用UI自动化测试。

QTA团队在腾讯内部积累了丰富的实践经验,在众多明星业务团队的建设和运营下,形成了可持续执行的自动化测试流程,包括QQ、QQ空间、音视频SDK、Now直播、企鹅电竞、腾讯视频、腾讯云等产品项目。

对于目前已经开源的QT4A(Android自动化测试),目前在腾讯内部已经落地建设1.7w+的自动化脚本。平均每天执行自动化用例2.9w+个,测试任务数700+个。为服务测试执行的需要,QTA团队已经维护了500+的执行节点,并构建了750+个Android虚拟机的集群。对于QT4i(是iOS自动化测试这块),目前已经累计用例数6k+,每周执行任务总数600+,平均每天执行3k+个测试用例。

其中,以应用深入的手机QQ产品为例:

AndroidQQ系统测试用例数有1000+,每天通过率基本稳定在90%以上,同时每天CI自动触发BVT测试,产品无功能bug情况下,通过率基本为100%。除此之外,还有其他上线前验证测试,Android QQ会员项目每天执行任务约为270个,大部分任务都在10min内执行完成。

(QT4A的演示Demo)

iOS QQ功能测试用例数有200+,每天日常执行用例数600+,其中,每天CI自动触发BVT测试,在产品无bug的情况下,通过率保证在95%以上。iOS QQ会员项目全部用例数300+,每天日常执行用例数500+,大部分任务都在30min内执行完成,平均每个任务需要约10个执行机节点的支持。

(QT4i修改设备名称demo)

QTA在腾讯内部广泛应用,也积累了不少经验和成果,QTA团队也希望这次开源的更新,能向业界分享自动化测试的方法论和实践经验;以这次开源为基础,和业界同行一起分享和共同建设一个能在工程上真正落地使用的UI自动化测试工具

重大版本更新

作为第一批开源的项目,在很长的一段时间内,QTA团队由于职能定位的原因,对开源项目的参与力度不够。这次,腾讯公司组织架构调整,QTA团队成为新成立云与智慧产业事业群(CSIG)的一份子,后续QTA会以腾讯云为基础,助力产业互联网的客户,为QTA开源带来新的活力。

为此,QTA于进行了一次重大的开源版本更新,将内部已经在持续使用的新特性同步开源,包括:

  • QTAF新增资源管理模块、测试计划功能,让QTA框架能更方便的和其他测试执行系统集成;
  • QT4A支持了非root的版本,支持Android6以上的系统,支持64位App;
  • QT4A优化了截屏效率,同时新增屏幕录制的功能;
  • QT4i优化模拟器Agent启动方式,以及支持最新的iOS12和XCode10;
  • QT4A和QT4i支持pip安装,简化安装部署;
  • QT4A和QT4i完善了使用和设计文档。

后续的计划

在QTA的UI自动化测试的体系中,目前还有QT4W、QT4C和QT4Mac正在筹备开源,三者分别输送了Web、Windows和Mac端的UI自动化测试能力。特别是QT4W——Web自动化测试的能力,同时提供QT4i和QT4A的自动化测试中支持Web能力的基础,将很快与开发者面见面。针对社区反馈的最多的声音——Python 3的兼容性改进,QTA团队也正在积极开发中。

长期来看,QTA团队正在研究AI和算法的方式来增强自动化的能力和降低自动化维护的成本,提升工具自我迭代的能力,希望逐步优化后开源。

另外还有一个可以关注的是,QTA正在和腾讯云Tencent Hub(开发文件储存和DevOps工作流编排服务)团队的合作中,将QTA的能力整合在Tencent Hub中,目前已经在联调验证阶段,QTA的社区用户,很快可以在腾讯云上体验QTA测试自动化的服务了。

此外,针对开源研发流程,QTA团队也于近期做了一次梳理。新的研发模式,让社区版的QTA和腾讯内部的QTA版本在代码管理上清晰、流畅,这有助于让内部的新特性能够更快地同步到开源社区的代码库中,来自开源社区贡献者的代码也能够顺利合入。在开源社区的维护上,伴随着腾讯业务团队上云节奏的加快,QTA开发和维护团队在不断壮大,他们将一同为外部开源用户提供支持。欢迎大家通过Github Issue和QQ群向QTA团队提出改进建议,一同建设更加好用的自动化测试工具!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-11-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯开源 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
QT4C-Windows自动化测试框架正式开源
QT4C是什么 QTA作为腾讯内部元老级的自动化测试项目,之前已经先后对QTAF、QT4A、QT4i、QT4W进行了开源。在QTA正式对外开源提供了Android端、iOS端以及Web端的自动化测试能力后,外界对于Windows端自动化测试框架的呼声越来越高。   QT4C(Quick Test for Client)作为基于QTA提供的面向Win32应用的UI测试自动化测试框架,此次开源弥补了QTA自动化测试项目在Windows端能力的不足。QT4C使用Python开发,实现了Windows端的U
腾讯开源
2020/03/09
3.2K0
【开源公告】多平台Web自动化测试框架QT4W开源
QT4W (Quick Test for Web)是使用Python开发的Web自动化框架,是QTA(QTA是一套集成面向多端多平台的自动化测试解决方案,包括QT4A,QT4A,QT4C等,其中QT4A及QT4I已经开源)自动化体系内实现支持Web自动化测试能力的支持库。QT4W和QT4A一起使用时,可以实现Android端的Web自动化,和QT4I一起使用时,可以进行IOS端Web自动化。 本框架采用分层设计,将整个Web自动化过程抽象出了三个层次:WebControl层,WebDriver层以及原生
腾讯开源
2019/06/21
1.4K0
【开源公告】多平台Web自动化测试框架QT4W开源
自动化测试框架
为了适应快速发展的行业生态系统的步伐,必须加快应用程序交付时间,而且必须不能以质量为代价。在更短的时间内达到质量的目的至关重要,因此质量保障倍受关注。为了满足对卓越质量和更快迭代的要求,越来越多的企业引入自动化,并将优先进行自动化测试。敏捷开发模型使其测试过程自动化变得越来越必要,但是最关键的方面是选择正确的测试自动化框架。
FunTester
2020/09/27
2.2K0
腾讯最热门30款开源项目
开源是个好东西,马化腾除了王者荣耀还是干了些好事情的。腾讯最近开源的一些比较热门的项目,可以学习了解下哈
Anymarvel
2018/10/22
4.5K0
腾讯最热门30款开源项目
浅谈自动化测试的价值和常见误区
如下图是大部分质量工程师都知道的分层测试体系,其中UI自动化所占的比例虽然看起来很小,但是其能发挥的价值还是很大的。
岛哥的质量效能笔记
2021/09/14
6040
浅谈自动化测试的价值和常见误区
狠狠地聊一下UI自动化测试
我发现了,大家极度关心自动化测试,尤其是UI自动化测试,虽然现在作为专项测试,离开这些越来越远了,但总能遥想以前,我总能想起自己做nokia的WindowsLive的ui自动化,做web的自动化测试,后面加入腾讯,写过pc的自动化,作为早期的终端测试,做android的自动化,然后mac的,然后ios。 先不说有多少成功经验,但是确实有一些感悟,现在分享给大家,希望能帮助大家思考,少走弯路。
顾翔
2019/12/11
8910
狠狠地聊一下UI自动化测试
APP的UI自动化测试框架及平台化探索,看完这篇就够了
顾铮,10年+测试及测试开发相关经验,2014年加入京东,曾主导设计开发UI测试框架,参与CI测试平台建设,现负责iOS侧的工具,框架建设。在UI自动化,性能测试,单元测试方面有较深入研究,在App,web端等有较丰富的测试开发和设计经验。
京东技术
2018/07/30
6.7K1
APP的UI自动化测试框架及平台化探索,看完这篇就够了
【腾讯 TMQ 】移动 APP 自动化测试框架对比
作者:赵丽娜 简介 移动 APP 的 UI 自动化测试长久以来一直是一个难点,难点在于UI的”变”, 变化导致自动化用例的大量维护。 从分层测试的角度,自动化测试应该逐层进行。 最大量实现自动化测试的
腾讯移动品质中心TMQ
2017/03/06
6.6K0
从理论到工具:带你全面了解自动化测试框架
软件行业正迈向自主、快速、高效的未来。为了跟上这个高速前进的生态系统的步伐,必须加快应用程序的交付时间,但不能以牺牲质量为代价。快速实现质量是必要的,因此质量保证得到了很多关注。为了满足卓越的质量和更快的上市时间的需求,自动化测试将被优先考虑。对于微型、小型和中型企业(SMEs)来说,自动化自身的测试过程是非常必要的,而最关键的方面是选择正确的自动化测试框架。
陈哥聊测试
2020/10/19
1.6K0
从理论到工具:带你全面了解自动化测试框架
腾讯开源的使用秘籍,你值得拥有
腾讯开源经历了5年的发展,越来越多的优秀项目成为开源项目,供广大开发者学习与使用。我们看到,腾讯的工程师们已经被开源的力量唤醒。微信团队开源了绝大部分微信的代码,包括UI界面,终端数据库,热更新、终端跨平台组件等。而QQ、腾讯互娱等团队也逐渐把代码开源共享。 下面,就让小编带你走进腾讯开源,一起来向腾讯的技术大神“取经”。 1找到Tencent组织 在IT圈有一个很有趣的名词叫“造轮子”,指的是同一个组织的人一起来开发一项技术。“造轮子”成为开源精神的一个重要体现。组织的构建,一方面是一批程序员共同
腾讯开源
2018/03/02
1.3K0
腾讯开源的使用秘籍,你值得拥有
解放程序猿(媛)的双手---iOS UI自动化测试
前言 随着移动互联网时代的蓬勃发展,移动终端的自动化测试也在业界日益活跃,总体来看在Android平台上的自动化工具和实践比较多,但是说到iOS平台无论从自动化工具的数量还是质量上就陡降了。究其原因,无外乎是iOS系统的封闭性,加上相对Android用户的数量少,导致对这个平台系统的自动化进展缓慢,据笔者了解到的情况,很多iOS平台的测试人员还处于纯手工测试模式,自动化程度和Android平台无法相论,更别提和PC端相比了。 然而越是困难的事,越是研究的少,就越发有挑战性。有挑战性的事大多又会带来不菲的收益
腾讯移动品质中心TMQ
2018/02/06
4.4K0
解放程序猿(媛)的双手---iOS UI自动化测试
Appium自动化测试框架探索与实践
在目前效率为王的互联网时代,移动应用自动化测试逐渐替代原始的手工功能测试,越来越成为测试界的时尚宠儿,小编在这里也为大家介绍下现有的客户端自动化测试框架:Appium、Airtest,并简单比较下两者的区别,同时重点介绍Appium自动化测试框架,大家跟随小编的脚步一起来探索客户端自动化测试框架吧~
用户5521279
2020/08/21
3K0
Appium自动化测试框架探索与实践
Android自动化测试框架QT4A搭建
PC电脑下载应用宝,将android手机与电脑连接,打开“开发者选项”,打开“USB调试”,确认可以识别到设备连接成功。
小白will
2019/06/17
2.5K0
Android自动化测试框架QT4A搭建
FAutoTest:一个免费的H5、小程序自动化测试框架
FAutoTest是腾讯开源UI自动化测试框架。目前已公开使用,业务涉及腾讯视频、QQ空间、腾讯彩票业务、充值业务、腾讯百科、医疗云等;
Altumn
2019/10/21
3.1K0
FAutoTest:一个免费的H5、小程序自动化测试框架
UI自动化测试|认识Appium
自动化包括一切通过工具的方式来代替或辅助手工测试的行为都可以看做自动化,包括性能测试工具或自己所写的一段程序。
测试邦
2019/07/24
8940
UI自动化测试|认识Appium
9款开源自动化测试框架!
自动化测试框架由一组最佳实践,通用工具和库组成,可帮助测试人员评估多个Web和移动应用的功能,安全性,可用性和可访问性。而在,软件开发世界中有很多的自动化测试框架,该如何选择?
测试开发技术
2021/12/13
3.5K0
9款开源自动化测试框架!
自动化测试框架如何选型?
在技术交流群看到这样一个问题:应用开发语言是go和C++,做自动化测试用什么语言比较合适?有必要也用go来实现自动化测试吗?又是一个在技术领域被讨论了很久的话题,即框架选型和哪个语言更好。
老_张
2024/05/24
720
自动化测试框架如何选型?
自动化测试框架的完整指南【译】
任何成功的自动化测试过程的关键组成部分都是测试自动化框架。降低维护成本,测试工作效率提升和提高质量保证团队的投资回报率ROI是优化敏捷流程时所提供的主要优势之一。
FunTester
2021/06/23
9390
2022 年全球十大最佳自动化测试工具
自动化测试是指运行软件程序后,自动执行测试用例并在没有任何人为干预的情况下产生测试结果。它比手动测试更优越的地方在于,很大程度上节省了人力和时间,并且在测试中没有或者少有错误。此外,还可以多次测试相同的应用程序,从而最大限度地减少冗余的手动工作。
wencheng
2022/04/18
2.3K0
2022 年全球十大最佳自动化测试工具
收藏!!BAT 程序员们常用的开发工具
Arthas 是阿里巴巴 2018 年 9 月开源的一款 Java 线上诊断工具。
昱良
2019/07/31
1.2K0
推荐阅读
相关推荐
QT4C-Windows自动化测试框架正式开源
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文