软件测试概述【摘抄】

上一篇 / 下一篇  2009-01-05 00:19:08 / 个人分类:基本理论

软件的概念:

计算机软件,是指计算机程序以及解释和指导使用程序的文档的总和。计算机程序包括源程序和目标程序。同一程序的源文本和目标文本应当视为同一作品。源程序是指应用高级语言或汇编语言编写的程序,目标程序是指源程序经编译或解释加工以后可以由计算机直接执行的程序。所谓文档,是指用自然语言或者形式化语言所编写的文字资料和图表,用来描述程序的内容、组成、设计、功能规格、开发情况、测试结果及使用方法。

 

软件的特点:

1、计算机软件既是作品,又是工具,是作品性与工具性紧密结合的智力成果。

2、计算机软件开发工作量大、成本高,但容易复制、成本极低。

3、计算机软件具有无形性,可以多次使用,但商业寿命较短。

 

软件危机:

软件危机(Software Crisis)是计算机软件在它的开发和维护过程中所遇到的一系列严重问题。概括的说,主要包含两方面的问题:如何开发软件,怎样满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。

应该说,自上世纪60年代以后,计算机硬件技术日益进步,计算机的存储容量、运算熟读和可靠性明显提高,生产硬件的成本不断减低,为计算机的广泛应用创造了极好的条件。然而,计算机软件方面的发展却一直未能满足形势发展的需要,在大型软件的开发过程中出现了复杂程度高、研制周期长、正确性难以保证的三大难题。遇到的问题找不到解决办法,致使问题堆积起来,形成了难以控制的局面,就出现了所谓的“软件危机”。

软件危机的主要表现:

1、对软件开发成本和进度的估计很不准确;

2、用户对“已完成的”软件系统不满意的现象经常发生;

3、软件产品的质量常常靠不住;

4、软件常常是不可维护的;

5、软件通常没有合适的文档资料;

6、软件成本在计算机系统总成本中所占比例逐年上升。

如果去寻找软件危机的内在原因,发现其原因可以归纳为两个方面:一方面是软件生产本身存在着复杂性,另一方面则与软件开发所使用的方法和技术有关,技术实现不了,方法掌握不了,都会导致问题发生。

 

软件测试的产生,大致可以从两方面考虑:

1、软件规模越来越大,怎样确定那些复杂程序运行正常成为软件开发飞跃发展的时代问题;

2、软件开发与用户之间的矛盾。软件开发人员在进行软件开发时更关注的用什么样的技术实现用户的需求,往往软件开发人员喜欢展现自己的技术实力,而不太关注使用这样的技术对用户使用应用系统有什么影响。用户在使用应用系统时更关注的是否满足自己的需求,是否易用等,而不会去关注开发人采用怎样难度的技术实现。那么在这两者之间就存在着矛盾,而软件测试人员就是要在软件开发人员和用户之间寻找的一个平衡点,即既要确保软件开发人员能够运用自己的技术,又要保证用户能够良好的使用应用系统。

 

软件测试的定义:

1983年,IEEE(电气电子工程师协会Institute of Electrical and Electronics Engineers))软件工程标准术语:使用人工或自动手段,来运行或测试某个系统的过程。其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。这是目前对软件测试最完善的概念。

而在1979年,Glenford Myers在《软件测试艺术》(The Art of Software Testing)这本书中直白的说明,软件测试就是为了发现错误而执行程序或者系统的过程。那么我们首先要对软件缺陷有一个定义,满足下列五个条件之一,即为软件缺陷:

1、软件未达到产品说明书中已标明的功能

2、软件出现了产品说明书中指明不会出现的错误

3、软件功能超出了产品说明书指明的范围

4、软件未达到产品说明书虽未明确指出但应达到的目标。

5、软件测试人员认为软件难以理解,不易使用,运行速度慢,或者最终用户认为该软件使用效果不好

 

软件测试人员的能力要求:

态度、经验、沟通能力,以及,开发能力。

需要注意的是软件测试与程序调试的区别:

1、完成的任务不同。测试的任务是发现程序中的缺陷,调试的任务是定位并且解决程序中的问题。

2、执行的人不同。

3、执行的周期不同。测试贯穿整个软件开发生命周期,调试一般在开发阶段。


TAG: 基本理论

 

评分:0

我来说两句

日历

« 2024-05-02  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 4273
  • 日志数: 9
  • 文件数: 1
  • 建立时间: 2008-11-11
  • 更新时间: 2012-08-29

RSS订阅

Open Toolbar