一点不夸张,我们公司现在最缺的不是程序员,而是资深测试。

QTA是什么

QTA是一个跨平台的测试自动化工具,适用于后台、原生或混合型客户端应用的测试。在腾讯内部,QTA是腾讯元老级的自动化测试项目,从研发至今已走过8个年头, 工具的能力也从一开始仅支持Windows端的UI自动化测试,现在扩展到Android、iOS、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团队提出改进建议,一同建设更加好用的自动化测试工具!

测试学会这个之后工资翻三番不是梦------QTA UI自动化测试框架相关推荐

  1. 测试开发 - 十年磨一剑(五)UI自动化测试框架与分层结构

    一.UI自动化测试框架 Selenium是自动化工具,工具,工具!面试的时候不想再听到谁说用的测试框架是Selenium. 构成框架的组件,最起码应该具备以下的功能,才能够称为一个完整的自动化测试框架 ...

  2. 测试人生 | 疫情之下工资翻了2倍多,这4个月学习比工作8年学到的还多

    本文为霍格沃兹测试开发学社优秀学员跳槽笔记,测试开发进阶学习文末加群. 本人毕业后懵懂的加入了软件测试这个行业,前 3 年是在做外包项目,后来跳槽到甲方干了 5 年,在去年突然发现我已经干了 8 年功 ...

  3. 为什么测试人员比开发工资高这么多?

    说实话,还是第一次听说测试人员比开发工资高的,可能你这里说的测试专指火箭测试工程师吧,废话少说,咱们还是以数据说话.先普及2个概念,软件测试与软件开发. 先看看软件测试,它的主要职责是对软件产品的整个 ...

  4. python自动化测试工资_测试人员怎么提升工资?目前自学Python以及自动化测试,英语也在提升。...

    如何从功能测试转型为自动化测试工程师 并且能够独立搭建Python自动化测试框架,大家的问题一般都是不知道如何下手 通过我下面的自动化测试学习路线,相信你可以将所学融入到你的公司项目中去! 第一部分: ...

  5. 凭什么测试/开发程序员工资那么高?

    目录:导读 前言 一.Python编程入门到精通 二.接口自动化项目实战 三.Web自动化项目实战 四.App自动化项目实战 五.一线大厂简历 六.测试开发DevOps体系 七.常用自动化测试工具 八 ...

  6. pytest测试框架_带你深入理解自动化测试框架Pytest的配置文件!

    都有哪些种类的配置文件 pytest.ini:pytest的主配置文件,可以改变pytest的默认行为 conftest.py:是本地插件库,其中的hook函数和fixture将作用于该文件所在的目录 ...

  7. 软件自动测试框架,软件自动化测试框架的研究和实现

    摘要: 软件自动化测试是软件工程领域的一项重要课题.随着软件工程理论的不断发展,软件自动化测试在理论上也不断达到新的高度.目前最为成熟的软件自动化测试技术是使用自动测试框架来指导自动化测试的实现.迄今 ...

  8. java自动化测试报告_Java自动化测试框架-10 - TestNG之测试结果篇(详细教程)

    1.-测试结果 1.1-成功,失败和断言 测试被认为是成功的,如果它不引发任何异常完成,还是它扔的预期异常(请参阅文档expectedExceptions属性上找到的@Test注释). 您的测试方法通 ...

  9. u3d 模版测试 失败_基于Python的HTTP接口自动化测试框架实现

    一.测试需求描述 对服务后台一系列的http接口功能测试. 输入:根据接口描述构造不同的参数输入值 输出:XML文件 二.实现方法 1.选用Python脚本来驱动测试 2.采用Excel表格管理测试数 ...

最新文章

  1. Java 配置C3P0数据连接池存入数据存入数据库出现中文乱码问题
  2. 解决intellij IEDA mapper.xml文件警告以及could not autowire的错误提示
  3. Entropy Broker 2.0 发布,加密安全随机数
  4. Ubuntu 下 Python自由切换
  5. Oracle10g在linux下安装详解
  6. POJ2279-Mr. Young's Picture Permutations【线性dp】
  7. 小程序 长按api_高质量的微信小程序样式模板应该长什么样?
  8. js返回上级页面的方法(亲测)
  9. 转载js实现打印功能
  10. python打包成exe fail to ex_使用python写的PDF转EXCEL工具,已打包exe
  11. stm32 IAP 程序编写心得
  12. Flex应用的易用性设计过程
  13. 1072: 青蛙爬井
  14. MQTT服务器Mosquitto的使用及配置过程中的一些问题和解决方法
  15. DVWA 不跳转_终于开通!小红书图文、直播可跳转淘宝链接!
  16. vue2与vue3的区别
  17. Halcon图像读取的方式
  18. web安全与字体——刘尧博士讲座--PDF安全
  19. 用“XML解析开发包Jaxp”对XML文件进行Dom方式的CRUD操作
  20. Mybatis配置文件——全配置解析

热门文章

  1. sed找到指定字符并进行替换或者删除
  2. GDB调试工具使用总结
  3. 将.ai文件矢量图转化为.xml文件并在Android项目中使用
  4. 计算机辅助设计绘图佛,建筑CAD中级证指导资料
  5. LILO-Linux引导程序
  6. 网页播放器代码大全 超经典版
  7. 导出Google身份校验器otp密钥迁移到web
  8. python列表元素为中文_python入门基础教程之Python list列表修改元素
  9. 教学中利用计算机软件,【计算机应用论文】计算机应用软件教学方法(共2300字)...
  10. 雅思在线模拟测试软件,雅思在线模拟测试:语法测试题