首页 > 范文大全 > 正文

软件第三方测试实施中的问题及建议

开篇:润墨网以专业的文秘视角,为您筛选了一篇软件第三方测试实施中的问题及建议范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

(同济大学,上海 201804)

摘要:分析了当前国内外软件测试的发展现状,并由此引出了软件第三方测试;讲述了目前软件第三方测试在国内的应用现状及其在具体实施中存在的问题;基于软件第三方测试在国内具体实施中存在的问题总结了几点建议;最后对软件第三方测试的未来发展作出了展望。

关键词: 软件第三方测试;质量评测;开发成本;规范;验收

中图分类号:TP311文献标识码:A文章编号:1009-3044(2009)28-7982-03

Problem Analysis and Suggestions for Third-Party Software Testing

ZHOU Ping,WU Wei-wei

(Tongji university, Shanghai 201804, China)

Abstract: This paper analyzed the development situation of software testing in foreign and domestic,and then arrived at the third-party software testing. It next introduced the present application situation of third-party software testing in domestic. Then, it focused on the problems existing in the executing process of third-party software testing. Based on the problems those were discussed, it proposed some suggestions for the long-term development of third-party software testing and prospected the future of it.

Key words: third-party software testing; quality evaluation; development cost; specification; acceptance

随着社会对信息化依赖程度的不断加深,软件的种类和数量也越来越多,软件行业也因此由“卖方市场”转变为“买方市场”。在供过于求的情况下,软件用户必然会对软件质量提出更高的要求。国家应用软件产品质量监督检验中心总工程师鞠琳博士在《提升软件质量,推进行业信息化》主题演讲中提到美国国家标准和技术机构(NIST)近期的一项研究发现:软件的自身缺陷使美国经济每年要付出近600亿美元的代价,其中80%的资金被开发人员用于确定和纠正软件缺陷。据调查,国际上软件开发人员与测试人员的比例大都在1:1,软件测试收入占软件总产值的20%,而国内软件产业尚未形成这种状态。

1 国内外软件测试工程发展现状

软件测试是许多软件交付用户前的最后一个环节,是保证软件质量的主要手段[1]。国外的软件厂商极为重视软件测试工作,软件开发成本中的30%-50%用于软件测试。为打造Windows 2000,微软用了250多个项目经理、1700多个开发人员,而测试人员则用了3200人,测试人员几乎是开发人员的两倍[2]。每修改一个错误,都要花费大量时间和精力确保没有新错误产生。目前,国外软件测试工作已经演变为一门独立的学科,囊括了配置方案、测试机制、跨平台策略和产品性能、稳定性等独立的知识模块。

虽然国内许多大中型软件企业已经开始意识到软件质量的重要性,很多软件企业也已经配备了质量保证体系以及企业内部的测试队伍,但在软件项目面临时间压力、必须加快研制速度的情况下,通常测试会成为换取项目进度的牺牲品[3]。除此之外,由于许多企业软件工程过程管理不力,甚至缺乏管理,致使软件产品文档和资料不齐全,缺乏统一标准,消化理解困难,特别严重的是,有时小的需求错误,经过多次开发放大,到后来牵一发动全身以至于不可收拾。

令人欣喜的是,随着软件产业的发展,国内越来越多的第三方测试机构应运而生。第三方测试作为独立的测试服务机构,其相对于软件开发企业的内部测试及用户测试具有很多优势。首先,第三方测试以合同的形式制约了测试方,使得它与开发方之间存在某种“对立”的关系,所以它不会刻意维护开发方的利益,能够保证测试的客观性;其次,独立测试在长期的工作过程中势必能够积累大量的实践经验,形成自己的专业优势。并且软件工程测试也是技术含量很高的工作,需要有专业队伍加以研究,并进行工程实践。长期的实践积累加持续深入地学习,使得第三方测试具有难以比拟的优越性。再次,第三方测试机构的主要任务就是进行独立测试工作,这使得测试工作在经费、人力和计划方面更有保证。不会因为开发的压力而减少对测试的投人,降低测试的充分性,可以避免目前开发单位普遍存在的重开发、轻测试的现象。最后,开发人员由于对软件产品的设计、编码等过程都比较熟悉,容易养成思维定势[4],以至于在测试过程中思路比较有限,采用第三方测试能有效地避免这一问题

伴随着软件生产规模的扩大和用户对软件质量要求的提高,第三方测试的优势也将日益明显,在今后的发展中软件第三方测试必然会得到更多软件用户和软件企业的认可。

2 软件第三方测试的应用现状

从国外的经验来看,软件测试工作已逐渐由专业的第三方来承担。第三方测试工程主要包括需求分析审查、设计审查、代码审查、单元测试、功能测试、性能测试、可恢复性测试、资源消耗测试、并发测试、健壮性测试、安全测试、安装配置测试、可移植性测试、文档测试以及最终的验收测试等十余项。测试并不仅仅是为了要找出错误,测试方还需要对错误进行归类和总结[5]。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进,从而更好地帮助用户。

软件第三方测试是软件开发方和用户出于不同目的共同选择。随着软件全球化竞争的日益加剧,用户对软件质量的要求也随之提高。为了提高软件质量,降低软件开发成本,许多软件开发方已经逐步将部分测试业务交给第三方负责。与此同时,对于应用软件、甚至系统软件,大多数用户都不是很熟悉其特性,质量评测基本难以进行,迫切需要专业的机构对开发方提供的软件给予客观的测试。正是由于采用第三方测试可以保证测试的独立性、客观性及第三方具有的测试的专业性使得第三方测试越来越成为用户的首选。

目前在国内,虽然软件第三方测试的发展还处于起步阶段,但已经有许多软件企业开始认识到软件质量的重要性,选择第三方测试的软件企业和用户都越来越多。在一些重要计算机软件应用领域,如金融、安全、航空、航天以及军事等方面,已经有不少用户开始颁布测试规定,要求第三方测试,并在逐步将软件测试通过合同关系委托第三方承担[6]。在通信领域,手机等产品的软件需要第三方测试后才可交付使用。在已经进行的一些工程项目当中,软件测试都取得了确保软件产品质量的预期效果,逐步被软件用户和软件企业所认可。

3 软件第三方测试在实施中遇到的问题

目前,软件第三方测试在国内已经兴起,随着社会信息化程度的提高、软件大生产的发展,软件第三方测试必将在国内盛行。但由于软件第三方测试在国内还处于起步阶段,在具体的实施中不可避免地遇到了如下一些困难和问题。

1)软件企业对测试仍不够重视,重开发、轻测试的现象在国内许多软件企业中仍普遍存在。由于对软件测试的不重视,常常导致软件产品的售后服务费用大大增加,从而使得软件产品的成本大幅度提高。成本的增加又导致软件公司考虑到资金问题不愿意增加投入为软件做第三方测试,即使做,给第三方软件测试公司的报价也是极低的。软件企业陷入了这样的死循环,作为软件测试的第三方,面临的问题是回报低但工作量又十分庞大,使得软件测试公司没有盈利的空间,这就成为制约第三方测试公司发展的一个瓶颈。

2)用户和测试机构都还不够成熟,对第三方的认识还比较粗浅,工程实施过程比较随意,项目水平不尽如人意。

3)用户、开发方和第三方的责任与权利常常划分不明确。在实际的第三方测试实施过程中,有些用户甚至软件开发商,容易将软件质量的高低完全寄托于第三方评测服务商,一旦软件达不到系统设计的质量效果,就归罪于第三方。这种认识很打击测试人员的积极性,软件中的错误可能发生在软件项目的各个环节,软件测试只能确认软件存在错误,不能保证软件没有错误,软件测试不可能发现全部的错误。

4)三方关系的协调问题。软件第三方测试的形式一般是第三方评测服务商与软件用户之间签订合同,但实际工作中往往需要软件开发方的密切配合,因此能否处理好用户、开发商与第三方之间的关系,在很大程度上影响第三方测试的效率和质量。

5)许多国家机构也发现软件第三方测试市场,他们对企业软件进行测试,发放国家认可的证书。这就给民间的第三方软件测试公司的成立带来了很大的压力,这些企业的创办者经过测试很难给企业发放这些证书。所以许多软件企业纷纷停止这项业务,而转入更容易赚钱的其他项目,比如软件测试培训。而需要第三方软件测试的企业也找国家直属的企业进行产品认证。

6)软件大企业测试的竞争。许多产品往往都需要进行第三方测试,比如软件本地化测试。微软的产品,生产一个就要产生世界各地的本地化版本,如果这些工作都让微软来做,得不偿失。而国内许多大企业,他们一直与这些大的国际企业有着长年的友好关系。他们往往可以接下这种测试任务,在社会上招聘测试工程师,宣称赴某大公司工作,然而项目一旦完毕,就将这些人员解散。

总之,由于没有建立起一套正规的游戏规则,给软件第三方软件测试的发展带来了许多不利因素。虽然业界已经认识到了第三方测试的重要性,但是在目前条件下第三方测试发展的道路仍旧十分艰难。

4 软件第三方测试发展的一些建议

软件第三方测试是测试工程未来的发展趋势,但由于第三方测试在国内尚处于起步阶段,其在具体的实施过程中不可避免地遇到了种种困难和问题。针对目前第三方测试在实际项目实施中遇到的问题,笔者给出以下几点建议。

1)切实提高软件企业及软件用户的产品质量意识。不论是对于软件企业还是软件用户,质量管理的薄弱都会为其带来不可估量的损失。对软件企业而言,如果因软件质量的不过关,导致用户蒙受损失,其必将失去客户的信任,从而影响自身的发展。对软件用户而言,严格的软件质量控制关系到自身的切身利益。软件质量缺陷问题为软件使用方带来诸多不便、甚至让软件用户蒙受巨额损失的例子比比皆是[7]。因此,作为专业测试的第三方,必须加大软件质量意识方面的宣传,只有软件企业和软件用户的质量意识提高了,软件第三方测试才会有更大的发展空间。

2)规范软件第三方测试市场。面对日益增大的市场需求,不少软件第三方测评中心纷纷建立,甚至有些企业购买一两套自动化测试工具就成立了软件测试中心。其结果可想而知,测试过的软件质量不过关,用户不满意,导致用户失去了对第三方测试的信任,制约了第三方测试的发展。笔者建议不要盲目建立测试机构,搞重复建设。要规范软件测试市场,对测试结构进行整合,建立较大规模的权威测评机构,做到测试不是走过场,真正达到提高软件质量的目的。

3)制定合理的项目验收标准。项目验收的技术标准是第三方合同中必须重点解决的关键问题。合理、明确、符合软件测试技术特点的验收标准,能够明确测试方的责任,无论是对测试方还是用户都有好处。验收标准应面向测试的整个过程并具有可操作性,这样便于测试完成后用户的验收[8]。对大型系统的第三方测试建议重点面向有效性指标制定验收标准。

4)加大软件测试人才建设。在国外,有三年以上开发经验的人员才可以转做软件测试工作。而国内恰恰相反,往往是刚刚参加工作的新人被安排在测试的岗位上,导致测试人员的业务素质普遍较低。2004年原国家信息产业部联合五部委颁布124号文件,强调要“加快培养软件测试人才,开展软件评测技术的研究”为软件测试人才的培养提供了政策支持。虽然近年来,国内众多的高校、职业培训机构都在加强专门的软件测试人才的培养并且取得了一些成绩,但软件测试人才缺乏问题仍未解决。只有加大软件测试人才建设,实现我国软件测试人才供需平衡的良性发展结构,才能有力促进我国软件产业蓬勃发展。

5)用户参与。用户方的充分参与既可以让测试中的许多具体问题得到迅速的解决,又可以对测试起到监督的作用,保证测试全面细致地进行。此外,测试方采用的测试思路及其制定的验收标准等都需要得到用户的认可,所以测试过程中应尽量调动用户积极参与,这样既能让用户更好地理解和接受测试方的测试思路及验收标准等,又能让用户起到协调第三方与开发方关系的作用,从而提高测试的效率。

5 总结

虽然目前第三方测试还刚刚兴起,但第三方测试服务相对于软件企业内部测试及用户测试,拥有不可比拟的优势。随着软件企业和软件用户的质量意识不断提高,以及用户对软件测试服务的需求增大,软件第三方测试服务必将在国内得到蓬勃发展。

参考文献:

[1] 王峰,郑彦兴,包阳.软件第三方测评[J].计算机研究与发展,2008(45):345-350.

[2] 陈宏刚,熊明华,林斌等.软件开发过程与案例[M].北京:清华大学出版社,2003.

[3] 苏正泉.软件测试的10个认识误区[J].电脑知识与技术,2006,(14):149.

[4] 郭树端.软件第三方测试的意义及可行性分析[J].电子产品可靠性与环境试验,2003,(02):47-49.

[5] 王萍.软件测试的重要性[J].软件导刊,2009,(04):20-21.

[6] 巨振乐,赵明辉.正在兴起的软件测试外包[J].时代经贸,2009,(Z1):54-58.

[7] 韩庆良,软件测试在软件获取过程中的应用[J].信息技术与标准化,2008,(06).

[8] 陈锃基,黄茂生.软件第三方确认测试的管理与策略[J].电子产品可靠性与环境试验,2005,23(4).