我国软件业主要集中在最终客户软件项目的开发上,通用软件商品的开发比较少,所以我国的软件开发水平和软件业发达国家(美国、印度、爱尔兰等)相比t有一定的距离,主要体现在软件测试和质量保证的水平。
随着我国加入WTO之后,软件测试越来越受到人们的注意。人们认识到,要提高软件质量,软件测试是极其重要的一个环节。但是,相对于软件开发而言,软件测试还不为众人所了解。根多软件开发人员,包括多数软件企业的高层管理人员,由于缺乏软件测试的知识和实践经验,对软件测试的认识还有很多误区,这对软件测试工作极为不利,必须加以澄清.才可能提高软件产品的质量。
误送一:如果发布出去的软件有质量问题,那是软件测试人员的错
软件测试是一种有效提高软件质量的手段,但即使在投入上有所保证,测试也并不能百分之百地发现所有质量隐患。况且,软件的高质量不是靠测试测出来的,而是软件开发过程中每一个环节都要有质量意识,做好检查、审查等工作,才能保证质量。任何一个环节出问题,都有可能带来质量的隐患。
误区二:软件测l式技术要求不高,至少比编程容易多了
很多人认为软件测试就是运行一下软件,然后看看结果对不对a实际上,软件测试不仅仅只是运行或操作软件,还要涉及测试环境的建立、测试用例的设计等技术问题。当采用自盒襁4试方法时,需要良好的编程经验;在进行自动化测试时,需要写测试脚本,也需要良好的编程经验。如何在有限的资金投入下,提高软件测试的效率和保证产品的高质量是一件较团难的事情。所以,一位优秀的软件测试人员不仅要掌握各种测试技术,还要具备丰富的编程经验和对bug的敏感,从一定意义上说,对测试人员的要求比编程人员的要求还要高。
误区三:有时间就多测试一些,来不及就少测试一些
软件测试并不是可有可无的,测多少、怎样测也不是随心所欲的。规范化的软件开发过程需要对软件测试早做计划,分配必要的时间、人力和财力等资源,并将其作为项目管理的一个重要部分,进行跟踪、控制和协调。
误区四:软件测试是测试人员的事,与开发人员无关
为了减小相互的影响,一般要求开发和测试相对独立,但这只是分工上的不同a编程和测试是软件项目相辅相成的两个过程,人员之间的交流、协作和配合是提高整体开发效益的重要因素。而且在实际操作中也会有一些测试,比如单元测试,会由测试人员提供测赢昭例,由开发人员运行,或全部由编程人员完成。
误区五:根据软件开发瀑布模型,软件测试是开发后期的一个阶段
不少人根据软件开发瀑布模型,容易得出这样一种结论:“程序代码写完之后再进行测
试”,这是错误的,这种错误的观念会给测试工作带来很多问题。
生命周期中的“测试阶段,,表明在该阶段主要工作是测试,即到了“测试阶段”,测试的主要任务是执行测试、运行测试脚本、测试结果分析和递交测试报告,而测试的大量准备工作,诸如测试计划、测试用例设计以及测试脚本编写等,实际是在还没有开始写程序之前就开始了,可以说项目什么时候开始,测试工作也就什么时候开始。如果到“测试阶段”才开始启动测试工作,那为时已晚,没有计划,没有测试用例,测试也就很容易是“走过场”。
即使程序测试,也不是要等到软件程序全部完成后才开始运行。针对每个程序单元、模块,可以进行单元测试;把程序单元或模块进行集成时,需要进行相应的集成测试;在进行集成测试和系统测试之前,就要准备测试环境。所以,编程与测试几乎是同步进行的。
如2 2 4小节所述,软件产品中的质尾问题发现越晚,修正错误的代价就越大。就这一
点而言,也要求软件测试尽早开始,包括需求分析和设计文档的审查。
在实践中,除对软件测试不够重视之外,还可能存在一些对软件测试本身不正确的看法:
. 认为测试工作不如设计和编码那样容易取得进展,难以给测试人员带来某种成就感。
. 以发现软件错误为目标的测试是非建设性的,甚至是破坏性的,测试中发现错误
是对责任人工作的一种否定。
· 测试工作枯燥无味,不能引起人们的兴趣。
· 测试工作是艰苦而细致的工作。
. 对自己编写的程序盲目自信,在发现错误后,顾虑别人对自己开发能力的看法