软件产品发布后出现重大质量问题,谁来负主要责任?开发人员还是测试人员?
公司对软件产品的质量要求一向很高,基本上在本省业内算得数一数二,曾在2002年发布的一个系统通过了软件测评中心的高级确认,当时在省内还是唯一一件获此认定的软件产品,但是此次系统发布却产生了很大问题,在产品即将发布光盘刻录基本完成的时候突然发现很多问题,有界面上的、功能上的、甚至数据准确性上的,按测试组负责人的说法就是“简直就是没测过”,实在是不好说,好在经过一天一夜的反复测试修改,基本达到预期的发布水平,避免更大的影响;但是回过头来细想一下,这种问题该谁负责呢?当然作为参与项目的开发和测试人员,都难以逃避责任,但是谁来为该类问题负主要责任呢?
我的意见是三七开,即测试部门应承担七成责任,开发人员负余下的责任;
因为,测试部门作为一个软件企业的质量检查部门,应该对从自己手中出去的产品质量问题负主要责任,软件测试是保证软件质量的重要活动,是软件项目实施的不可缺少的环节。软件测试的直接目的是发现软件中存在的缺陷。测试是目前用来验证软件是否能够完成所期望的功能的唯一有效的方法。测试已经不仅仅局限于软件开发中的一个阶段,它已经开始贯穿于整个软件开发过程,人们已经开始认识到:测试开始的时间越早,测试执行的越频繁,所带来的整个软件开发成本的下降就会越多。Extreme Programming更是把测试推到了极限的位置,一切软件开发活动都要从首先编写测试代码开始。测试人员作为一个要求更为严格、操作更为熟练的用户,对整个软件产品的流程、功能应更加清楚;
在软件项目没有结束之前的全部软件缺陷主要由软件开发人员负责,因为软件缺陷来自程序员的编程。软件项目结束后的软件缺陷主要由软件测试人员负责,因为软件测试人员没有在软件发布之前的测试中没有发现隐藏的错误。 但这不是绝对的,因为软件项目是一个系统工程,软件质量牵扯到多个部门和人员,以及需求分析,设计,编码等各个环节和过程。软件测试只能证明软件存在缺陷,不能保证软件没有错误。
上面仅仅是个人观点,欢迎大家进一步讨论……