[转]James Bach:测试人员的角色

2015-05-13

以前,我是个开发人员。我不喜欢这个工作,无尽的压力让我疲惫。我几乎从未感觉到自己的工作做得足够好。我从未有过真正的休息。如果我没做好,我们就可能超过最后期限,或者是发布了一个垃圾产品。此后成为一个测试经理(test manager),感觉就像是休假一样。

测试同开发比起来,是一个非常模糊的工作——有很多的余地。我要做的仅仅是找问题。

我曾经认为测试的职责就是找问题。

找问题很简单,但是时间长了就会发现这样很难让人满意。我想让产品变得更好。

我曾是Apple一个400人团队中的众多测试专家之一。由于团队名称是软件质量保证(Software Quality Assurance),我们在质量保证(QA)上的讨论过比测试还多。一位经理推荐了一本书,Philip Crosby的《Quality Without Tears | 质量无泪 》,以此来帮助我们看到自己在产品开发过程中更深层次的职责。这本书提到了“零缺陷”,于是我转向了缺陷预防这一理念。“质量不是测出来的”是我们的口号。

我曾经认为测试的职责是保证质量。

但是,测试人员并不能真正的保证质量。首先,完美的质量本身就是不可及的目标。质量有多个方面,其中的一些就是冲突的。其次,测试人员并不创造质量,所以保证质量这样的职责并不在我们的能力范围之内。如果我们把自己想象成质量把关者,团队的其他人就有可能倾向于为质量少承担一些责任,他们会认为有QA在保证着质量——这样如果产品不是很好,我们就会承担主要责任。

除此之外,许多QA是通过定义流程和审查流程的执行来发挥作用。问题是,这样的一个方式很容易就会沦为关于质量的说教,在响亮的口号和常见的“好的质量是好的,不好的质量是不好的”式的争论中,QA所有的优点都看不见了。这就是为什么很多开发人员把QA视为耳边的噪音——只会另他们分心。

而我,从这种招人烦的角色中被解救了出来。经理把我叫到一边,告诉了我一个大秘密:一切都是为了风险——不必追寻完美,只需找到一个足够好的东西就够了。这样就把测试和质量保证转变成了一种项目的雷达,寻找敌人。我们在项目中是要快速的找到重要的问题,而不是每一个历史阶段中的每一个旧问题。

这深深的改变了我的思想。我不再像以前那么关注要在测试中达到尽可能全面的覆盖,而是关注哪一部分真正需要测试,并评估未知问题的风险。

考虑风险使测试人员在项目中更加容易与其他人相处。关于质量的讨论变成了判断哪些有影响,而不是纠结于谁想要完美。

我曾经认为测试的职责是分析风险。

风险是很重要,但它仍然是一种抽象的概念,而且悲观。一个开发经理跟我说他不喜欢谈论风险。“风险听起来很消极。我们不是保险公司理赔员,我们是企业家。我们勇于冒险。”他说的很在理。回报才是项目最重要的部分。难道对于测试,就找不到一个更全面和积极的观点了?

当然,测试的目的的确是发现问题、分析风险、以及保证质量,但是还有一种更本质的方式来看待我们的职责:我们照亮道路。没有测试,项目在黑暗中乱撞、被障碍绊倒、最后跌下悬崖。而测试会在需要的地方点亮火把,来帮助开发人员和经理知道他们在哪、他们要去哪、还有他们什么时候能到达。

现在,我认为测试的职责是提供重要信息,来协助创造和运营优秀的产品。这包括了发现问题、保证质量、分析风险、以及其他任何能够帮助团队了解当前状况的方式。

明天,我会怎么看待测试呢?

[转]James Bach:测试人员的角色的更多相关文章

  1. 51Testing专访史亮:测试人员在国外

    不久前,我接受了51Testing的访问,讨论了软件测试的一些问题.以下是全文. 1.史亮老师,作为我们51Testing的老朋友,能和我们说说您最近在忙些什么吗? 自2011年起,我加入Micros ...

  2. Grooming Meeting及测试人员所扮演的角色

    Grooming Meeting的中文翻译是“梳理会议”,它并不是Scrum框架中标准的会议(标准会议为Planning Meeting, Daily Scrum Meeting, Review Me ...

  3. 测试管理_测试人员招聘[持续更新ing]

    招聘之难,难于上青天. 如何招聘到一位称心如意的员工想必是每个公司和管理者都要面临而且头疼的问题.尤其在初建团队或团队缺人的情况下问题会显得更加严重. 作为一个测试管理者,如何招聘到合适的测试人员是必 ...

  4. 随心测试_软测基础_005 <测试人员工作内容>

    接上篇:清楚了_测试人员的工作职责范围,那每项 测试活动的具体工作内容有哪些呢? Q1:如何理解测试工程师的工作内容? A1:SX的观点:综合一体化 现如今互联网行业如何哪达,每一项IT职业的工作职责 ...

  5. 随心测试_软测基础_004<测试人员工作职责>

    接上篇续,依据_软测基础体系:<依据不同的测试对象,选取适合的方法,按照设计的流程完成测试工作,检验整个过程是否达到测试的目的>.“学以致用”,实践于工作职责 常见面试题: —— 诸如以下 ...

  6. 软件开发项目组各职能介绍 & 测试人员在团队中的定位

    前言     接触了许多非测试和新入行的测试从业者,听到最多的问题就是:“测试是否被需要?“   团队职能介绍     <暗黑者1>中有句台词,“专案组有五个职能角色构成,侦探.网警.痕迹 ...

  7. ISTQB测试人员认证 初级(基础级)大纲

    ISTQB测试人员认证 初级(基础级)大纲 ---中文修订版本1(2015年5月6日) 2015-06-22 大纲pdf下载  ISTQB资料中心 在课程大纲中,每个章节都会提供相应的认知水平要求: ...

  8. James Bach Rapid Test的感受

    前阶段拜读过James大神的快速测试,英文水平有限,阅读起来有点吃力,虽然想亲自参加大神的培训,一直没有机会,不过阿里牛人参加大神的培训,并总结的不错,现在谈谈自己的感想和看法. 进入测试行业不少年了 ...

  9. 测试人员学Java入门指南

    目标读者 本指南特别适合有Python基础的同学学习Java入门,对于没有任何编程经验的同学可能会存在困难. 为什么测试人员要学Java 选择Java,应该不错.TesterHome测试论坛知名大佬基 ...

随机推荐

  1. WinForm特效:同时让两个窗体有激活效果

    windows api,一个窗体激活的时候给另外一个发消息 using System; using System.Windows.Forms; using System.Runtime.Interop ...

  2. Node.js:Express 框架

    Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具.使用 Express 可以快速地搭建一个完整功能的网站 ...

  3. Java中Action层、Service层、Modle层和Dao层的功能区分

    一.Java中Action层.Service层.Modle层和Dao层的功能区分: 首先,这是现在最基本的分层方式,结合了SSH架构. modle层就是对应的数据库表的实体类.(即domain) Da ...

  4. Oracle日期周具体解释以及周開始结束时间计算

    1 ORACLE中周相关知识描写叙述 1.1           日期格式化函数 TO_CHAR(X [,FORMAT]):将X按FORMAT格式转换成字符串. X是一个日期,FORMAT是一个规定了 ...

  5. 安装 ibm-java-x86_64-sdk-6.0-9.3.x86_64.rpm 的三步骤

    yum install libstdc++-devel.x86_64 yum install compat-libstdc++-33.x86_64 rpm -ivh ibm-java-x86_64-s ...

  6. WCF 之 消息契约(MessageContract)

    对于SOAP来说主要由两部分构成Header和Body,他们两个共同构成了SOAP的信封,通常来说Body保存具体的数据内容,Header保存一些上下文信息或关键信息. 比如:在一些情况下,具有这样的 ...

  7. ssh登陆不上

    用ssh key登陆不上某台机A的某个账号xy1,查看A的/var/log/messages,看到有这么句: User xy1 not allowed because account is locke ...

  8. 【Linux】rmdir命令

    用途 rmdir用于删除空目录 全称 rmdir的全称是:Remove Directory 参数 -p:连同上层空的目录一起删除 案例 现在有文件结构如下 test3 文件夹为空文件夹 test/te ...

  9. 【Excle数据透视】多列分别分类计数

    需求 今天碰到一个很特殊的需求,如下(分别对每一列的值去重并统计个数): 预期结果 实现方法 推荐使用第三种方案,因为不用写公式,比较简单! 方法一:使用countif函数 在单元格J2输入公式COU ...

  10. mysql 5.5安装手记

    从MySQL5.5 开始就要用cmake安装,本次安装的版本为mysql-5.5.22.tar.gz #准备工作 yum install -y gcc gcc-c++ libtool autoconf ...