background image

试论软件工程内软件测试的必要性

    摘要:软件工程内,软件测试有着非常强的必要性,本文在浅谈了对软件测试认识的基
础上,对测试分类、测试对象进行了总结,最后探讨了测试的目的及原则,希望能够对软件
测试工作起到一定的指导组要。

 

  关键词:软件工程;软件测试;必要性

 

  

1 引言 

  随着计算机技术不断地发展,计算机软件在我们生活和工作方面所起到的作用越来越
大。对于计算机来说,软件可以看做其灵魂,一旦软件出现失效的情况,必然会引起比较大
的经济损失,严重的时候还会对人的生命安全造成威胁,举例来看,

1996 年的 Ariane 5 运

载火箭的发射失败就是因软件故障导致的。基于此,做好软件测试的研究不仅有其学术意义,
也有着比较强的实践指导作用。

 

  

2 关于软件测试的认识 

  在软件开发的每一个阶段中,人员的参与都是离不开的部分,而人的工作以及人们之
间的通信质量有很难做到完美无缺,这就导致了错误是不可避免的。另外,伴随着计算机控
制对象越来越复杂,且软件的功能及规模也在不断的提升,这也使得错误相对而言更容易
发生,比如对于

Windows NT 操作系统来说,其代码约为 3200 万行。总体来看,在软件设

计阶段,人们所犯的错位是引起软件失效的主要原因,而软件缺陷的根源则在于软件的复
杂性。

 

  在确保软件可靠性以及质量的过程中,软件测试属于最为主要的手段,以当前的软件
工程来看,多以结构化分析及设计作为核心,因此在开发阶段,需求分析以及设计都是以
工程管理以及技术评审作为质量的保障手段,而工程管理以及技术评审又存在着主观上的
缺陷,很容易遗漏错误使其延续至开发阶段。

 

  客观来说,软件测试在发掘软件中隐藏缺陷的过程中的确有着很好的效果,以英国的
SHOLIS 项目来看,这一项目使用形式化方法对软件规约进行描述及证明,而且利用程序
正确性证明方法对前期的很多缺陷进行排除,但是通过软件测试却依旧发现了整个过程
15.175%的缺陷。 
  此外,随着人们对软件测试重要性的认识越来越深,其所在软件开发周期中所占的比
例也越来越高,当前很多软件开发机构已经将其

40%的研制力量投放到了软件测试中,而

对一些比较重要的软件来说,其测试的费用往往会高达其他阶段费用的

3 至 5 倍,由此可

见,不管从哪个角度出发,软件测试都是非常重要的。

 

  

3 软件测试分类 

  当前的软件测试技术主要可以分为动态测试以及静态测试,其中,静态测试主要是指
在不执行程序代码的情况下找到程序中有可能存在的缺陷或者对程序代码进行评估的过程
中,广义上看,静态测试还包括软件需求分析以及技术评审。

 

  至于动态测试,则是通过抽样测试数据对程序进行运行以起到检查程序中存在的缺陷。
在动态测试的过程中,其核心内容主要包括测试用例、运行正与以及对于程序运行结果进行
验证这

3 部分内容,此外还包括一些数据管理、文档编制、操作规程等辅助方面的工作。 

  

4 软件测试的对象 

  在软件测试的过程中,不单单进行一些比较简单的程序测试,也就是说仅对程序能否