软件工程-软件测试

概念

  由于软件开发的各个阶段均包含了大量的人的创造性劳动,不可避免地会引入错误,尤其是大型、复杂的软件系统。

    软件测试是在软件投入运行之前,对软件的需求分析、设计规格说明和编码的最后复审。

原则

软件测试的原则:

(1)应当把“尽早地和不断地测试”作为开发者的座右铭

(2)软件测试工作应该由独立的专业的软件测试机构来完成

(3)测试工作要全面,但不可能实现“穷举”。

(4)把Pareto原理应用到软件测试中。即对发现错误较多的程序段,应进行更深入的测试。

(5)妥善保存一切测试过程文档,作用是不言而喻的,测试的重现性往往要靠测试文档。

(6)不要希望在极短的时间内完成一个高水平的测试。

(7)错误经过修改后,相关的测试必不可少。

软件信息流:

软件工程-软件测试_第1张图片

软件测试过程中的信息:

      测试过程需要三类信息:

      1、软件配置:包括需求规格说明、软件设计规格说明、源程序等;

      2、测试配置:包括测试方案、测试用例、测试驱动程序等;

      3、测试工具:计算机辅助测试的有关工具。如测试数据自动生成工具、静态分析程序、动态分析程序、测试结果分析程序、驱动测试的测试数据库。                           

软件测试的对象:

软件测试不等于程序测试,对软件定义与开发的整个期间所得到的各种文档资料,都是测试对象,包括需求规格说明、概要设计规格说明、详细设计规格说明、源程序等。

软件测试分类:

软件工程-软件测试_第2张图片

静态测试

静态测试指被测程序不在机器上运行,而采用人工检测和计算机辅助静态检测的手段对程序进行测试。

    1、人工检测:人工审查程序或评审软件。人工审查程序偏重于编码质量的检验,而人工评审软件除了审查编码还要对各阶段的软件产品进行检验。人工检测可以发现计算机不易发现的错误,据统计人工检测可发现30%~70%的逻辑设计和编码错误,从而减少系统测试的总工作量。

   2、计算机辅助静态检测:利用静态检测工具对程序进行测试。

动态测试

动态测试是通过运行程序发现错误。

      一般意义上的测试都是动态测试。为使测试发现尽可能多的错误,动态测试时需采用一些有效的方法。一般有两种方法:一是测试产品的功能,二是测试产品的内部结构和处理程。分别称为黑盒测试白盒测试

软件可靠性

   软件可靠性是程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率软件可靠性随着给定的时间间隔的加大而减少

   一般说来,对于任何其故障是可以修复的系统,都应该同时使用可靠性和可用性衡量它的优劣程度

    软件可用性是程序在给定的时间点,按照规格说明书的规定,成功地运行的概率

    可靠性和可用性之间的主要差别是,可靠性意味着在0t这段时间间隔内系统没有失效,而可用性只意味着在时刻t,系统是正常运行的。

你可能感兴趣的:(软件工程,测试工具,软件工程,软件测试)