TA的每日心情 | 开心 2016-4-1 13:14 |
---|
签到天数: 1 天 连续签到: 1 天 [LV.1]测试小兵
|
今天,测试与开发讨论需求文档的一些不确定的、业务逻辑等问题。在讨论一些模棱两可的地方时,产品
经理显然对我们要求的内容开始失去耐心了,他们的理由是:有些不确定的内容是在详细设计阶段才决定
的,而且内容也会变化。因此,这些内容姑且留在文档里,不确定也是没办法的事,对于测试,依据的文
档应该是详细设计文档。
我们的理由是:
1.需求不确定,详细设计的依据在哪里?如果只是依据的详细设计,那前面的需求又有多少可参考性?编
码依然是开发人员随心所欲的事情。测试又怎么验证需求?
2.如果发生了变化,根源在哪里?比如用户信息的重要字段增加了,那也是需求增加了,数据库才会随之
变化。
我还对产品经理提出了质疑:一旦详细设计深入,到了编码阶段,甚至以后的2.0,3.0版本,需求无法受
到产品经理的控制,更不用说得到跟踪了,特别是现在的配置管理,对需求也有了一定的要求。
产品经理显然不能控制自己的情绪了:
现在的流程显然阻碍了开发。你要知道,我们现在做的是项目,不是产品!你可以看看你自己那本有关测
试的书,里面是怎么说做项目与做开发的区别的。做项目是有不同的软件开发方法的,可能没有
Alpha,Blta测试等等,时间要求也有所不同,我们时间明显不够你是知道的,很多东西要在详细设计阶段
来确定。
我知道,现在再争吵下去,也是无济于事的,但是我也不能妥协,在一番争论之后,具体的问题还是基本
确定下来了。
后来,我把那本他说的书翻出来,现摘录如下:
《软件开发的科学和艺术》陈宏刚、林斌等著
序1 微软公司副总裁 李开复
“。。。我们可以很自然两地将软件分成两类:软件产品和软件项目。软件产品指的是不局限于特定领域
的、可以被广大用户直接使用的软件系统,如微软的Windows,Office等。这类系统的特定是技术含量高,
开发时要考虑到各种不同的用户需求。软件项目指的是针对特定领域提供优化业务流程的软件系统,如我
们常说的管理信息系统(MIS)和电子商务系统。这类软件的特定是领域知识所占的比重较大,相对技术
性而言,工程性更强。”
“针对这两种不同类型的软件,当然应该有不同的软件开发方法去指导项目开发过程。针对软件项目的开
发,目前比较成熟的软件开发方法是由卡莱基梅隆大学软件工程学院提出的软件成熟度模型(CMM)。这
种软件开发过程规范化和量化,直到可以对软件开发过程进行定量的控制和优化。”
“软件产品的开发随着技术的发展和用户需求的变化,面临着更多的变数和挑战。在软件产品开发过程中
,理想中的量化和优化其实是不太现实的。软件产品的开发更多地依赖于优秀的和富有效率的开发团队、
具有长远眼光的项目定位、灵活而有效的项目管理、保证产品质量的软件测试和处理各种风险和突发事件
的机制。”
我知道项目与产品的区别,但是我还是想说:
1.现在公司的项目虽然是先对某个客户的需求进行了调研,但是我们的调研是在自己多年的该行业软件开
发和业务需求的经验下,编写自以为是需求的需求文档给客户看,实地考察后,再了解部分其他客户的需
求来修正该文档。其实,这需求是我们做的比较通用的需求。更能证明这点的是,有一个该客户的特殊定
制功能,虽然这功能对客户很重要,但是项目经理还是将这个大功能暂时搁置不做。如果是做定制,某客
户的重要功能怎么能不做呢?
2.项目的周期紧,市场相对急,这是明显的,可是我们的开发设计总是从多语言、可抽换、松散耦合等角
度来设计的,这显然是做产品的苗头,况且,项目经理对于配置管理的计划也是作为主线来考虑的。
3.从测试的角度看,做项目和做产品对于质量、对于开发过程的要求是一致的。产品经理急于把项目完成
,而不是想卖个好价钱。没有时间显然是借口,重点是测试对于开发的要求,与是在做产品还是做项目,
我觉得差异不大。 |
|