《Google软件测试之道》阅读笔记

Chapter 1 

Introduction to Google Software Testing

Google 软件测试团队 属于 Engineering Productivity 的中心组织部门

1. 质量不等于测试

质量不是被测试出来的。把开发和测试融合到一起,开发和测试必须同时进行。

Google少专职测试人员,开发测试,开发对质量负责。测试是开发过程必不可少的一部分。

质量是一种预防,而不是检测。Google测试的目标是来判断这种预防工作做的怎么样。

如果在你的职位头衔上有测试的字样,你的任务就是怎样使那些头衔上没有测试的人可以更好地测试。

2. 角色

测试--提高生产率

软件开发工程师(SWE) :增加功能性代码或提高性能的代码

软件测试开发工程师(SET):关注于质量提升和测试覆盖率的增加

测试工程师(TE) :把用户放在第一位来考虑。

Chapter 2

软件测试开发工程师

功能开发人员:思维模式是创建,重点在考虑用户、使用场景和数据流程上。

测试开发人员:思路是去破坏,怎么写测试代码用以扰乱分离用户及其数据。

用户开发人员:负责从用户角度来考虑质量方面各种问题。

1. 提交队列和持续集成

能定位问题位置

等待提交的CL必须排队,等待测试(串联)--》等待的CL在互相隔离的前提下,并发地构建并运行测试

2. 测试大小定义

小型测试:通常为单元测试

中型测试:验证两个或两个模块应用之间的交互。常被称为“集成测试”

大型测试:为了验证整个系统作为一个整体是如何工作的。通常被称为“系统测试”或“端到端测试”

小型测试带来优秀的代码质量、良好的异常处理、优雅的错误报告;大中型测试会带来整体产品质量和数据验证。

3. 测试认证

级别一:基本准备,建立测试运行的自动化机制、收集测试覆盖率、去除所有非确定性的测试、挑选冒烟测试集合

级别二:着重提高增量覆盖率

级别三:重点是测试新增代码

级别四:测试历史遗留代码,需要针对可测试性做一些重构

级别五:要求更好的整体覆盖率,针对每个缺陷都增加测试用例,并要求使用已有可用的静态与动态分析检查工具。

Selenium WebDriver 是怎么运行的?https://zhuanlan.zhihu.com/p/41235936

Chapter 3

测试工程师

1. 测试工程师的工作

TE在进入产品时,需要考虑以下一些问题:

  1)当前软件的薄弱点在哪里?

  2)有没有安全、隐私、性能、可靠性、可用性、兼容性、全球化和其他方面的问题?

  3)这个产品能与其他产品(软件和硬件)互操作吗?

  4)当发生问题的时候,是否容易诊断问题所在?

2. TE职责的一般性描述

  1)测试计划和风险分析

      测试计划:了解 产品特质、组件、能力

      产品特质 是系统的形容词,代表了产品的品质和特色

      组件 是构成待建系统的模块

      能力 处于特质和组件的交点  最重要的一个特点是它的可测试性

eg:从购物车里增加或者删除物品。这是购物车组件在满足直观的UI特质时的一个能力

  2)评审需求、设计、代码和测试

  3)探索式测试

  4)用户场景

  5)编写测试用例

  6)执行测试用例

  7)众包

  8)使用统计

  9)用户反馈

3. 风险

4. 自动化测试在手工测试之前,这样,手工测试开始的时候,代码质量已经相当高了

5. 工具帮助越过困难、重复性的测试,将人力劳动集中在 探索性测试等更具创新性的事情上

Chapter4

测试工程经理

好的TEM:1. 了解你的产品;2. 知人善用

不允许不必要的工作存在,也不需要不产生价值的改进。

影响力  提升影响力

1) 做事之前先问 为什么   比较重要的两点:1. 因为它能够提高产品的质量; 2. 因为它能提高工程师开发产品的效率。

2) 快速迭代 and 高质量 矛盾且具挑战

3) 每一件事情都要创造价值,并且能够持续地创造价值

4) 先虚心学习,再在一线作出成绩,然后开始寻求创新的方法。

Chapter5

Google软件测试改进

Google 的测试流程可以非常简练地概括为:让每个工程师都注重质量。如果我们都诚实认真地这么做,质量就一定会提高。代码质量从一开始就能更好,早期构建版本的质量会更高,集成也不是必须的,系统测试可以关注与真正面向用户的问题。所有的工程师和项目才能从堆积如山的 bug 中解脱出来。

软件开发的最终目的不是编程,不是测试,不是文档,而是完成一个产品。

测试工程师(TE)会转型成测试设计。测试工程师会转变成像安全工程师这样的专家型角色,或者他们会变成测试活动的管理者,而那些具体的测试活动则由其他人来完成。

软件测试开发工程师(SET)本来就是开发工程师。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容