腾讯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

相关文章

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

【iOS】MVC模式

MVC模式 MVC模式MVC模式demo MVC模式 MVC模式全称为model(模型)view(视图)controller(控制器),他分为三个不同的层分别负责不同的职责。 View:该层用于存放视图,该层中我们可以对页面及控件进行布局。Model:模型一般都拥有很好的可复用性,在该层中,我们可以统一管理一些数据。Controlller:该层充当一个CPU的功能,即该应用程序

Prometheus与Grafana在DevOps中的应用与最佳实践

Prometheus 与 Grafana 在 DevOps 中的应用与最佳实践 随着 DevOps 文化和实践的普及,监控和可视化工具已成为 DevOps 工具链中不可或缺的部分。Prometheus 和 Grafana 是其中最受欢迎的开源监控解决方案之一,它们的结合能够为系统和应用程序提供全面的监控、告警和可视化展示。本篇文章将详细探讨 Prometheus 和 Grafana 在 DevO

springboot整合swagger2之最佳实践

来源:https://blog.lqdev.cn/2018/07/21/springboot/chapter-ten/ Swagger是一款RESTful接口的文档在线自动生成、功能测试功能框架。 一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务,加上swagger-ui,可以有很好的呈现。 SpringBoot集成 pom <!--swagge