从事软件测试很多年的陈宏刚博士说:“从我在微软工作的经历来看,软件测试不是开发活动完成后的收尾工作,很多大型的开发项目,测试会占据项目周期一半以上的时间。以IE4.0为例,代码开发时间为6个月,而稳定程序花去了8个月的时间。”前微软亚洲研究院博士、软件测试专家陈宏刚谈道。从投入的资金和人力物力来看,测试、使产品稳定和修改花去的时间可能占到80%。

还处在婴儿期

软件测试之所以发展相对缓慢,一个原因是做研究和做开发的人交流的机会相对少。只有做大型系统工程的人才会对测试提出较高的要求,重要性才能显现出来,而做研究和教学的人没有大型系统工程案例,所以造成了测试理论研究的发展缺乏充实的基础材料。真正做大型系统开发的工程师,又没有时间将第一手的测试经验变成系统的理论。

“在美国,佛罗里达州和华盛顿州分别有一所大学开设软件测试课程,其他有正规课程的学校不是很多。软件测试正停留在没有学科系统、没有系统教育的阶段。虽然已经有学校开设了这门课程,但是使用的教学案例,多半是单机软件,还谈不上系统的理论。”陈宏刚博士介绍说。

高素质的“杂牌军”

由于企业对测试人才有着迫切的需要,因此,只好自己培养测试人才队伍。例如微软公司,对不同的产品制定测试规范,开设一些课程,通过讲座的形式对测试技术人员进行培训,但是也还未形成系统的理论。

即使在微软,测试队伍是典型的“杂牌军”,没有科班,没有统一的专业,更多的是具有丰富的经验和不同行业背景的员工,例如具有语言学、数学、物理学、计算机、工程、管理等学科等背景的员工。但是,这不是说随便什么人都可以做测试工作,陈宏刚工作过的那个试验室,20个人中有7个博士。可见,虽然测试不是一个专门的学科,但是,这个部门对于一个成熟的软件企业又是至关重要的部门。

认识需再提高

IBM和微软公司属于的大公司,对测试的认识也经历了一个过程。开始的时候,也是开发人员兼职做测试,像国内一些较小规模的软件企业。但是,后来的结果表明,花在软件修补上面的费用太高,以至于远远超出了所能够允许的范围。这个时候,增加测试队伍的规模,提高测试队伍的素质,提高测试队伍的待遇和受重视的程度是更加划算的。

还有一个问题是,很多工程师不愿意做测试,认为是一种打下手的工作,没有前途,这也是国内比较大软件企业面临的问题。所以,企业从上到下普遍自觉和不自觉地只重视技术,不重视质量,后果是产品在市场上竞争力不高,产品售后维护和服务费用偏高。

巨大反差

微软的开发工程师与测试工程师的比例是1∶2,国内一般公司是6∶1。而且,致命的问题是没有哪个机构专门培养测试工程师。这个矛盾提示我们,在中国不能等到实际的需求和人力资源矛盾十分尖锐的时候,再谈培养问题;也不能等到产品质量成为产业阻碍的时候再来提高软件业的测试水平。测试工作不能靠手工劳动来完成,更多的情况是要使用工具软件和编写测试程序来完成,培养全面的测试专业人才是项任重道远的工作。