1.2什么是软件测试 1.2.1软件测试的定义 根据侧重点的不同,主要有以下三种观点: 1)1983年IEEE将软件测试定义为:“使用人 工或自动手段运行或测定某个系统的过程,其目的 在于检验它是否满足规定的需求或是弄清预期结果 与实际结果之间的差别”,该定义明确地提出了软 件测试以检验是否满足需求为目标。 2) Myers认为:“是为了发现错误而执行程序 的过程”,明确提出了“寻找错误”是测试目的
1.2 什么是软件测试 1.2.1软件测试的定义 根据侧重点的不同,主要有以下三种观点: 1)1983年IEEE将软件测试定义为:“使用人 工或自动手段运行或测定某个系统的过程,其目的 在于检验它是否满足规定的需求或是弄清预期结果 与实际结果之间的差别”,该定义明确地提出了软 件测试以检验是否满足需求为目标。 2)Myers认为:“是为了发现错误而执行程序 的过程”,明确提出了“寻找错误”是测试目的
3)从软件质量保证的角度看:是一种重要的软 件质量保证活动,其动机是通过一些经济、高效的 方法,捕捉软件中的错误,从而达到保证软件内在 质量的目的。 测试过程中的活动包括“分析”软件(静态测 试)和“运行”软件(动态测试) 也有人认为软件测试( software testing)就 是在软件投入运行前,对软件需求分析、设计规格 说明和编码的最终复审,是软件质量保证的关键步 骤
3)从软件质量保证的角度看:是一种重要的软 件质量保证活动,其动机是通过一些经济、高效的 方法,捕捉软件中的错误,从而达到保证软件内在 质量的目的。 测试过程中的活动包括“分析”软件(静态测 试)和“运行”软件(动态测试)。 也有人认为软件测试(software testing)就 是在软件投入运行前,对软件需求分析、设计规格 说明和编码的最终复审,是软件质量保证的关键步 骤
软件测试有两个基本职责:即验证和确认。 注意:区分软件测试和软件调试。 1.2.2软件测试生命周期 测试的生命周期( software testing life cycle) 分为几个阶段(如图1-1所示)。 前三个阶段就是引入程序错误阶段; 后三个阶段就是清除程序错误的阶段
软件测试有两个基本职责:即验证和确认。 注意:区分软件测试和软件调试。 1.2.2软件测试生命周期 测试的生命周期(software testing life cycle) 分为几个阶段(如图1-1所示 )。 前三个阶段就是引入程序错误阶段; 后三个阶段就是清除程序错误的阶段
错误 需求规格说明一误 错误 错误 设计 错误 错误 编码 错误7 修复 测试 缺陷分类 缺陷分离 错误 (失效) 图1-1测试生命周期
需求规格说明 设计 编码 测试 缺陷分类 缺陷分离 缺陷 排除 修复 错误 错误 错误 错误 错误 错误 错误 错误 (失效) 3 图1-1 测试生命周期
1.2.3软件开发与测试模型 下面我们将介绍几种典型的软件开发与测试模型 、软件开发与测试V模型 在传统开发过程中测试不受重视,仅把它作为在 需求分析、概要设计、详细设计及编码之后的一个 阶段。尤其在瀑布模型中。 如图1-2所示,在V模型中,描述了一些不同的测 试级别,并说明了这些级别所对应的生命周期中不 同的阶段,清楚地描述了这些测试阶段和开发过程 期间的对应关系
1.2.3软件开发与测试模型 下面我们将介绍几种典型的软件开发与测试模型。 一、软件开发与测试V模型 在传统开发过程中测试不受重视,仅把它作为在 需求分析、概要设计、详细设计及编码之后的一个 阶段。尤其在瀑布模型中。 如图1-2所示,在V模型中,描述了一些不同的测 试级别,并说明了这些级别所对应的生命周期中不 同的阶段,清楚地描述了这些测试阶段和开发过程 期间的对应关系