background image

软件测试方法的分析与研究

    摘 要:开发过程中一次性开发成功或者无错误发生的几率为零,因此在软件的开发过程
中需要不断的完善,而这个不断完善修改的过程就是软件测试的过程。软件测试也代表了了
设计、编码的最终复审。着重论述了目前软件工程中普遍存在的一些测试问题,并对其产生
的原因进行了详细的分析。介绍了软件测试的本质,同时对目前流行的测试方法进行了研究,
提出了不同类型的软件最佳的测试方案。

 

  关键词:软件可靠性;软件质量;软件测试;测试用例

 

  

 

  

1 概述 

  

 

  信息技术的飞速发展

,使软件产品应用到社会的各个领域,软件产品的质量自然成为人们

共同关注的焦点。软件开发商为了占有市场

,必须把产品质量作为企业的重要目标之一,以免

在激烈的竞争中被淘汰。用户为了保证自己业务的顺利完成

,总是希望选用优质的软件。质量

不佳的软件产品不仅会使开发商的维护费用和用户的使用成本大幅增加

,还可能产生其他的

责任风险

,在一些关键应用,如民航订票系统、银行结算系统、证券交易系统等中使用质量有问

题的软件

,还可能造成灾难性的后果。 

  软件危机曾经是软件界甚至整个计算机界最热门的话题

,为了解决这个危机,软件从业人

员、专家和学者做出了大量的努力。现在人们已经逐步认识到所谓的软件危机实际上仅是一
种状况

,那就是软件中有错误,正是这些错误导致了软件开发在成本、进度和质量上的失控。有

错是软件的属性

,而且是无法改变的。因为软件是由人来完成的,所有由人做的工作都不会是

完美无缺的。问题在于应该如何去避免错误的产生和消除已经产生的错误

,使程序中的错误

密度达到尽可能低的程度。

 

  软件工程学出现后

,软件开发被视为一项工程,以工程化的方法来进行规划和管理软件的

开发。事实上

,不论采用什么技术和什么方法,软件中出现错误总是难免的。采用新的语言、先

进的开发方式、完善的开发过程

,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这

些引入的错误需要测试来找出。测试是软件开发的重要部分。统计表明

,在典型的软件开发项

目中

,软件测试工作量往往占软件开发总工作量的 40%以上。而在软件开发的总成本中用在

测试上的开销要占

30%到 50%。如果把维护阶段也考虑在内,讨论整个软件生存时期时,测试

的成本比例也许会有所降低

,但实际上维护工作相当于二次开发,仍至多次开发,其中必定还

包含有许多测试工作。系统的问题越早发现

,改正成本越低,破坏性越小,所以,在系统发布前要

尽量多地把系统问题找出来

,其手段就是有计划、有组织地进行充分的测试。 

  软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一组测试数
据,并利用这些测试数据运行程序,以发现程序错误的过程。根据测试数据设计方法,软件
测试可分为结构测试和功能测试。在结构测试过程中,测试者对程序的语句、分支和逻辑路
径进行各种覆盖测试,可以在不同点检查程序的状态,以确定实际状态与预期状态是否一
致。软件测试的目的是发现错误,而不是确认其正确性,而对已进行的测试过程的程度进行
评估。

 

  

2 测试方法