51Testing软件测试论坛
标题:
国内软件测试现状分析及对策
[打印本页]
作者:
楠族开心果
时间:
2010-11-8 16:28
标题:
国内软件测试现状分析及对策
什么是软件测试…?IEEE在1983年是这样定义的:由人工或自动方法来执行或评价系统或系统部件的过程,以验证它是否满足规定的需求.或识别期望的结果和实际结果之间的差别。它是软件工程的一部分,它随着软件开发应运而生,并随着软件开发的产业化而受到重视。简言之,软件测试就是不断发现Bug,并不断修正的过程。
目前.我同的软件测试行业较欧美国家的差距还比较大,这里面原因很多。我国的软件行业起步晚,这是一个不争的事实,所以在很多方面没有做到标准化和规范化;除此之外,软件质量低下也是一个重要的原因。计算机和软件行业的发展日新月异.加入WTO后,我国的软件行业面临前所未有的挑战——如何进一步提升我国软件行业的生产水平和软件质量,与世界接轨?照理说,在这个大背景下,软件测试理应受到越来越多的重视。然而在我国事实真的如此吗?或者说即使很多软件企业有了这样的意识,它们付诸行动了吗?
1国内软件测试的现状
从总体上说,国内的软件行业的发展还很不成熟,软件测试更是处于弱势地位。要说明现状,必须要有调查资料作为基础。51Testing软件测试网是国内最大的软件测试网站.它在2008年发起了“中国首届企业软件测试现状调查活动,并在此基础上进行了全面、真实、有效的数据分析和整理,收到了较好的调查效果。在此,将以此次凋查中的一些数据为基础,说明一下国内软件测试的现状。
1.1从公司软件测试部门的独立性来看
1.2从公司专职测试人员与开发人员的比例来看调查数据显示.公司测试人员与开发人员的比例集中在1:3—1:5左右.19%的公司该比例达到甚至超过1:7,这与国外软件业1:1的比例相差甚远。
1.3从公司是否为软件测试人员制定职业技能提升规划来看
1.4从软件测试的规范化程度来看
2对现状和问题的解析
造成这种现状,产生以上问题的原因是比较多的,在此列出主要几个:
2.1国内的软件公司大多数为中小型的公司的小规模不足以成立专门的软件测试技术部门,另一方面也无法实现国外测试人员与开发人员的比例为1:l的国际标准;
2.2好多软件公司还停留在“作坊式”的开发状态这些公司一般是靠几个全能的程序员支撑起来的,他们是公司的“顶梁柱”。负责软件需要分析、总体设计、详细设计、编码以及测试和维护.公司的技术过于集中,而没有进行离散化之后再系统化。可以试想,开发人员测试自己开发的软件,结果可想而知;
2.3软件公司对测试的重视程度不够旧在这里领导不重视是主要原因,好多项目经理没有项目开发的经验,不懂测试,对测试的投入资金过少。他们认为:
1)软件测试没有开发重要;
2)由于时间的关系,有时就让时间充裕的员工,甚至是非测试人员去做测试;
3)在经过简单的测试之后,就认为是没有问题了,就交于用户了,让用户去“测试”;于是,软件产品在没有经过严格测试的情况下就发布了:
4)最重要的一点就是规范化。国内软件公司中能达到[SO和CMM(能力成熟度模型)高级认证的很少,不规范的软件开发普遍存在。没有按照CMM的“项目经理——系统分析——编程人员”进行;
5)软件开发过快,最后反而“欲速不达”。根本没有足够的时间来进行软件测试4;
6)对国内消费类软件而言,经常出现一些已经推向市场的产品由于被发现有严重缺陷而导致大量退货的现象;定制的行业软件,常出现一再返工、无限期的修改和维护的现象,这样既拖垮软件提供商,也耽误客户的正常业务。这些都是软件测试没有跟上的严重后果:
3研究与对策
国内的软件测试还处于一个不成熟的阶段,还需要一个相当长时间的学习才能赶超国外水平。但是,不可否认的是,国内软件测试作为一个崭新的行业发展还是很快的,大家对其发展也都抱着一个十分乐观的态度。不过,应该冷静地思考发展中遇到的问题.在此.提出以下建议:
3.1首先就是软件测试的意识问题和测试思想软件测试过程是质量保证和缺陷预防的过程,测试不再是软件产品质量的一个检测环节,而是融人到整个软件开发生命周期,它与软件开发相辅相成,不可分割。图10形象地表示了二者之间的关系。
作者:
楠族开心果
时间:
2010-11-8 16:29
3.2软件开发企业最好能成立独立的测试部门。将测试部门与开发独立开来但是独立开来,并不表示就没有联系了,因为毕竟测试部门测试的是开发部的产品,所以应该加强这两个部门的紧密沟通与合作。
3.3要尽早地制定出完整详尽的测试计划㈣凡事预则立,不预则废。软件测试也是如此。测试计划是项目计划的组成部分它依赖于软件组织过程和方针;它是一系列测试活动的指导文件。测试计划的主要内容有:
1)确认测试目标、范围和需求:
2)识别测试风险,制定相应的测试策略;
3)对测试任务和工作量进行估算:
4)确定所需的时间和资源:
5)确定进度安排和资源分派.其中包括团队角色、责任和培训:
6)测试阶段的划分,包括阶段性任务和成果;
7)确定测试中的跟踪与控制机制图
在项目开发的时间安排上,应该认识到软件测试的重要性,为计划、设计、测试、改错、再测试、变更、以及编制文档留出足够的时间。一般为测试安排40%到50%左右的时间,这样开发完成的软件才会得到充分的测试,才能具有比较好的稳定性。
3.4牢记软件测试的基本理念田
11质量第一:
2)尽早测试:缺陷发现越迟,影响范围越大,返工的工作量就越大,同时造成的危害也就越大;
3)持续测试:软件需要一个不断测试的过程,具体表现为:“发现缺陷——更正——发现缺陷”的循环;
4)自动化测试:软件测试活动的自动化管理,包括测试定义,结果信息显示,测试库管理和回归测试的控制等㈣;
5)将JxI险降至最低。
3.5工欲善其事.必先利其器——使用软件配置管理工具和测试工具
软件配置管理(SCM)是软件工程中用来管理软件开发的规范,也是CMM二级中的关键过程域,相应的工具主要应用于软件的开发过程中。开发人员写出规范的代码,软件的出错也就会降低,同时也会减轻测试人员的负担。自动化测试工具与性能测试工具在软件测试中起着非常重要的作用,优秀的测试工具,能提高测试工作的效率,同时也能对整个测试过程进行有效地管理。但是,也不要过分地依赖于测试工具,不要想当然地认为任何经过测试工具的测试都是有效的测试,或者经过测试工具测试之后的软件便不存在问题。注意测试工具与测试人员的“无缝接合”,将测试效率升至最高。
3.6要提高我国的软件测试行业的发展水平。还有一个关键。那就是人的问题
一方面要提高国内企业对软件测试的重视程度,另一方面要壮大软件测试队伍,善于学习与吸收,提高测试人员的素质,争取将测试人员与开发人员的比例上升到期
3.7大力发展第三方的专业测试公司。重视利用第三方的测试力量进行测试㈣,这也是重视软件测试的一个表现当然这样的公司在国内还比较少,但这是一个趋势。第三方的软件测试公司与国内的一些检测机构不同,相反,办事效率与质量会比较高,因为它们是依靠技术与服务来征服客户的。企业性质的第三方的专业测试公司更让人信赖,更加注重测试方法与质量。软件公司从头去建立测试部门,并完善测试体系,需要较大的资金投入将研发出来的软件产品交给实力强劲的第三方的专业测试公司,不仅仅能大大地提高软件产品的质量,而且还能节约产品测试成本。
3.8加强软件开发与测试的规范化
好多软件的最后不合格都是没有规范化的结果。国内的软件开发企业要不断的提升企业的规范化水平,同时进行软件质量体系的认证(1SO,CMM等),与国际接轨
4结束语
软件行业在我国是一个“朝阳产业”,而软件测试又是软件行业中的“朝阳产业”,它是保证软件质量的重要手段。经过几十年的发展,我国的软件测试和应用技术有了很大的进展,同时也得到了广泛的关注。然而,也应该看到,我国的软件测试行业与发达国家相比还有比较大的差距,很大程度上体现在软件测试的意识、技术和规范(比如说ISO和CMM)上。目前,只要我们加强测试意识的培养,加强技术上的学习,规范软件开发和测试流程,相信不久的将来,我国的软件测试和应用就会有一个比较充分、长足的发展
作者:
楠族开心果
时间:
2010-11-8 16:29
3.2软件开发企业最好能成立独立的测试部门。将测试部门与开发独立开来但是独立开来,并不表示就没有联系了,因为毕竟测试部门测试的是开发部的产品,所以应该加强这两个部门的紧密沟通与合作。
3.3要尽早地制定出完整详尽的测试计划㈣凡事预则立,不预则废。软件测试也是如此。测试计划是项目计划的组成部分它依赖于软件组织过程和方针;它是一系列测试活动的指导文件。测试计划的主要内容有:
1)确认测试目标、范围和需求:
2)识别测试风险,制定相应的测试策略;
3)对测试任务和工作量进行估算:
4)确定所需的时间和资源:
5)确定进度安排和资源分派.其中包括团队角色、责任和培训:
6)测试阶段的划分,包括阶段性任务和成果;
7)确定测试中的跟踪与控制机制图
在项目开发的时间安排上,应该认识到软件测试的重要性,为计划、设计、测试、改错、再测试、变更、以及编制文档留出足够的时间。一般为测试安排40%到50%左右的时间,这样开发完成的软件才会得到充分的测试,才能具有比较好的稳定性。
3.4牢记软件测试的基本理念田
11质量第一:
2)尽早测试:缺陷发现越迟,影响范围越大,返工的工作量就越大,同时造成的危害也就越大;
3)持续测试:软件需要一个不断测试的过程,具体表现为:“发现缺陷——更正——发现缺陷”的循环;
4)自动化测试:软件测试活动的自动化管理,包括测试定义,结果信息显示,测试库管理和回归测试的控制等㈣;
5)将JxI险降至最低。
3.5工欲善其事.必先利其器——使用软件配置管理工具和测试工具
软件配置管理(SCM)是软件工程中用来管理软件开发的规范,也是CMM二级中的关键过程域,相应的工具主要应用于软件的开发过程中。开发人员写出规范的代码,软件的出错也就会降低,同时也会减轻测试人员的负担。自动化测试工具与性能测试工具在软件测试中起着非常重要的作用,优秀的测试工具,能提高测试工作的效率,同时也能对整个测试过程进行有效地管理。但是,也不要过分地依赖于测试工具,不要想当然地认为任何经过测试工具的测试都是有效的测试,或者经过测试工具测试之后的软件便不存在问题。注意测试工具与测试人员的“无缝接合”,将测试效率升至最高。
3.6要提高我国的软件测试行业的发展水平。还有一个关键。那就是人的问题
一方面要提高国内企业对软件测试的重视程度,另一方面要壮大软件测试队伍,善于学习与吸收,提高测试人员的素质,争取将测试人员与开发人员的比例上升到期
3.7大力发展第三方的专业测试公司。重视利用第三方的测试力量进行测试㈣,这也是重视软件测试的一个表现当然这样的公司在国内还比较少,但这是一个趋势。第三方的软件测试公司与国内的一些检测机构不同,相反,办事效率与质量会比较高,因为它们是依靠技术与服务来征服客户的。企业性质的第三方的专业测试公司更让人信赖,更加注重测试方法与质量。软件公司从头去建立测试部门,并完善测试体系,需要较大的资金投入将研发出来的软件产品交给实力强劲的第三方的专业测试公司,不仅仅能大大地提高软件产品的质量,而且还能节约产品测试成本。
3.8加强软件开发与测试的规范化
好多软件的最后不合格都是没有规范化的结果。国内的软件开发企业要不断的提升企业的规范化水平,同时进行软件质量体系的认证(1SO,CMM等),与国际接轨
4结束语
软件行业在我国是一个“朝阳产业”,而软件测试又是软件行业中的“朝阳产业”,它是保证软件质量的重要手段。经过几十年的发展,我国的软件测试和应用技术有了很大的进展,同时也得到了广泛的关注。然而,也应该看到,我国的软件测试行业与发达国家相比还有比较大的差距,很大程度上体现在软件测试的意识、技术和规范(比如说ISO和CMM)上。目前,只要我们加强测试意识的培养,加强技术上的学习,规范软件开发和测试流程,相信不久的将来,我国的软件测试和应用就会有一个比较充分、长足的发展
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2