[本章要点] 软件测试的发展历史 软件测试技术的分类方法; 软件测试原则 软件测试的定义; 软件测试同软件开发之间的关系; 软件测试与开发模型 软件测试工作流程
[ 本章要点 ] ⚫ 软件测试的发展历史; ⚫ 软件测试技术的分类方法; ⚫ 软件测试原则; ⚫ 软件测试的定义; ⚫ 软件测试同软件开发之间的关系; ⚫ 软件测试与开发模型; ⚫ 软件测试工作流程
[本章目标] 了解软件测试的发展历程和行业现状 ◆掌握软件测试技术的分类; ◆理解软件测试的目的和软件测试原则,以及了解 人们对软件测试行业的错误认识; ◆掌握软件测试中的基本定义、基本知识; ◆理解软件开发与软件测试的关系
[ 本章目标 ] ◆ 了解软件测试的发展历程和行业现状; ◆ 掌握软件测试技术的分类; ◆ 理解软件测试的目的和软件测试原则,以及了解 人们对软件测试行业的错误认识; ◆ 掌握软件测试中的基本定义、基本知识; ◆ 理解软件开发与软件测试的关系
1.1软件测试的发展历程及现状 1.1.1软件测试的发展历程 20世纪50-60年代,软件仍然处于次要位置,测 试理论和方法的发展比较缓慢。 70年代以后,软件技术的成熟和完善使得软件 测试的规模和复杂度加大,软件测试也逐渐形成 了一套完整的体系,逐渐走向规范化。 1.1.2软件测试的现状 与一些发达国家相比,国内测试工作还存在 定的差距。国内测试人员所占比例小,但是,在 软件测试实现方面都是相当的,而且向产业化方 向发展
1.1软件测试的发展历程及现状 1.1.1软件测试的发展历程 20世纪50-60年代,软件仍然处于次要位置,测 试理论和方法的发展比较缓慢。 70年代以后,软件技术的成熟和完善使得软件 测试的规模和复杂度加大,软件测试也逐渐形成 了一套完整的体系,逐渐走向规范化。 1.1.2软件测试的现状 与一些发达国家相比,国内测试工作还存在一 定的差距。国内测试人员所占比例小,但是,在 软件测试实现方面都是相当的,而且向产业化方 向发展
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模型中,描述了一些不同的测 试级别,并说明了这些级别所对应的生命周期中不 同的阶段,清楚地描述了这些测试阶段和开发过程 期间的对应关系