浅谈软件测试的发展与前景
2018年09月10日 15:27供稿中心:兆隆教育
摘要:
随着计算机应用领域的不断扩大,软件产品已经渗透到人们生活的各个环节。本文阐述了软件测试技术的发展背景,分析软件测试在软件行业的重要地位。介绍了软件测试技术的现状,并展望了软件测试技术的发展前景。 1 软件测试行业的发展背景 软件测试是伴随着软件
随着计算机应用领域的不断扩大,软件产品已经渗透到人们生活的各个环节。本文阐述了
软件测试技术的发展背景,分析软件测试在软件行业的重要地位。介绍了软件测试技术的现状,并展望了软件测试技术的发展前景。
1 软件测试行业的发展背景
软件测试是伴随着软件的产生而产生的。在最初的软件开发过程中,软件规模小而简单,开发过程随意而无序。软件测试的含义也比较狭窄,仅仅等同于调试,往往由开发人员兼任测试工作,目的是为了纠正软件中存在的已知问题。对测试的投入少,测试介入晚,往往是等到代码成形,产品完成后才进行测试。如果用户使用的软件产品出现了质量问题,则有可能造成一些不可预知的后果,甚至危及生命。在上个世纪,有很多的有关软件错误导致了严重后果的例子,而正是这些原因,才导致了软件测试这个行业的产生和发展。
2 软件测试行业的现状
(1)国外现状。在软件行业发达的国家,软件测试是一件很重要的工程工作,已经发展成为一个独立的产业。软件测试在软件的开发周期占据很大的比重。Windows2000的开发过程中,除了1700多名开发人员外,其内部的测试人员就有3200人。开发和测试人员之比大约为3:5。在IE4.0开发期间,微软为了打败Netscape而汇集了一流的开发人员和测试人员。IBM公司以能力、可用性、性能、可靠性、可安装性、可维护性、文档/信息、服务以及整体的适用性等指标来评价客户对产品的满意度。据有关数据显示,国外优秀的软件开发机构把40%的工作量花在软件测试上,软件测试的费用占到项目总费用的30%—50%。国外的测试技术以相当成熟,软件测试市场相当繁荣。国外出品的测试工具已经占领了国际市场。
(2)国内现状。我国的软件测试技术研究起步于“六五”期间,主要是随着软件工程的研究而逐步发展起来的。由于软件测试行业起步晚,和发达国家相比,还是有很大的差距,主要体现在对软件产品化测试的技术研究还比较匮乏,从业人员少,测试服务没有形成足够的规模等方面。但随着我国软件行业的蓬勃发展以及对软件质量的重视,软件测试也越来越被软件企业所重视,正成为一个新兴的产业。主要从四个方面来分析我国测试行业的现状。
1)软件测试的重要性和规范性不断提高。2001年信息产业部发布的部长5号令,实行了软件产品登记认证制度,规定,凡是在我国境内销售的产品必须到信息产业部备案登记,而且要经过登记测试。同年起,国家质检总局和信息产业部每年都通过测试对软件产品进行质量监督抽查。国家人事部和信息产业部2003年关于职业资格认证第一次在我国有了“软件评测师”的称号,这是国家对软件测试职业的高度重视与认可。
2)从手工向
自动化测试方式的转变。传统的项目测试还是以手工为主,测试人员根据需求规格说明书的要求,与测试对象进行“人机对话”。大量的手工测试增加了项目人力成本和沟通成本、效率低、差错率高,随着软件行业的不断发展及软件规模的扩大,客户对软件的质量要求越来越高,针对企业的网络应用环境需要支持大量用户和复杂的软硬件应用的环境,测试工作量越来越大,自动化测试已成为一大发展趋势。
3)测试人员需求逐步增大,素质不断提高。目前我国软件测试的人才每年需求缺口超过20万人,相关企业也开始加强和注重测试人员的选拔、培养和知识培训,对测试人员的素质和要求不断提高,测试人员不仅应掌握相关计算机知识、软件工程基本知识,熟悉项目编程语言,熟悉项目技术架构及需求,而且要有责任感、独立分析能力和团队精神。
4)测试服务体系初步形成。用户对软件质量要求越来越高,信息系统验收不再走过场,而要通过第三方测试机构的严格测试来判定。“以测代评”正在成为我国科技项目择优支持的一项重要举措,比如,国家“863”计划对数据库管理系统、操作系统、办公软件、ERP等项目的经费支持,都是通过第三方测试机构科学客观的测试结果来决定的。最近几年,在全国各地,新成立的软件测试机构有10多家,测试服务体系已经基本确立。
3 软件测试行业的前景
软件业的发展关系不仅仅影响着每个人的生活,在国家层面也是至关重要的。而软件的发展离不开软件测试,软件发展很快,软件测试人才缺口很大,所以需求也很高,软件测试的前景还是很广阔的。但是,目前我们仍处于国际软件产业链的中低端环节。试技术尚不成熟,良好的技术分享氛围也尚未形成、学习成本较高。甚至于很多中小型企业的软件测试环节仍不规范。我们仍需要向世界主要软件出口大国学习,学习它们的先进技术和研发理念,学习它们的管理经验。
4 测试技术最新动态
从测试技术上来说,“自动化测试技术”和“
探索性测试技术”是最近大家都在热烈关注的内容。大家讨论这些的背景是:如何通过技术手段减少重复劳动,使宝贵的测试资源可以做更有价值的事情;如何发挥测试人员的测试特长与创造性,而不是仅仅按照写好的测试脚本和测试用例来点鼠标。
测试工具上来说,最近大家讨论的,一是Selenium,这是一个Thoughworks公司推出的开源Web应用自动化测试工具。二是持续集成工具,比如CruiseControl,Hudson,JIRA Bamboo,还有一些公司在自主研发的平台,比如淘宝的Toast。测试工具很多,商业的,开源的,为了防止广告嫌疑,就不多提了。关于工具的用途:工具自然是用来解决问题,为人服务,而不是人做工具的奴隶,不要为了工具而工具;做好测试工作最重要的是测试理念、管理能力,而非工具。不论技术如何沿革,当今主流的测试还是依据严谨的文档、设计、计划来执行。归根结底,测试毕竟是一种工程手段。对测试有个体系的认知,针对性的做计划与部署、再而利用合适的技术手段实施,才不会脱离把控产品质量的本质。