当你从飞过几万米高空的机舱内平安走出时,当你在地下数百公里的地铁中顺利换乘时,当你沉迷于手机中新下载的游戏时,当你打开熟悉的办公软件开始工作时……朋友,你是否意识到自己正处于幸福中呢?你也许很惊讶地看着我:“这很平常呀!”呵呵,这不是在寻找可爱的人,但是在工作、生活中确实有这样一个“可爱”使者陪你左右,它是软件。

  据新出炉的《2008年中国计算机市场预测报告》显示,2007年前三季度,软件行业实现收入3784.99亿元,同比增长23.6%,占整个电子信息行业收入比例的10.95%。“软件为充满活力的IT经济做出了巨大的贡献。”IDC首席研究官约翰•甘茨如是说。大到医疗、航天领域,小到手机、MP3,软件已渗透到我们生活的方方面面。一旦它们有了“差池”,我们的生活将发生天翻地覆的改变。

  蝴蝶振翅的代价

  加拿大医院4位接受放射治疗的癌症患者死于非命,英国劳动保障局的计算机系统给纳税人带来10亿英镑的损失,1.7万架飞机在洛杉矶国际机场内滞留超过8小时……而造成这些人员伤亡、财产损失的根本原因是系统中的软件故障。一个连字符的丢失,一个软件运行上限的误定等等如蝴蝶振翅一样微乎其微的缺陷,却为整个系统、客户乃至用户带来灾难性的风暴。现在,软件故障造成的事故已经引起西方工业的高度重视,对软件的质量也提出了更高的要求。如美国标准中指出,合理的软件平均故障间隔应在10000小时左右。当然,要求的提高终要靠实际执行来落实。作为软件质量安全副驾驶的软件测试人员自然是不二人选。

  软件王朝的言官

  “看,那个找茬的人又来了!”开发人员口中的“麻烦”人物正是测试人员。不过测试人员却不这么认为,他们更喜欢说:“如果你的软件能工作,请感谢测试。”公说公有理,婆说婆有理,那么软件测试到底是什么样的工作呢?“测试是以评价一个程序或者系统属性为目标的任何一种活动,是对软件质量的度量。”Bill Hetzel在《软件测试完全指南》中这样定义。而这一定义的执行者测试人员如同古时的“言官”:身份独特,职权特殊,有相当的话语权,对软件企业()的运作有着极强的影响力。

  当然权力与能力是成正比的,软件企业()对测试人员(言官)也有特别的要求。一是热爱工作,兴趣是工作的动力,测试人员愿为产品的完善而全力以赴,一如言官愿为的安定而冒死进谏。二是明察秋毫,要想尽可能地发现产品中的缺陷,必须具有专业的测试技术与技巧,除此以外,还要具备耐心、细心等品质。三是知识渊博,除了对技术专注外,测试人员还要对软件产品的相关领域有深入了解,考察客户需求,如银行业务人员习惯使用键盘,如果不知道这点软件设计以鼠标操作为主,那么无论软件多好,银行都不会购买。四是要能言善辩。“画一条线,1美元;知道在哪儿画线,9999美元。”斯坦门茨用一句话搞定了人们的质疑并被福特公司重金聘请。测试人员虽然不可能一句话平息开发人员的质疑,但是善用沟通技巧一样能缓和对立的氛围。

  每个朝代几乎都有言官,本着为国为民的原则,上至文武百官,下到平民百姓,只要有不利于发展的行为,言官都会严肃批评,以确保能稳步发展。在新时代的软件王朝中,扮演言官角色的测试人员又将面临什么样的机遇与挑战呢?

  后起之秀的前途

  2005年10月25日,劳动部正式将计算机软件产品检验员(即软件测试工程师)列入第四批新职业中。经过短短两年的发展,软件测试已跻身IT业抢手的职业之列。究其原因主要有二。首先是企业对测试“经济价值”的认可。有调查显示,通过必要测试,软件缺陷可减少75%,而软件的投资回报率则可增长到350%。“对于一个软件企业来说,只有它的产品或是项目质量完全的得到认可,业务才有可能进一步扩展。”海辉集团测试部副总裁石武太这样说。对此,北京康赛普特信息技术有限公司总经理王亚智业表示认可:“我的大学同学在毕业后创办了个软件企业,当时发展很快,但是到了2000年左右,却走向了瓶颈,主要原因是他没有特别注意软件质量,忽视了软件测试。”目前,很多中大型软件企业设立了单独的测试部,与开发部并行运作,测试人员也与开发人员平起平坐。除了产业的自身需求外,政策的大力扶植也是软件测试大力发展的原因:2003年,人事部和信产部关于职业资格认证第一次在我国有了“软件评测师”的称号;2007年,信产部联合五部委颁布124号文件,特别强调要“加快培养软件测试人才,开展软件评测技术的研究”。

  在外界环境大好的情况下,软件测试却面临着自身的严峻考验——人手不够。据前程无忧调查显示,国内120万软件从业者中,真正能担当测试职位的不足5万,人才缺口已超20万,并随需求逐年增长。“软件测试人才需求量的加大,除了受产业先行的波及外,主要是受教育滞后的影响。”我国的计算机专家谭浩强介绍说。由于及时捕捉到市场的需求,部分IT职业机构先驶入测试培养的蓝海,紧跟发展趋势,开设了一系列科学完善的课程体系,为软件企业培养了近6000名专业软件测试工程师,成为人才培养的主力军。除了专业的培训外,企业也通过内部培训、引进人才等方式来培育人才,但受人力成本的限制,这些方式没有大规模普及。另外,国内部分高等院校也开始着手准备,召开软件测试教学研讨会,筹划专业开设的相关事宜。

  “中国已确定将软件业作为优先发展的战略性产业。”国务院副总理吴仪曾明确指出软件产业对中国国民经济发展的重要作用。作为提升产业竞争力的核心,软件测试也被纳入重点扶植的行业中。为了配合2008年奥运会的召开,科技部、北京市政府和北京奥组委等投入近20亿,组建10个重大的智能型项目,涉及上百个软件系统。如此庞大的信息服务系统,对软件测试人员的需求更是剧增,也将进一步扩大人才缺口。路漫漫其修也远矣,软件测试的奔腾年代还将持续很久……