腾讯TMQ团队10年巨献-iOS测试实践

2023-11-20 20:50

本文主要是介绍腾讯TMQ团队10年巨献-iOS测试实践,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

导读

开始敲这篇“软”文,我觉得颈肩都好硬,转转头抖抖肩,许多事情如开闸水般涌入脑海,整个人顿时放松了下来。也烦请读者朋友耐心读下来,看一看这千千万万测试人的一些共鸣!

我们是谁

2012年,我入职腾讯无线研发部质管中心(TMQ的前身),负责QQ浏览器iPad项目测试。当时本书作者丁如敏是浏览器测试组负责人,本书另一作者张锦铭(早我一年入职),还有另一位同事张佳也做iPad浏览器测试(一年后转入其它项目,所以没有参与本书编写,但是要感谢这位同事在iOS平台贡献的测试经验)。这几人组建了最开始的iOS测试团队班底。丁如敏先生带领着我们三个毕业生从零开始,学习国内外相关资料,不断在实践中尝试和改进,对iOS的性能、功能、自动化测试都有一定程度的经验积累。

2014年我们项目发生了变动,从iPad平台切换为iPhone平台,同样还是浏览器的项目。同样的操作系统平台,我们就这样将iPad上的测试经验、工具和方法移植到iPhone上。

2015年我们iOS测试团队迎来了第一次扩张,本书作者程春林和纪文静相继加入,程春林是从一名纯粹的开发转为测试开发,这给我们的测试团队带来了极强的开发基因,为iOS平台的自动化测试框架开发奠定了重要基础。纪文静的是一名活泼开发的90后美女硕士,为我们的测试团队注入了新鲜血液,两年多以来在版本测试管理方面十分有心得。2016年初本书的另一位作者叶方正加入,专项测试出身的他给我们团队带来了更丰富的iOS专业领域知识,进一步完善了整个iOS测试团队的测试基因。至此本书的作者已经集齐,我们的测试团队也在iOS平台深耕细作了五年之久,各方面的测试积累也达到了一个相对成熟的状态。

我们想干什么

按理说企业里做工程师就踏踏实实的做测试或者开发工作就好了,写书做什么?我们的初心特别简单,做了这么多年的iOS测试,坑踩了不少,干货也不少,希望能够总结沉淀下来。往情怀方面说,市面上关于Android的开发和测试书千千万,放眼iOS平台的却寥寥无几,这么好用的手机平台,应该有个与之匹配的专业测试书。往大了说,独乐乐不如众乐乐,好东西好经验要分享出去才能价值最大化,共享经济时代,知识更应该共享。

开始的时候,我们是想写个内部总结,真的,绝对没有考虑过出书。我们这群单调的工程师认为出书的这种事是业界的大牛干的,我们这些只会写代码和脚本的普通码农,讲不出什么很有感染力的道理和高大上的设计概念。在公司内部因为我们团队做iOS测试时间比较长,积累经验相对较多,很多想了解iOS测试的同学会邀请我们去分享,每次分享都感觉意犹未尽,一两个小时是道不尽的,于是我们就考虑把这几年的经验梳理一下,用文字的形式展现,文字的传播效率最高,减少沟通成本的同时给大家最好的知识传播。

那就开始写,写着写着发现内容有点多,貌似不是几篇文章就能写完了,我们就想干脆写个电子书得了,范围也不限于公司内了,让更多的人能够接触到。这样问题就来了,我们的定位原来是为了给初次接触iOS平台的同学阅读的,如果写成电子书,就要再扩大一下范围,增加一些业界时鲜的方法和工具使用介绍,给想进阶的同学以参考,这样书的架构就更大了,我们要进行分类和串联。

大约从2015年7月份启动初稿收集,持续收集到12月底。先集体拉到会议室讨论要写哪些主题,一番PK后定下来了十几个主题,大家分头领任务开始撰写。每周都开会同步当前写作进度,从2015年8月份开始审稿一直持续到2015年12月份。曹雪芹曾经批阅十载,增删数次而成红楼梦,我们几个写个电子书,也时常推倒重来,写好的主题文章讨论下觉得价值不大就被拆分重组或者干脆删除;或者写的不够全,现查现学现实践现补充;写的不严谨的都打回去确认后重新提交评审。

还好到2016年初的时候我们的初稿已经完成了,电子稿已经好了,只是尚未对外发布。上半年偶尔有几篇文章发到品质中心的公众号TMQ上,这些文章引发了大量的阅读量和转载。这时候部门和中心的领导就鼓励我们要不要考虑出本纸质书,此时的我们感觉距离纸质书的质量要求还有很大的差距犹豫不决。时间进入2016年年中,iOS10发布,Xcode8带来了新的测试工具和实现方式,之前电子稿的很多内容需要更新和补充,在这个契机之下,丁如敏先生建议我们联系出版社,计划出一本纸质书。在同事盛娟(感谢)的介绍下联系了机械工业出版社的杨福川和孙海亮两位编辑老师,表达了我们想出版这样一本书的意愿,两位编辑老师十分热情的帮我分析出版行情、申请书号和写稿事宜,顺利签署了出版社合同。就这样在2016年下半年我们正式开启了纸质书的撰稿过程。

与时俱进和严谨务实

纸质书的出版比电子书更加严格,所有的内容都要求科学、严谨、原创、时新。我们开始新一轮的迭代。这次出现多稿的重构,因为业界工具和技术的更新,比如iOS性能测试、iOS自动化测试入门、iOS测试框架二次开发这几章都经历了完全delete后重新书写的磨砺。走进iOS测试这一章也做了大规模更新,关于证书、灰度的概念都更新到最新的情况。兼容性测试这一章,关于机型系统的相关内容和案例也进行了更新。关于这部分的内容主要大纲如下图所示,分为基础测试、进阶测试、高级测试三部分,各自有对应的章节内容。可以供入门学习、通用技能学习、高级探讨的读者使用。

做了大量iOS特色测试的章节内容后,我们觉得这本书还缺点灵魂性的东西。是的,这是一本给测试人看的书,如果全书都只是说iOS平台怎么测试,那最多能成为一本实用的操作手册,价值并不大。因此丁如敏先生结合当前测试行业的热点和趋势,为读者朋友特别奉送了一章测试观,用他十年多的测试经验,深入解读了科学测试的理念。

测试=工程效率+品质管理。

就像下面的车轮一样,工程效率是项目能够顺利运转的驱动力,品质管理作为前车轮是项目质量的方向引导,怎样行驶好这辆车依赖于我们测试人员以及全体项目组成员对工程效率和品质管理的理解和实践程度。

我们还针对业界流行的探索式测试、缺陷分析等技术和分析方式进行了全面的解读。也用实际案例和代码为读者展示这些流行趋势在腾讯的实践,语言平实无浮夸,客观公正的评估每种实践给我们带来的利弊。这几章的内容关系如下图所示,标准化测试是升级版的探索式测试,这两者的过程产出可以通过缺陷分析来进行结果引导,反向促进探索式测试良好进行,形成闭环。当然具体内容还是书里介绍的更详细。

书的最后还展望了一下测试人员的未来,希望大家能够切实感受到“光荣在于平淡,艰巨在于漫长”这句话背后的坚持。

我们作者六人,用了长达两年的时间为读者朋友书写此书,以工程师低调务实的态度,不求火热大卖,只求能为有需要的同行们送去你们的所需。我们热忱的欢迎读者朋友能够与我们联系反馈,欢迎来邮件2698884730@qq.com,或者留言均可。

如果你对本书感兴趣,欢迎采购阅读,不吝赐教。我们也将在8月14日-18日登陆CSDN对本书进行专家问答,届时欢迎大家参与。

购书链接:https://item.jd.com/12216946.html

购书二维码:

这篇关于腾讯TMQ团队10年巨献-iOS测试实践的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/397356

相关文章

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

springboot集成Deepseek4j的项目实践

《springboot集成Deepseek4j的项目实践》本文主要介绍了springboot集成Deepseek4j的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录Deepseek4j快速开始Maven 依js赖基础配置基础使用示例1. 流式返回示例2. 进阶

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

Spring Boot中定时任务Cron表达式的终极指南最佳实践记录

《SpringBoot中定时任务Cron表达式的终极指南最佳实践记录》本文详细介绍了SpringBoot中定时任务的实现方法,特别是Cron表达式的使用技巧和高级用法,从基础语法到复杂场景,从快速启... 目录一、Cron表达式基础1.1 Cron表达式结构1.2 核心语法规则二、Spring Boot中定

Ubuntu中Nginx虚拟主机设置的项目实践

《Ubuntu中Nginx虚拟主机设置的项目实践》通过配置虚拟主机,可以在同一台服务器上运行多个独立的网站,本文主要介绍了Ubuntu中Nginx虚拟主机设置的项目实践,具有一定的参考价值,感兴趣的可... 目录简介安装 Nginx创建虚拟主机1. 创建网站目录2. 创建默认索引文件3. 配置 Nginx4

Nginx实现高并发的项目实践

《Nginx实现高并发的项目实践》本文主要介绍了Nginx实现高并发的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录使用最新稳定版本的Nginx合理配置工作进程(workers)配置工作进程连接数(worker_co

Spring Retry 实现乐观锁重试实践记录

《SpringRetry实现乐观锁重试实践记录》本文介绍了在秒杀商品SKU表中使用乐观锁和MybatisPlus配置乐观锁的方法,并分析了测试环境和生产环境的隔离级别对乐观锁的影响,通过简单验证,... 目录一、场景分析 二、简单验证 2.1、可重复读 2.2、读已提交 三、最佳实践 3.1、配置重试模板

mac安装nvm(node.js)多版本管理实践步骤

《mac安装nvm(node.js)多版本管理实践步骤》:本文主要介绍mac安装nvm(node.js)多版本管理的相关资料,NVM是一个用于管理多个Node.js版本的命令行工具,它允许开发者在... 目录NVM功能简介MAC安装实践一、下载nvm二、安装nvm三、安装node.js总结NVM功能简介N