How Google Test Software

软件测试开发工程师

小组:Developer is tester

成员:吴家荣 景 涛 陈兆鹏 郭路文 梁华淇 何金岳

@John_sysu          吴家荣        github.com/wujr5

Part 1: Summary of content

五个章节

第一部分:简单介绍了Google软件测试的概念,角色,组织机构,流程以及测试类型

第二部分:分别介绍软件测试中涉及的角色以及他们的主要作用

第三部分:简要介绍Google的测试缺陷以及改进的方向

第一章:Google软件测试介绍

第二章:软件测试开发工程师(SET)

第三章:测试工程师(TE)

第四章:测试工程经理(TEM)

第五章:Google软件测试改进

Part 2: Educational value of material

三种角色

本书是以角色介绍为组织架构的

软件开发工程师(SWE

软件开发工程师是一个传统上的开发角色,他们的工作室实现最终用户所使用的功能代码

软件测试开发工程师(SET)

软件测试开发工程师,也是一个开发角色,只是工作重心在可测试性和通用测试基础框架上

测试工程师(TE)

测试工程师是一个和SET关系密切的角色,有自己不同的关注点——把用户放在第一位来思考,代表用户的利益。

测试工程经理(TEM)

测试工程师和测试开发工程师分别致力于支持用户和开发工程师。另外还有一种角色可以把这两者联系起来,那就是测试工程经理(TEM)。测试工程经理是作为独立贡献者的一个技术岗位,负责所有的支持团队(开发、产品管理、产品发布、文档等)之间的联络

跨角色与SET

软件测试开发工程师

Google的开发发布模式

爬、走、跑

Google从来不会再一次产品中发布大量的功能,实质上,在一个产品的基本核心功能实现之后,就立刻对外发布使用,然后从用户哪里得到真实反馈,再进行迭代开发。

四种版本

金丝雀版本:这是每日都要构建的版本,用来排除过滤一些明显不适宜的版本。

开发版本:这是开发人员日常使用的版本,一般是每周发布一个。

测试版本:这是一个通过了持续测试的版本。

Beta或发布版本:这个版本是由非常稳定的测试版本演变而来,经历了内部使用和通过所有质量考核的一个版本,也是对外发布的第一个版本。

软件开发工程师

功能开发

软件测试开发工程师在其中担任了什么任务呢?

为什么他们和软件开发工程师的地位是一样的?

为什么招聘SET比招聘SWE更难呢?

SET描述

SET首先是工程师的角色,他使得测试存活于先前讨论的所有Google开发过程之中。SET是软件测试开发工程师。最重要的一点,SET是软件工程师,正如我们招聘宣传海报和内部晋升体系中所说的那样,是一个100%的编码角色。

SET描述

测试是应用产品的另一种功能,而SET就是这个功能的负责人

SET描述

一句话概括SET就是,懂开发的测试工程师

 

SET开发的是测试产品,是与产品本身息息相关的测试相关的功能产品

项目的早期阶段

20%的工作

 

功能远比质量重要

项目的早期阶段

一个产品如果在概念上还没有完全确定成型时就去关心质量,这是优先级混乱的表现。许多来源于Google20%努力的产品原型,在其以后的dogfood或beta版本发布时,还有经历重新设计,原始代码保留的概率几乎为零。很明显,在实验初期阶段强调测试是一件非常愚蠢的事情

项目的早期阶段

产品被证明有价值之前,难以吸引SET的关注

SET:自动化计划

SET需要做的东西很多,让项目进行自动化测试的计划是他们的目标

SET:自动化计划

首先,把容易出错的接口做隔离,并针对他们创建mock和fake

mock是指对外面依赖系统的模拟,在运行时刻可以根据假设的需求提供期望的结果

fake对象是一种虚假的实现,内部使用了固定的数据或逻辑,只能返回特定的结果

把SWE与SET联系起来

可测试性

把SWE与SET联系起来

提交队列和持续集成

测试大小的定义

为了测试方便,Google自己定义了一套测试命名规则。

小型测试:验证代码单元的功能,通常是单元测试。

中型测试:验证两个或者多个模块应用之间的交互。

大型测试:验证系统作为一个整体是如何工作的。

测试大小的应用

SET的招聘

一言以蔽之:既要懂开发,也要懂测试。

Part 3: Recommendation

推荐语

测试经验较少,感触不深

值得一读,值得多读

Part 4: 阅读收获

其一:提交队列和持续集成

git和gitlab

版本控制

分支管理

协同开发

自动化构建、自动化测试、持续集成

其二:Web自动化测试

webdriver

The End

《How Google Test Software》读书报告

By 吴家荣

《How Google Test Software》读书报告

  • 2,834