写点什么

测试团队与咖啡店

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

    阅读完需:约 6 分钟

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

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

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

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

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

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

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

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

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

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

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

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

本文作者简介

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

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

2013-07-15 20:393645

评论

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

即时通讯:BeeWorks私有化方案重塑企业沟通方式

BeeWorks

即时通讯 IM 私有化部署

大数据-51 Redis 分布式锁到哨兵机制:一文掌握Redis高可用架构

武子康

Java redis 大数据 缓存 分布式

基于 Apache RocketMQ 的 ApsaraMQ Serverless 架构升级

Apache RocketMQ

云原生 事件驱动 消息队列

Apache RocketMQ 创新论文被软件工程顶会 FM 2024 录用

Apache RocketMQ

预制菜加工预制菜加工厂智能化生产管理MES系统全面解决方案厂智能化生产管理MES系统全面解决方案

万界星空科技

mes 预制菜加工 预制菜工厂 预制菜生产管理 食品加工MES

AI英语口语练习APP的开发

北京木奇移动技术有限公司

软件外包公司 AI英语学习 AI英语

深度剖析 RocketMQ 5.0 之 IoT 消息:物联网需要什么样的消息技术?

Apache RocketMQ

RocketMQ 云原生 物联网 IoT 消息队列

第十五章 SEO的简单免费工具

溪抱鱼

SEO SEO 优化

算法赋能再升级!非凸底仓增强算法全面上线江海证券

非凸科技

RocketMQ 打破锁性能瓶颈之道

Apache RocketMQ

云原生 消息队列

深度剖析 RocketMQ 5.0 之架构解析:云原生架构如何支撑多元化场景?

Apache RocketMQ

RocketMQ 云原生 消息队列

微店商品详情API指南

tbapi

微店API 微店商品数据采集 微店商品详情API

区块链预付卡APP的运营策略

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

海外版“JoyLinker”来了!全家桶套件免费开放!

BeeWorks

即时通讯 IM 私有化部署

基于模型蒸馏的大模型文案生成最佳实践

阿里云大数据AI技术

人工智能 大数据 大模型 大语言模型 大模型蒸馏

当AI学会品酒与问诊:DeepSeek的双智能体系统的奇幻物语

华为云开发者联盟

云主机 AI 智能体 DeepSeek v3 华为开发者空间

开赛 | KWDB 核心贡献挑战赛,30万奖金池等你来瓜分!

KaiwuDB

深度剖析 RocketMQ 5.0 之消息进阶:如何支撑复杂业务消息场景?

Apache RocketMQ

RocketMQ 云原生 消息队列

深度剖析 RocketMQ 5.0 之事件驱动:云时代的事件驱动有啥不同?

Apache RocketMQ

RocketMQ 云原生 消息队列 事件总线Eventbridge

CTE查询数据量过大导致MySQL 8.0发生CORE问题解析

GreatSQL

AI英语口语练习APP的技术方案

北京木奇移动技术有限公司

软件外包公司 AI英语学习 AI英语

书本大纲:从芯片、分布式到云计算AI时代

poemyang

云计算 分布式 高并发

企业为什么需要私有化部署的IM软件?

BeeWorks

即时通讯 IM 私有化部署

1688图片搜索商品API指南

tbapi

1688API接口 1688拍立淘接口 1688图片搜索API 1688拍立淘api

基于YOLOv8的交通车辆(12种常见车型)实时检测系统识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!

申公豹

yolov8

开发者空间安装ODBC驱动,编写应用程序操作GaussDB数据库

华为云开发者联盟

数据库 华为云 Gauss DB ODBC 华为开发者空间

Apache RocketMQ ACL 2.0 全新升级

Apache RocketMQ

RocketMQ 云原生 消息队列

Apache RocketMQ,构建云原生统一消息引擎

Apache RocketMQ

RocketMQ 云原生 消息队列 云栖大会

金融企业项目实践 - 开发者空间OpenGauss数据库助力项目完成

华为云开发者联盟

云主机 GaussDB(for openGauss) 数据库、 华为开发者空间

区块链预付卡APP的上线流程

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

生产管理系统赋能烟草行业:激活高效生产新动能

中烟创新

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