写点什么

测试团队与咖啡店

  • 2013-07-15
  • 本文字数:1776 字

    阅读完需:约 6 分钟

测试团队的“核心价值”应该是什么?这个问题无数次被提出,又无数次在讨论中归于沉寂。所谓的“核心价值”,恐怕在不同的组织和不同的产品中很难达成一致,因此,归于沉寂也就不足为奇。

但“核心价值”的问题本身确实值得探究,因为没有价值观的认同,就很难去讨论测试的前进方向。在不少测试相关的会议上,我的演讲都旗帜鲜明地把“价值”作为测试理所当然的前进方向,在我看来,测试本身需要找到自己存在的价值,然后才可以讨论“该做什么”和“该怎样做”。

据说 IT 工程师在想要转行时,通常的第一考虑是开餐馆或是咖啡店,坦白说,我也曾有过这样的念头:)现在,假设我终于要离开 IT 行业,转行去开个咖啡店。于是我选择了一个在我看来合适的地段(某 IT 人士集中的写字楼下),用多年积攒的工资缴纳了租金,然后正式开始了我的咖啡店老板生涯……起初,一切都非常完美,我按照自己的规划装潢了这家咖啡店,用的是我最喜欢的墙纸,欧式的格调,柔和的灯光,散发着柔和光泽的咖啡用具……嗯,连音乐都是我精挑细选的,应该说,这就是我梦想中最完美的咖啡店。可是,在按照我的心意打造了这家咖啡店之后不久,我突然意识到了一个大问题。那就是,似乎我的客户和我在品味上并不一致,虽然有些人口头表达了对我这家咖啡店的认同,但实际情况是他们很少有足够的耐心等待细致的咖啡制作环节完成,甚至一段时间后,有人问我能不能提供火锅。提供火锅?!这可不是我的梦想,我的梦想是全世界最好的咖啡店!在断然拒绝他们的无理要求之后,毫不意外,我的咖啡店生意越来越差,梦想还在,但离赚钱的目标却越来越远……

好吧,实际上,我还不打算现在转行去开咖啡店。讲这个故事,只不过是想以咖啡店老板的心态来探讨测试团队的价值取向。把故事里的咖啡店老板换成测试团队,你会发现其中有不少的相同点:

1,测试团队按照自己的梦想建立了“完美的”测试体系(测试流程、自动化测试工具、缺陷跟踪与分析体系等);

2,开发工程师偶尔也会赞扬这些看上去很完美的流程、测试用例等,但却始终关心这个问题:“你们能不能在我们每次修改代码之后帮我们验证一下”;

3,显然,测试团队会非常不喜欢开发工程师的要求,断然拒绝;

4,测试团队继续着自己的梦想和期望,长吁短叹开发对自己的不理解与不认同,然后……

那么,我的问题是,如果你是咖啡店的老板,你准备怎么做?显然,一旦了解谁是客户,你立刻就会明白:如果客户要的并不是环境优美、格调高雅的咖啡店,那么我们就提供给客户他需要的东西。如果我们的目的是最终盈利的话,显然,在这种情况下把咖啡店改成火锅店会更加合适一点。

回到测试团队的话题,谁是测试团队的客户?单纯的说是开发团队也不尽合理,实际上测试团队和开发团队的客户一样,都是产品的直接用户。但考虑到开发团队的直接产出是用户可使用的软件产品,测试团队把开发团队当成自己的客户还是合情合理的。

那么,当客户对你说他想要火锅(持续不断地对提交的产品进行验证),而不想要格调高雅的咖啡(晚上的流程、分析等),你该怎么办?最直接的反应是把咖啡店改成火锅店,提供火锅而不是咖啡。所以,测试团队可以用手工的方式帮助开发人员验证不断地验证产品,直到……自己再也无法应付为止。更好的方法也许是探寻客户真正的需求,例如,一个不断要求火锅的客户很可能不是非火锅不吃,而是因为他喜欢吃火锅的热闹,选择的自由,以及在花费不多的情况下鼓腹而出。那么,我们大可以给他提供他真正想要的东西。当开发人员对测试团队说“我需要你们在每次提交后对产品进行测试”,他真正想要的只不过是能够有一种机制,使得每次代码提交之后都能验证产品是不是存在明显的问题。通过 CI、分层的自动化测试,测试团队可以用更轻松、更快捷也更优雅的方式解决开发团队的问题。在这个基础上,也许你还可以说服开发团队建立一系列的标准,用于评估产品的生产率和质量,让测试团队和开发团队一起推动持续的生产率增长和质量提升。

也许,对测试团队来说,咖啡店不是个最好的比喻(毕竟不是每个测试工程师都像我这么没有想象力)。但当你下回纠结于“开发工程师为什么不接纳我们辛辛苦苦建立的流程”的时候,至少可以把自己想象成咖啡店老板,换个角度想想你的客户需要什么样的服务。

本文作者简介

段念,工程副总裁 @豆瓣。对软件开发管理与团队管理颇有兴趣,喜欢和各位同好交流。

本文来自 InfoQ 微信公众账号:infoqchina

2013-07-15 20:393405

评论

发布
暂无评论
发现更多内容

Android 自定义View之展开收起的Layout

yechaoa

android 自定义view 6月月更

如何往 Kafka 发送大消息?

Se7en

flutter系列之:深入理解布局的基础constraints

程序那些事

flutter 程序那些事 6月月更

Docker 实用技巧二

Nick

Docker 容器 实用技巧 6月月更 实操

JASON

Jason199

json js math 6月月更

前端食堂技术周刊第 41 期:TC 39 会议、IE 退役、React Labs、Storybook 组件百科全书

童欧巴

前端 React IE TC39

Navicat Premium 15 永久破解激活工具及安装教程(亲测可用)

Geek甜甜

数据库 程序员 工具 navicat

Java Core 「10」J.U.C 同步工具类-2

Samson

学习笔记 Java core 6月月更

spring4.1.8扩展实战之七:控制bean(BeanPostProcessor接口)

程序员欣宸

Java spring SpringFramework 6月月更

模块四

Geek_2ce415

「 2022 精益软件工程大会」圆满闭幕,观测云奉献精彩主题演讲

观测云

【愚公系列】2022年06月 通用职责分配原则(五)-控制器原则

愚公搬代码

6月月更

【Spring 学习笔记(十二)】Spring AOP 切入点表达式

倔强的牛角

Java spring spring aop Java EE 6月月更

远程办公三部曲 - 如何提高沟通效率| 社区征文

耳东@Erdong

沟通 远程办公 6月月更 初夏征文

关于 Angular SSR 应用在渲染中止时如何避免内存泄漏问题的一些尝试

汪子熙

typescript angular SSR Spartacus 6月月更

关于微服务通信的一些Tips

阿泽🧸

微服务 6月月更

百度团队CSS编码规范

sean77

SeekTiger迎多重利好,旗下生态NFT、DAO VC平台将陆续上线

鳄鱼视界

算法系列之动态规划

坚果

6月月更

Mysql源码阅读 -- Windows10编译运行MySQL源码

c++ MySQL 源码学习

五八同城(58.com)研发效能组织和团队建设之路

laofo

互联网 DevOps 研发效能 持续交付 工程效率

BOM核心——window对象之Golbal

大熊G

JavaScript 前端 6月月更

JVM调优简要思想及简单案例-代码执行与内存区域

zarmnosaj

6月月更

测试需要做单元测试吗?

老张

软件测试 单元测试

C#入门系列(十八) -- 类的属性、索引、事件和this关键字

陈言必行

C# 6月月更

如何设计BI平台

奔向架构师

数据仓库 商业智能 6月月更

GTID详解

乌龟哥哥

6月月更

SeekTiger的崛起,旗下生态NFT、DAO VC平台将陆续上线

股市老人

如何构建、部署运行Flink程序

百思不得小赵

flink 部署 6月月更

Feature Store Meetup V3回顾|华为商城&第四范式&众安保险特征平台建设实践

星策开源社区

华为商城 OpenMLDB Feature Store MLOps 特征工程

【前端】前后端交互重点Ajaxの介绍及实战

孤寒者

json ajax tornado 6月月更

测试团队与咖啡店_文化 & 方法_段念_InfoQ精选文章