需求、开发和测试的“三足鼎立”

在很多电影或电视剧中,大家经常会看到一种代表权利与威望的东西—鼎。古语曰“问鼎中原”,可见鼎在当时人们心中地位之高。下面是一张来源于互联网的鼎的图片。

不知大家注意到没有,鼎有三只“脚”。大家在几何课上学过,在所有的平面图形中三角形最稳定。看来古人也深知这个道理,做出了有三只“脚”的摆放稳定的鼎。当鼎的任意一只“脚”被去掉时,整个鼎必然会轰然倒下的。也就是说,“三足鼎立”是最稳定的。

在软件开发活动中,可以把鼎比作是一个软件产品,要保持产品的稳定,就需要有三只牢固的“脚”来支撑它。那么,这三只“脚”是什么呢?作为一个软件开发人员,我认为需求、开发和测试就是支撑产品的三只“脚”。

需求是需求工程师(有的地方也叫系统工程师)写出来的,它就是一个软件产品的文字实现,以文档的形式描述了产品所要实现的功能。当需求写出来并经过评审之后,就要由开发人员用程序来实现。

开发是由被称之为程序员(也有的地方称之为“码农”)的人所组成的群体,他们的主要任务就是参照需求来编写程序以做出软件产品。他们每天的大多时间都以电脑为伴,办公室和机房就是他们的休息场所。

测试是由测试工程师所组成的群体,他们不直接开发产品,但是,他们要对开发出的产品进行各种验证来确保其没有大的问题。在产品提供给用户使用之前,都要首先经过测试这一关。从另一方面来说,测试工程师就是软件产品的第一批用户。

大家都知道,三国时期的魏蜀吴之间战火不断、勾心斗角的故事已成历史经典,而需求、开发和测试之间的“恩怨情仇”如果要写成故事,估计比《三国演义》还精彩。

需求可以比作“魏国”。在三国中,魏国占了“天时”。曹操“挟天子以令诸侯”让天下有识之士纷纷投靠。对应到软件开发上来,需求工程师与用户靠得很近,他们写的需求代表了用户的意见(虽然有时候并不准确),他们挟用户这个“天子”来给开发和测试“发号施令”。同时,需求工程师一般都是在一个公司里面工作年限较长的人,他们对行业、对产品的认识比新入行的人要深一些,这就像是曹操身边的那些谋士,几乎个个都是一流的。

测试可以比作“吴国”。在三国中,吴国占了“地利”。长江天险阻挡了侵犯者的步伐,江东富饶的物产是吴国后勤的有力保障。对应到软件开发上来,测试部门拥有众多的测试机器和测试环境,任何其他部门的人想要用这些机器和环境,都要经过测试工程师的批准。这些资源就像是吴国那些富庶的土地,让别人垂涎三尺。测试工程师几乎不会主动对开发产品提意见,他们就等着开发人员主动找上门来要测试的环境,这就像是吴国几乎很少主动出击而采用的是以守为主的战略。

开发可以比作“蜀国”。在三国中,蜀国最为“苦逼”,在经过重重磨难之后,终于在偏远的四川占得了一席之地。蜀国能够成功,靠的就是“人和”。刘关张三兄弟靠三个人三匹马起家,在最困难的时候都是一条心,这才走到了最后。对应到软件开发上来,开发工程师就像是苦命的兄弟,谁有了问题,都可以向身边的人请教,大家努力来将事情做好,这和刘关张三兄弟的经历是何等的相似。同时,除了自己办公用的电脑之外,开发部门很少拥有多余的资源,需要测试环境的时候就要向测试部门申请,这就像刘备为了生存向孙权借荆州一样,区别就是开发部借了的资源是要归还的。

需求、开发和测试虽然各自做着不同的事情,所关注的点不一样,有时还有可能会出现意见不统一,但大家都有一个共同的目标:将产品做好。也正是这个共同的目标让需求、开发和测试之间的合作大于对抗、理解大于分歧,也正是这个共同的目标让软件产品这个“鼎”的三只“脚”永远平稳和牢固。

时间: 2024-07-31 14:48:53

需求、开发和测试的“三足鼎立”的相关文章

答读者问(7):有关实习、毕业论文及软件开发和测试的关系等问题

        最近收到一位研究生朋友的邮件,让我想到自己研究生毕业之前,也曾有过很多的疑惑,希望得到过来人的解答.互联网不仅是我们最好的老师,同时也是最好的桥梁.我们都要感谢并善于利用它.         闲话不说,言归正传.邮件原文如下:         周前辈,您好         我是XXX研究生,我叫XXX.专业是信息与通信工程.现在研二,过了暑假马上就研三了.我在CSDN上无意间看到您的一些文章,写的很好,感触很多.所以就一直在关注您!        下面我简单说下我的情况,我本科和

敏捷开发和测试中重现缺陷和验证缺陷的解决方案(1)

第1部分:部署重现缺陷的环境 简介:本文为系列的第一篇文章,首先简述了系列的主旨和每部分的内容.然后针对敏捷开发和测试中开发人员重现测试人员开出的缺陷这一问题,具体描述了如何用IBM工具Rational Automation Framework以及IBM Workload Deployer快速记录和部署重现缺陷所需的测试环境,从而让开发人员可以更快速准确地获得重现缺陷的环境. 系列背景简介 在敏捷开发的大环境下,产品需要根据用户的需求不断进行变化,产品版本的研发周期越来越短,产品的交付速度越来越

Coverity谈“开发中测试”与程序员最常犯的编码错误

Coverity公司位于美国加州旧金山,他们的产品包括Coverity Integrity Control.Coverity Static Analysis等一系列代码分析工具与解决方案.日前,Coverity公司产品副总Ezi Boteach先生就"开发中测试".代码复查和开发人员最常犯的编码错误接受了采访. 问题:能否介绍下Coverity的"开发中测试"理念和你们的Development Testing Platform? Ezi:"开发中测试&qu

难以量化的需求开发与管理

在软件项目的开发过程中,需求管理贯穿了软件项目的整个生命周期,在软件项目管理中需求工程是软件开发的第一步,是关键的一步,也是最难把握的一步.需求管理做得好坏直接影响到软件的质量,甚至软件项目的成败.从软件的项目立项.研发.维护,用户的经验在增加,对使用软件的感受有变化,以及整个行业的新动态,都为软件带来不断完善功能.优化性能.提高用户友好性的要求. 在项目管理过程中,项目经理经常面对用户的需求变更,如果不能有效处理这些需求变更,项目计划会一再调整,软件交付日期一再拖延,项目研发人员的士气将越来越

为什么开发与测试老掐架呢

让我们思考几个常见的问题: 软件测试的目的是什么? 开发人员能否构建出没有Bug的完美软件? 测人人员和开发人员是什么关系? 软件测试能否保证软件质量? 先闭目冥想五分钟吧,然后可以尝试着回答上面的问题. 计算机先驱 Maurice Wikes 回忆起 1949 年他在英国剑桥工作的情形,在拖着打孔纸带上楼给雏形计算机 EDASC 装载程序时,他看到了自己的未来: 我强烈的意识到,生命中剩下的好日子,都将耗费在给自己的程序找错误上头. Maurice Wikes告诉我们,没有完美的软件. 我曾经

针对敏捷开发和测试中开发人员:部署重现缺陷的环境

在敏捷开发的大环境下,产品需要根据用户的需求不断进行变化,产品版本的研发周期越来越短,产品的交付速度越来越快,只有开发和http://www.aliyun.com/zixun/aggregation/9621.html">测试人员之间保持更加有效更加频繁的交互才能保证产品按时高质量地交付给用户.其中,开发人员和测试人员之间交互最多的部分就是缺陷 (defect) 问题的讨论.当测试人员发现问题并提交缺陷以后,开发人员需要重现测试人员发现的问题,并进行研究.最终针对缺陷的产品代码改动被开发人

针对企业开发与测试访问IBM云计算功能

为应用程序开发和测试需求设置和维护IT 基础结构极具挑战性.前期的资本支出和运营成本很高,然而,通常基础结构的利用率却很低,很难在项目间实现共享.使得成本不断攀升的因素之一为获取.配置和维护软.硬件环境的艰巨任务.并且,由于这些任务大多需要手动完成,会因配置不正确而增加出现测试错误的风险.最终,依靠本地及全球的开发人员团队,您需要提出一项安全性极高的解决方案,来支持基于团队的应用程序开发与测试.云计算能够帮助您应对这些挑战,并降低循环时间,支持更快速地应用程序部署. 利用IBM Smart Bu

web接口开发与测试

最近一直在学习和整理web开发与接口测试的相关资料.接口测试本身毫无任何难度,甚至有很多工具和类库来帮助我们进行接口测试.大多测试人员很难深入了解web接口测试的原因是对web开发不太了解,当你越了解开发就会越看得清接口是什么.当然,web开发是比较麻烦,我们很难一下子掌握.   注:不过本文并不是一个零基础的文章,需要你对 Django web开发,requests接口库,unittest单元测试框架,三者有一定的了解.   Django快速开发之投票系统 之前分享过一篇Django开发投票系

cpu-linux下MCP2515驱动开发及测试

问题描述 linux下MCP2515驱动开发及测试 CPU采用ATMEL的9g25,通过MCP2515扩展CAN总线,linux下MCP2515驱动加载成功,采用Socketcan测试,发不了数据也读不了数据.请高手指教!!