《HowGoogleTestsSoftware》读书笔记 - 草稿

        公司图书馆新进了一些书,冲着对GOOGLE测试的好奇,我挑选了《How Google Tests Software》这本书,本书主要讲述的是这些年GOOGLE测试变革的心路历程以及一些变革中的实例。看的过程中,结合在华为的工作经历,感触良多。GOOGLE作为全球互联网业界的老大,对比作为传统行业翘楚的华为,很多工作方式都是互通和重合的,但由于行业的不同,很多做法也是有所区别。

质量不等于测试

        第一章让我感触最深的一节是:质量不等于测试。GOOGLE目前是没有独立的测试团队,GOOGLE在 2011年左右决定解散测试团队,全面融合到研发团队中,开发人员需要同时拥有和测试的技能;仅仅保留少量的非常专业的测试顾问,负责超大型项目的测试设计,或者是研发团队测试能力建设工具。他们这种做法的主要思路就是做大组织的解耦,按照业务模块即最终的业务目标和结果划分成足够小的业务单元,让业务单元自运作起来。只有这样才能充分激活组织活力,保证组织高效。跟美国的要州权,不要大政府是一个道理。

      在华为,代码质量的第一道测试是在开发团队。华为是非常注重单元测试,在这个阶段,开发每开发一个模块时,会设计对应的单元测试用例代码,编写MOCK对象代码,做LLT(low level testing)。当耦合模块完成后,几个开发人员会针对耦合点合作设计用例,有时候项目的对应TE也会参与用例设计,配合开发人员完成耦合测试。开发人员参与的测试阶段一般都是在功能编码期。并且在功能编码完过程中,部门每天都有每日构建,本地环境编译不了的代码是根本不敢上库的,因为每天的四点,CI会针对库内最新代码进行编译构建(如果发现编译不过,上错代码的人将会受到项目经理的警告,年度绩效会受影响),然后将该版本发送到自动化测试环境进行测试,一般一个流程是8小时左右,第二天上班的时候,上过代码的人会主动查看自动化测试情况,查看前一天上传代码是否有影响现有的测试用例;如果有问题,立刻定位,定位后会在本地进行编译和用例测试,保证问题解决。这个是开发参与测试的每日活动。

测试角色

        GOOGLE没有专属的测试团队,因此参与到这个项目的所有人都要承担相应的测试任务,GOOGLE公司把涉及到测试活动的人分成四种角色:,SWE,SET 、TE、TEM。SWE是单纯的功能开发开发人员,他们的工作是实现用户所使用的功能代码,他们主要测试职责是编写测试代码,包括测试驱动的设计、单元测试、参与构建各种大小规模的测试等,属于整个项目测试的前锋军。SET是软件测试开发工程师,也是一个开发角色,但是其工作重心在可测试性和通用测试基础框架上,主要职责是编写测试工具,自动化测试用例,接口测试代码以及配合TE做一些“破坏性”的测试代码等工作,其实他和SWE的工作职责是想溶合的。测试工程师(TE )是一个和SET关系密切的角色,有自己不同的关注点,把用户放在第一位来思考,代表用户的利益,其主要职责是大型测试的设计者和执行者,同时他也会参与到代码检视和代码分析修改中,和SWE最大的不同是TE是在研发后期才介入到项目,而SWE是贯穿整个研发周期。TEM是测试工程经理,他将分别致力于支持用户的TE和编写测试代码的测试开发工程师、功能开发工程师联系起来,作为独立贡献者的一个技术岗位,负责所有的支持团队(开发、产品管理、产品发布、文档等)之间的联络。

        华为参与测试分布和职责和GOOGLE是大同小异的,但是区别于不同行业,华为有一个比较重要的角色 TSE(测试系统架构师),他们会根据市场的需求以及各通信峰会得到的信息和需求,对需求进行分析分解,并建立对应的项目算法模型,找相关的研发人员进行算法实现和可测性分析,在这个阶段已经基本上测试了方案的可实现性,到了TR3(详细设计阶段),他会针对这个项目的主体流程对TE进行串讲,再由TE们反串讲,然后再引导TE们和开发人员对接,对首版自动化用例编写用例,由SWE们编写自动化测试代码。这样随着TR3阶段的完成,自动化测试代码已经基本成型,手工测试人员也能完成高质量的测试用例,保证系统的完成性和稳定性。最重要的,当时的一个项目团队是一体的,开发和测试结果是向同一个产品经理(这个产品经理一般都在研发和测试工作过,并且在市场呆过,了解客户痛点)汇报的,这样也能保证对等性。这一点,GOOGLE的整体流程也是基本相识,也许只有做到对同一个人负责,才能更好达到目标上的统一。

版本的设置

        GOOGLE的研发模式是标准的敏捷开发模式,GOOGLE对于他们版本的形象定义:爬、走、跑。Google最初的版本只包括最基本的使用功能,然后不断收集用户反馈迭代升级的方式提高产品质量,并且在每次迭代的过程中都非常注重质量。一个产品在发布给用户使用之前,一般都要经历金丝雀版本(最基本的,用来筛掉明显不适宜功能的版本)、开发版本(开发人员日常使用的版本)、测试版本(通过了持续测试的版本,可用作内部尝鲜)和beta或发布版本(对外发布的第一个版本),利用这种模式,保证应用程序能尽早得从内部用户那里得到关于这些版本的质量反馈,这样就为GOOGLE的软件系统上线提供良好的测试验证机会。

        华为受限于行业模式,虽然这几年也在大力的推广敏捷开发和敏捷测试,但是其实也是在螺旋开发模型下的各个迭代版本中实行敏捷开发。虽然不是那么正宗,但是也为华为快速实现功能,占领市场立下了汗马功劳,并且不断尝试新的版本继承模式,记得在2012年时我所在的产品组建开始尝试one track模式,两个产品版本同时进行,新的功能在老的版本中更好地兼容,新的版本不用再对老功能进行冗余开发,既能保证产品能快速推广到市场,也能保证后续老的版本更好的升级。缩短了开发时长,也保证各个版本的可持续发展和平滑升级。

        阅读还在继续,感触也是不由而发,读英文原版书确实很让人奔溃,但是也是一种对自己的挑战。但是可以通过书获取业界最in的行业知识,技术知识,也是很快乐的一件事情,希望图书馆能有更多这么好的书籍,也希望大家能抽出时间去阅读这些大家的作品。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容

  • 2016年12月28日 星期三 天气晴 心情晴转多云转暴雨又转阴 也不知从什么时候起,每周回家吃饭的次数越...
    与子共木阅读 373评论 0 0
  • 单纯、阳光,在我面前总是冒着满满的傻气,从来不反驳我,任我欺负,所以我们相处随意不拘束。 但我只想保护好我们之间不...
    王哲枫7阅读 154评论 0 0
  • 最近迷上了画肖像,每天早上都会画几幅肖像。 上班的时候,早上很早起来,画几幅肖像好像让自己过了个瘾一样。 高压锅煮...
    红袖飞扬阅读 1,012评论 0 3
  • 一潭死水、总是容易因为细小砂石的介入,而泛起长长的涟漪。但最终还是会归于平静,仿佛什么事情也没有发生过………… ...
    暮雪孤舟阅读 219评论 0 0
  • 他没回你消息你心里想的是他可能在忙或者手机不小心摔坏了;他不愿意把你带回家里吃饭你心里想的是他父母可能不同意他谈恋...
    拯救地球的洛阅读 357评论 0 2