《Google软件测试之道》读书笔记---第二章

第一章 Google软件测试介绍
第二章 软件测试开发工程师
第三章 测试工程师
第四章 测试工程经理
第五章 Google软件测试改进

 

第二章 软件测试开发工程师

Google的SET就是测试开发人员,部分职责是在单元测试方面给予开发人员支持,领外一部分职责是为开发人员提供测试框架,以方便他们编写中小型测试,用以进行更多质量相关的测试工作。

2.1SET的工作

第一个融合开发角色和质量意识于一身的角色,即SET。

1.工程师团队的交付物就是即将要发布的代码,代码的组织形式、开发过程、维护是日常的工作重点。

2.Google在平台方面有特定的目标,就是保持简单且统一。开发工作机和生产环境的机器都保持统一的Linux发行版本;一套集中控制的通用核心库;一套统一的通用代码、构建和测试基础设施;每个核心语言只有一个编译器;与语言无关的通用打包规范;文化上对这些共享资源的维护表示尊重且有激励。

 3.如果一个SWE在某个产品的第三个版本研发时加入,这时这个产品已经有良好的文档、不错的可测试性、运行着稳定的自动化测试、清晰的代码提交流程,这些现象都在说明这个产品早期已有出色的SET在为之工作。

4.项目的技术负责人和发起人要做的第一件事就是涉及文档。随着文档的不断完善,就需要不同专业类型的工程师角色投入到项目中去。许多技术负责人期望SET在早期就能参与想,即便那时SET资源还相对稀缺。

5.对于一些规模足够大的项目来说,需要针对主要子系统也创建相应的设计文档,并在项目设计文档中增加子系统设计文档的链接。在初期版本完成后,里面会囊括所有将来需要完成的工作清单,这也可以作为项目前进的路标。

6.作为工程师,SET在团队中有一个巨大的优势,就是拥有产品方面最广阔的视野。一个好的SET会把非常专业的广阔视野转化为影响力,在开发人员所编写的代码上产生深远的影响力。

7.SET会对protocal buffer代码做比较系统全面的审查,因为protocal buffer定义的接口与协议的代码实现是要由SET来完成的。没错,SET是第一个实现所有接口和协议的人。在系统真正搭建起来之前,集成测试的运行依赖这些接口实现。为了能够尽早地开始做集成测试,SET针对各个模块的依赖提供了mock或fake的实现。虽然功能模块代码还没有实现,集成测试的代码就已经可以开始编写了。在这个时候,如果集成测试代码可以运行起来,那将会更有价格。另外,在任何阶段,集成测试总是依赖mock和fake.因为有了它们,一些依赖服务的期望错误场景和条件异常,会比较容易产生。

8.在Google,SET遵循以下方法:
(1)首先把容易出错的接口做隔离,并针对它们创建mock和fake。
(2)接下来构建一个轻量级的自动化框架,控制mock系统的创建和执行。
(3)SET除了再这个计划中涵盖自动化(mock、fake和框架)之外,还要包括如何公开产品质量方面的信息给所有关心的人。

9.检验一个项目里小型测试、中型测试和大型测试之间的比率是否健康,一个好办法是使用代码覆盖。测试代码覆盖率可以针对小型测试、中大型测试分别单独产生报告。覆盖率报告会针对不同的项目展示一个可被接受的覆盖率结果。如果中大型测试只有20%的代码覆盖率,而小型测试有近100%的覆盖率,则说明这个项目缺乏端到端的功能验证。如果结果数字反过来了,则说明这个项目很难去做升级扩展和维护,由于小型测试较少,就需要大量的时间消耗在底层代码调试差错上。

10.持续集成系统使用构建系统中的构建依赖规则。在这个规则中描述了代码是如何编译、数据文件是怎样集成在一起成为应用程序的,以及测试如何运行等信息。这个构建规则中详细定义了构建所需的输入输出。

2.2测试认证

良好的教练是测试认证计划成功的一个重要原因。如果你想要求一个团队去尝试新的事物或者做默写改进,给他们提供一个联系人会更好一些,这个联系人来源于更大的社区,并可以从他那里得到帮助。

2.3SET的招聘

2.4与工具开发师Ted Mao的访谈

1.在你打造这些工具的时候,你面临过的最难的技术挑战是什么?

对于我而言,我认为最艰难和最有趣的挑战总是出现在设计阶段。理解一个问题领域,权衡不同的解决方案和他们的利弊,并从中选一个最优的方案。实现阶段一般按照选定的方案去做即可。这样的选择决定和功能实现一样会贯穿项目的整个生命周期,决定项目的成败。

2.对于世界上其他专注于测试工具方面的工程师,你有什么一般性的建议吗?

专注于你的用户,理解他们的需求并解决他们的问题。不要忽视一些看不见的功能,如可用性和响应速度。工程师在解决他们问题方面有自己独特的能力,要允许他们使用你无法预料的方式来使用你的工具。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值