Google的软件测试之道-学习笔记

本文介绍了Google的软件测试策略,强调测试是开发的一部分,工程师应对质量负责。Google推崇测试先行,鼓励软件开发工程师(SWE)、软件测试开发工程师(SET)和测试工程师(TE)之间的紧密合作。SET关注可测试性和自动化框架,TE则代表用户利益,确保系统在性能、安全等方面的测试。测试工程经理负责协调和支持团队,推动测试效率和质量的提升。Google提倡在有限的自动化测试和文档中找到平衡,重视用户反馈和缺陷驱动开发,不断优化测试流程。

第1章 Google软件测试介绍

1.Google是一家以创新和速度为基础的公司,

  1. 快速地发布有用的代码、
  2. 迭代地增加早期用户希望使用的功能——最大化用户反馈。
    ——这样的环境下,测试会变得灵活,测试和开发会交织在一起无法区分彼此。

2.测试不是教条式的,不能成为导致创新和开发过程变慢的阻碍。

3.如果你是工程师,那么你同时也是一名测试人员;如果你的头衔有测试字样,你的任务就是怎样使哪些头衔上没有测试的人可以更好地去测试。

4.开发对质量负责,质量是一种预防行为,而不是检测
——这样可以有效减少测试人员的数量。

5.三个职位

  1. 软件开发工程师 SWE
    实现最终用户所使用的功能代码,并实现测试用例的代码
    ——增加功能性代码或提高代码性能。
  2. 软件测试开发工程师 SET
    工作重心在可测试性和通用(自动化)测试框架上
    ——关注质量提升和测试覆盖率的增加,为了让SWE更好地测试自己的功能。
  3. 测试工程师 TE
    把用户放在第一位来思考,代表用户利益
    ——模拟用户的使用场景和编写自动化脚本,构建端到端的自动化测试(关注性能、安全性、国际化、访问权限等方面)。

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

1.理想情况下,完美的开发过程:测试先行

  1. 在没有代码之前,开发人员就去思考如何测试他即将编写的程序;
  2. 另外一些依赖于外部设施的测试,在你需要时,这些设施可以随时被使用。

2.区分功能开发人员和测试开发人员:

  1. 功能代码:思维模式是创建,重点在考虑用户、使用场景和数据流程上;
  2. 测试代码:思路是破坏,怎样写测试代码用意扰乱分离用户及其数据。

3.开发背景:单一的公开代码库
——工程师可以从容的在不同项目之间切换,几乎不需要学习成本;
并且对于有需求的工程师,所有源代码都是开放的,带来极大的可复用性。

  • 当代码库修改时,需要测试所有受影响的部分重新测试,保证项目的“绿色”。
  • 一个完整的Google产品由三部分组成:
    1. 一个经过良好测试的独立库;
    2. 一个可读性与复用性方面都不错的公共服务库;
    3. 一套覆盖所有重要构件目标的单元测试套件。

4.自动化计划

  • 规模小目的性强的测试计划,并存在可以提供帮助的测试框架,可以使SWE更愿意参与和帮助SET的工作,且参与测试;不要过分地想得到一个端到端的自动化测试。
  • 在端到端的自动化测试上过度投入,往往会将测试与产品的特定功能绑定在一起,而这部分的测试在整个产品稳定之前都不会特别有用。

5.可测试性
SET的任务是编写测试框架,保证SWE代码的可测试性。

6.测试规模

  1. 小型测试——单元测试
    集中在函数级别的独立操作与调动上;
    在代码变更时就能立即执行,容易隔离错误,从而较早地发现缺陷并提供及时的反馈。
  2. <
每天,Google都要测试和发布数百万个源文件、亿万行的代码。数以亿计的构建动作会触发几百万次的自动化测试,并在好几十万个浏览器实例上执行。面对这些看似不可能完成的任务,谷歌是如何测试的呢? 《Google软件测试》从内部视角告诉你这个世界上知名的互联网公司是如何应对21世纪软件测试的独特挑战的。《Google软件测试》抓住了Google做测试的本质,抓住了Google测试这个时代最复杂软件的精华。《Google软件测试》描述了测试解决方案,揭示了测试架构是如何设计、实现和运行的,介绍了软件测试工程师的角色;讲解了技术测试人员应该具有的技术技能;阐述了测试工程师在产品生命周期中的职责;讲述了测试管理及在Google的测试历史或在主要产品上发挥了重要作用的工程师的访谈,这对那些试图建立类似Google的测试流程或团队的人受益很大。 最后,《Google软件测试》还介绍了作者对于Google测试如何继续演进的见解、Google乃至整个业界的测试方向的一些预言,相信很多读者都会感受到其中的洞察力,甚至感到震惊。本书可以作为任何从事软件测试人员到达目标的指南。 《Google软件测试》适合开发人员、测试人员、测试管理人员使用,也适合大中专院校相关专业师生的学习用书,以及培训学校的教材。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值