【摘要】 本文主要对软件测试的和第三方测试的调查结果进行系统分析,得出一些软件测试外包市场相关的结论,提供给业内人士参考。
【关键字】 软件测试、 外包、 第三方测试
• 软件测试现状
软件测试包括测试技术、测试方法和测试管理。软件测试是软件质量的核心。
对信息化依赖程度不断加深的社会,必然会对软件质量提出全方位的要求---安全、稳定可靠、方便灵活。软件测试正是控制软件产品质量的重要手段, 控制软件产品质量的重要手段就是通过权威机构的软件测试。国外软件厂商极为重视软件测试。为打造windows2000,微软用了250多个项目经理、1700多个开发人员,而测试人员则用了3200人!几乎是开发人员的两倍。而且,每修改一个错误,都要花费大量时间确保没有新错误产生。
目前,我国软件业的质量保证体系还很不完善。相比之下,在国外许多国家的软件公司,软件测试工作已经逐渐演变成一门独立的科学,囊括了配置方案,测试机制,跨平台策略和产品性能,稳定性等独立区域的知识模块。
长期以来,我国软件企业产品开发时,测试成本却常常是最容易被压缩,甚至被完全“砍”掉。这导致我国软件产品质量低下,无法创出自己品牌,走向世界。在国际上,开发成本中的30-50%用于软件测试。而国内有的开发成本远远达不到这个百分比。上海市计算机软件评测重点实验室的评测报告显示,在2002到2003年评测的560多项软件产品中,一半以上的软件文档质量不规范。与此同时,只是有少数的软件企业设立了专门的测试部门。因此,在当前不断加深于对外合作的环境下,除了优秀的软件开发团队,具备良好的软件测试环境也是软件市场与国际接轨的必不可少的重要部分。
目前国内的软件测试一般有下列几种形式:
- 软件公司内部的功能性测试,目的是检查设计的功能能否完成;在软件开发管理规范的软件公司,软件测试比较全面规范,质量工作可以说完成的比较好。在软件开发管理比较薄弱的公司,测试是由开发人员或者抽调同公司别的部门的人员进行的。或者干脆不做测试。
- 用户测试,大量的用户一起寻找使用中遇到的错误。发现的问题多集中在用户使用方面,及可用性方面问题。用户测试,因为用户没有系统的计算机知识,对产品的测试结果也只是片面的,不能全面对软件产品进行评价。
- 第三方测试,就是运用专业软件测试管理机制,专业的测试人员运用一定的测试方法、工具对软件的质量进行全面检测。其形式更多的为:软件本地化企业组织测试人员到大型软件公司的软件开发现场进行测试。这是大多数软件本地化企业不愿意接受却又实际采用的模式,主要是因为软件开发商保证新项目信息保密安全,便于监控软件测试的进度和质量。
- 据介绍,国际上软件开发人员与测试人员的比例大都在1∶1,软件测试收入占软件总产值的20%,而国内软件产业尚未形成这种状态。截至2002年底,软件企业中通过ISO9000认证的企业仅占总数的7.5%。不过令人高兴的是,国内大中型软件企业开始认识到软件质量的重要性。很多企业已经配备质量保证体系,以及企业内部的测试队伍。
目前,国内已拥有的第三方测试机构很少。但在软件业较发达国家,绝大多数的软件产品的认定,都需要第三方测试的介入,软件测试行业产值几乎占了软件行业总产值的1/4。与之相比,国内的软件测试行业实在微乎其微。空白同时意味着机遇,潜力也许就在其中。
• 市场调查数据
那么在目前的情况下,国内软件企业对软件测试的重视程度和对软件第三方测试认知程度又是什么样的呢?
笔者在最近的几个月时间里,通过网络对目前的软件测试和第三方测试服务的现状做了相关的调查。通过反馈回来的数据我们可以看到国内目前的现状。
• 调查内容
在本次调查中,调查的问题包括:
- 公司规模:a、10人以内;b、10~50人;c、50~100人;d、100以上。
- 开发队伍人数:a、10人以内;b、10~50人;c、50~100人;d、100以上。
- 是否有测试人员:a、是;b、否。
- 测试队伍人数:a、0;b、10人以内;c、10~50人;d、50~100人。
- 公司对采用测试过程后,感觉是:a、很好,软件产品质量有很大提高;b、一般,没什么太大变化;c、很糟糕,还不如不测试;d、从没有测试过,不了解。
- 是否听说过测试外包服务:a、是;b、否。
- 贵公司是否需要测试外包服务:a、是;b、否。
- 如果需要测试外包服务,您希望的方式是:a、服务方全部负责测试全过程;b、协助本公司完成部分测试工作既可;c、其它(请说明)。
- 是否有完善的测试管理机制:a、是;b、否。
• 调查目的
本次市场调查的主要目的
- 国内不同规模软件企业对软件测试的重视程度;
- 测试队伍和完善测试管理体系的普及率;
- 国内不同规模软件企业对软件测试外包服务方面信息的了解程度,和企业是否愿意接受软件测试外包服务的情况;
• 调查数据图表
1)公司规模(图见下页)
2) 开发队伍现状
3) 公司是否有测试人员
4) 测试队伍现状
5) 公司采用测试后对测试的感受
6) 是否听说过外包测试服务
7) 外包服务需求
8) 外包服务需求形式
9) 是否有完善的管理机制
10) 不同规模公司的外包测试需求
11) 不同规模公司的外包测试形式
12) 不同规模公司对测试的感受

在本次调查中,来自全国各地的130多家软件企业参与了调查。其中员工人数在100人以上的软件企业在这次调查中数量最多,占57%左右。其次是员工人数在150人以下的小型软件企业,占25%左右。
通过网上的调查数据表明,目前国人的软件企业有近91%左右已经配备了测试队伍,更多的企业通过软件测试来提高自身的软件产品质量。总体上,认为通过测试后软件质量得到很好提高的占69%左右,认为一般的占22%左右。在不同规模的软件企业对软件在测试后质量提高的认同比率都是非常高的,认为软件测试后对软件质量提高作用甚微的比率很小不足1%。但我们还看到。在调查的所有企业中仍有近8%左右企业根本没有对软件产品进行过测试。在所有的调查企业中,即便是在软件开发过程中通过软件测试方式来提高软件产品质量,但对于测试过程的控制还是重视不够。在测试管理方面具有完善的管理机制的仅占15%左右。这个比例还是比较低。
外包测试服务的调查数据表明,在国内,外包测试服务的概念已经广泛的流传,也被许多企业熟识,有近85%左右的调查企业了解外包测试。但是,虽然很多企业了解外包测试的形式,但愿意采用外包测试服务的企业并不多,仅占25%左右。在愿意采用外包测试服务的公司中,从公司规模上看,10人以下的软件企业愿意采用外包测试服务的需求最高。其次100人以上的软件企业比例稍大一些,约占30%左右。
在所有的调查企业中,假设采用外包测试服务的前提下,采用“协助本公司完成部分测试工作既可”这种形式的最多,占64%左右。而同意采用“服务方全部负责测试全过程”仅占26%左右。对于不同规模的软件企业普遍认同采用“协助本公司完成部分测试工作既可”这种形式,调查数据显示的百分比都超过60%。该形式成为软件企业不愿意接受却又实际采用的模式,出现这种现象的原因是因为软件开发商保证项目信息保密安全,便于监控软件测试的进度和质量。
通过调查数据显示,国内软件企业已经逐渐重视软件测试在开发中的重要地位。但是因为处于发展阶段,在质量控制方面并没有找到很好的途径,有的还处于摸索阶段。很多企业没有很好的相应管理模式。在质量保证的实施方面,还处于“自力更生”阶段。对采用外包服务的模式,还没有被广泛的接受。
• 现状分析
• 软件质量保证
在软件开发过程中,测试应占有很重要的地位。但为什么在实际的软件开发过程中测试的成本被压缩呢?根据国内目前的现状,分析原因有以下几点:
- 国内软件用户(企业)对计算机使用率普遍低,即使在计算机设备比较普及的企业中,员工对计算机的了解大多数处于初级阶段,对软件测试的认识更少。
- 计算机使用的范围受限,必然限制软件的推广使用,用户对于软件质量的认同标准不高,普遍认为能够使用即可,出了些问题也可以接受。正是由于客户的这种心理,使得软件开发企业敢于压缩测试成本。
- 软件企业规模小,软件开发过程不完整。重开发,轻测试。有的软件公司根本没有测试队伍。
- 软件企业在压缩测试成本的同时,对开发相关的支持文档也不重视。这为企业的发展带来很多不利的影响。
- 软件企业对软件质量要求的认同存在差距,同时也缺乏有效的改善措施。有些软件企业,即使有测试队伍,但缺乏有效的测试管理,使得企业内部的测试工作效率低下。
- 某些企业因为受到资源的限制,虽然想提高软件质量,但由于缺乏资金、人员等方面的资源,没有能力去做质量管理方面的工作。
- 软件质量保证工作需要相关的人力资源、硬件资源、管理体系、软件测试工具等。
虽然,目前很多软件企业都配备了专门的质量保证部门或软件测试队伍,但软件测试的重要性还没有得到普遍的认同。但随着软件企业和软件用户群的质量意识不断提高,用户对软件测试服务的需求增大。提供软件测试服务还是有比较大的前景和市场。
• 测试服务
目前,在国际上软件业较发达的国家,绝大多数的软件产品的认定,都需要第三方测试的介入,软件测试行业产值几乎占了软件行业总产值的1/4。而国内在测试服务方面,软件测试服务的还处于起步和摸索阶段。专业的第三方测试机构还非常少。通过借助第三方测试完成软件开发的企业更少。
第三方测试机构都希望通过拓展市场,来扩大自己的生存空间。虽然,国内的测试服务市场还不够成熟,但在未来测试服务市场肯定会有很大的发展空间。在目前还存在以下的问题:
- 软件测试服务的对象不清晰。
- 如何提高客户对软件测试服务的需求。
- 如何提高测试机构的业务和技术水平?
- 软件测试服务应该包括那些具体的内容?
- 第三方测试机构服务与软件公司的内部测试相比,有哪些优势?
• 期待解决的问题
针对目前在测试服务方面存在的一些问题,笔者认为认清以上面提到的几个问题。
• 软件测试服务客户
软件测试服务的发展要依托于广大的客户群。那么,哪些客户应成为软件测试服务的对象呢?目前,针对国内软件的发展状况,软件测试服务的客户主要有以下几种:
1)大型的软件企业。
这种类型企业有着规范的软件开发过程控制,深知软件质量的重要性。在软件开发中,比较重视软件测试这个阶段,肯于花费必要的资源、资金去做质量保证工作。在这样的企业中,有专门的质量保证部门,在各开发部同时存在一定数量的测试人员。同时有着良好的过程管理模式。在测试方面它们会采取两种方式:自己的内部测试;外包给其它测试机构。
2) 中型软件企业。
中小型软件企业类型中,企业的种类比较复杂。归纳下来有以下几种:
软件开发过程比较规范。具有完善的过程管理机制,组织部门齐全。
软件开发过程规范,公司有专门的测试队伍,但缺乏合理的测试管理。
软件开发过程不规范,公司没有专门的测试队伍,测试是由开发人员或者抽调同公司别的部门的人员进行的。或者干脆不做测试。
3) 小型软件企业。
由于企业规模小,企业组织结构不完整。这样的企业基本上没有转门的测试队伍,更没有完善的测试管理机制。
企业级的软件最终使用用户。
在我国,大中型企业普及管理信息化是必然趋势。在这类企业中,各种用于企业管理的软件产品或项目数量都非常巨大。但由于这类企业没有专业的计算机质量保证人员,无法有效的验收软件产品或项目。
根据调查数据显示,目前软件测试服务的客户主要集中是大中型软件企业。而主要的合作形式为:协助本软件企业完成部分测试工作。为在质量管理薄弱的企业提供优秀的管理模式也存在很大的市场,主要客户集中在中小型软件企业。同时企业级的软件最终使用用户也是软件测试服务的重要群体。
• 唤起客户的质量意识
随着计算机使用的普及,各行各业对计算机使用的不断提高,企业对员工的计算机水平的要求也不断提高。这样,势必会不断提高软件使用企业对软件产品的质量要求。同时,由于软件使用企业在过去的软件项目实施时,对项目验收把关不严格。在后来的使用过程中发现质量不高的软件产品为企业管理带来诸多不便。在某些行业里,因为软件的错误给企业带来的损失是巨大的。这些原因都使得软件使用企业对软件质量的要求发生变化,对软件产品的质量要求越来越高。
对于软件企业,越来越认识到软件产品的质量是企业的生命线。软件产品质量不能得到保证,会造成软件项目的失败,企业失去客户的信任,给企业带来巨大的经济损失。
软件企业和软件用户双方都对软件质量提出了高的要求。软件测试服务在这样的环境下,有着很大的发展空间和很多的商业机遇。作为软件测试服务机构应该抓住这个良好的发展机会,大力推广软件测试服务业务。
近年来,国内的软件行业内一直提倡中国的软件靠出口来发展自己。希望通过获得更多的软件外包项目来扩展生存空间。但现实的问题是,中国技术整体水平不高,软件外包讲究的是,低成本和高质量,管理比技术重要得多,而国内软件开发管理与国际先进水平相比还有一定差距。外包对软件企业管理水平、维护能力,以及商务、法律的国际接轨都有相当的要求。而我国软件企业相对松散,质量管理也处于弱势,很多还是作坊式的研发。质量管理的薄弱,使得国内的软件行业难有很强的竞争优势。现实也要求国内的软件行必须提高质量意识。
作为软件测试服务机构要广泛宣传软件质量的重要性,唤起客户的质量意思。同时提高自身业务素质和技术水平。
• 软件测试服务结构
为了更好的服务于客户,软件测试服务结构应具有完善的管理机制;一流的计算机硬件设备;先进的软件测试工具、测试方法和测试管理体系;众多优秀的技术人材。具有丰富的软件产品项目经验,建立常见应用管理软件的测试用例库,提高软件测试的复用性,提高质量和效率。
• 软件测试服务内容
软件测试服务机构的业务包括以下几方面:
- 为软件企业提供第三方测试服务。
- 为软件企业提供优秀的质量管理模式。包括:ISO、CMM、CMMMI、SJ/T11234、SJ/T11235和测试管理模式。
- 质量管理的咨询服务。
- 为软件企业提供多种的测试服务:登记测试、鉴定测试、质量测试、验收测试、系统功能测试、安全测试和性能测试等。
- 为软件使用企业提供软件项目的验收测试服务。
• 软件测试服务的优势
专业软件测试机构具有成熟的测试流程和测试方法。可以为软件企业节约成本,包括人力资源成本和购买测试工具等。另外,专业软件测试机构专门从事测试工作,在软件测试方面具有很多知识和经验等方面的积累,更利于挖掘更多软件中的缺陷,避免思维定式。为质量管理薄弱的软件企业提供优秀的管理模式。同时为软件使用企业提供良好的技术支持。
• 小结
软件测试在国内的发展过程,同样会反映在第三方测试服务上。虽然还存在很多的问题,但软件测试和第三方测试服务将成为具有广阔发展前景的领域。软件测试和第三方测试服务的兴起意味着更多的机会。通过提供软件测试服务,国内软件本地化企业可以扩展服务业务范围,扩大企业发展规模,完善企业管理等。