离离原上草,一岁一枯荣。 野火烧不尽,春风吹又生。

开创中小企业的软件测试(一•定位篇)

上一篇 / 下一篇  2011-05-10 10:49:35 / 个人分类:作品

在中国,小到几个人大到几十人的软件企业有很多,大部分这样的企业在开发过程中是没有软件测试这一过程的。和大型的软件公司相比,这些软件企业就好像利比亚政府军之于美军,从各个方面看都存在差距。更可悲的是,很多小企业对大型软件公司的项目开发模式(比如CMMI)进行一种偶像式的崇拜;当然遵循CMMI比刻舟求剑要强很多,我们也不能期望每个项目经理写一本“论软件开发持久战”来保证我们取得胜利。当这些企业颇有盈余,打算把自己的产品做长做久,脱离自己“流寇”性质的时候,‘软件测试’或早或晚总要被‘技术总监’摆到‘老板’的桌子上。作为一个软件测试的从业者,没有理由让这些上道的兄弟乘兴而来,败兴而归;因此,本人以个人的教训警告一下打算在中小软件企业建立软件测试的同行,老板,以及年轻的技术总监们。

 

软件测试的目的是什么?“软件测试无非就是雇几个人,提供一个实验室,购置一些硬件,软件质量就能得到一定的提高。”以上是软件测试给人的第一印象,虽然有些简陋,但是在印象里软件测试解决了一个抽象问题——质量。作为职业软件测试人员,我发自内心的告诫各位,软件测试无法独立达到提高质量的目的,设计人员和开发人员离质量更近一些。软件测试有两个定义“验证软件的正确性”和“寻找缺陷”;它不是TQM或者SixSigma,它是软件开发过程的一部分,仅此而已。

 

软件测试是奢侈品,它符合奢侈品的所有特征。首先,在开展软件测试之前,请确认至少有一个技术人员开始抬起头,观察整个开发过程,并有时间,资源,和决心来改善这个过程。如果一个公司想搞CMMI,可能需要引入一系列的文档;如果一个公司想搞软件测试,那么需要引进一些专业性的人员,同样已存在的人员也需要改变他们的工作方式。设备和人员可以买来,但是软件测试是一道工序,必须请才能来。其次,你拥有这个奢侈品之后,需要一定的审美能力。画再好,看不懂也是白扯。软件测试需要管理,尤其是项目级别和组织级别的管理。如果不能把软件测试整合到开发过程中,它难免要变成中看不中用的废物。如果软件测试效果不理想,请老板先找技术总监开刀。

 

建立软件测试要本着实用的态度。如果有心的人去看看某个CMMI中软件测试的应用模板,大概是概要设计的三分之一;同时,概要设计是为项目打基础,基础如果太差,软件测试力度再强也是徒劳。然而,软件测试阶段在项目中消耗的资源按行规是50%以上,概要设计阶段如果消耗20%项目资源都有过分之嫌。相比之下,有人得出软件测试是体力劳动的结论不为过。个人理解软件测试是把抽象的开发过程,带回到现实中来的最快手段。各种框架模式的设计都是虚的,或者叫形而上的;测试是形而下的,只有实际测试过的软件,才能评价设计的得失和编码的质量。因此,软件测试有关的各种活动,贵在实际。比如,研究怎么把1000种情况等价划分成20种,不如去动手用执行20条用例的时间和人力去完成1000条用例的执行;而后者更需要创造力和执行力。开发中抽象思维的惯性,很容易带入到测试中来,测试人员与开发人员在管理和技能要求上,有很大的不同。总之,如果开发方面不能迅速从软件测试这个过程中得到实利,那么软件测试的过程建立需要从头再来。

 

综上所述,软件测试可以说是难练易破,不练也罢。软件测试好比孙子兵法里的火攻,必要条件是“火攻者明”。如果,技术总监自度现有的开发过程或自己的能力当不起这个“明”字的话,请不要引入软件测试以免劳民伤财。

 

对于那些正在和准备开荒的同行们,我个人深表同情。送大家一句话“进不求名,退不避罪,唯民是保,而利合于主,国之宝也。”


TAG:

chujinp的个人空间 引用 删除 chujinp   /   2011-05-11 10:06:20
老板不重视软件测试、其他部门没有软件测试思想,引入软件测试纯属扯淡。
老A 引用 删除 archonwang   /   2011-05-10 15:38:53
的确是现实。深刻。
 

评分:0

我来说两句

日历

« 2024-04-26  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 16686
  • 日志数: 32
  • 建立时间: 2010-09-08
  • 更新时间: 2011-08-11

RSS订阅

Open Toolbar