编写背景:

  所租的房子到期了,又要开始搬家咯,在整理书和笔记的时候,发现自己曾经写过的一些测试工作感想,突然觉的该记录一下,因此放到BLOG里了,还起了个特别的名字“软件的食物链”。

  一个软件研发公司通常有这么几个部门组成:

  研发部门、测试或质量部门、技术支持部门、销售部门、行政或人事部门,其中我把研发、测试或质量、技术支持、销售这几个部门的关系用食物链来理解和描述。一个公司,从内部来看,投入合适的开发和测试成本,会节约技术支持的成本,促进销售。具体表现在:软件的开发和测试投入高成本获得高质量的软件后,技术支持人员将会有更多的时间去做售前支持工作而不是售后支持维护工作;销售人员用高质量的软件能够更好的去向客户销售以及发掘新产品的需求。从外部看,软件的销售情况由市场决定、由客户类型决定。在南方,生意人都说“要做有钱人的生意”。

  目前,在中国做测试,会碰到如下现象:

  1、测试人员没有办法了解所测系统的用户需求。

  具体表现:没有用户需求文档;测试人员不需要了解也没有权力知道用户需求。

  2、测试人员在项目组中工作职责和内容不明确。

  具体表现:测试人员要记录整理需求变更,进行新需求确认,培训用户,系统维护支持,培训文档、维护手册的编写,测试的执行以及问题的跟踪,测试文档的编写。

  3、测试人员要在短时间内测试改动很大的软件,同时软件更新很频繁。

  具体表现:版本更新频繁,需求变更管理不友好。程序发生了变化,测试人员是看到所测试的软件才知道发生了什么变化。由于时间短,人力资源短,测试很难做到更深一层和更完善。

  4、测试人员和开发人员的沟通有效问题。

  这让我想起华为一位测试工程师所说的,测试和开发像两个部队在打仗,谁都有胜负的时候,互相都在提高各自的战斗能力,刚开始做测试的第一年我很能理解这个比喻。测试做了两年后,突然感觉是开发人员开发出来的软件是病人,测试人员是医生。医生不能头痛医头脚痛医脚,要治本,但是那会花很多钱。在中国的IT公司做软件测试,测试所花费的成本怎样才算是正确有效的,这是没有一个固定的定律,因为影响的因素太多。

  5、测试吃力不讨好。

  在客户那里,当用户使用软件感觉很好时,它们会说:“嗯,这个公司的开发技术不错,做的很好啊。”从来不会想到里面会渗有测试人员的工作!当用户使用软件感觉不好时,它们会说:“这是什么东西啊,一点都不好用,一用出问题,你们试用、测试过么?”。唉,我做过现场给用户技术支持,因此很能感受到,程序出现问题后的辛苦,像救火队员救火一样。碰上没有责任心的开发搭档,那更惨,测试这边着急上火,开发那边不紧不慢,甚至是推卸工作,什么这不是我的问题,那不是我的问题。也许时间长了,习惯了,产生免疫力了,测试也不会在着急上火,顺其自然了。测试人员、开发人员的工作态度、责任心是保证产品质量的关键因素之一。

  写着写着,又有些偏离主题了,这样吧,这才是我真实的记录。