第五章系统测试 主要内容:系统测试至少占据了制作过程的 半工作量,是成功地开发信息系统的重要保证 之一。本章将对系统测试的方法和技术做一系 统地介绍
第五章 系统测试 主要内容:系统测试至少占据了制作过程的一 半工作量,是成功地开发信息系统的重要保证 之一。本章将对系统测试的方法和技术做一系 统地介绍
51系统测试概述 ●很多人认为“测试是证明程序中不存在错误的 过程”、“程序测试的目的是要证明程序正确 地执行了预期的功能”、“程序测试的过程是 使人们确信程序可完成预期要完成的工作过 程”。但却是错误的定义。测试的定义应该是: 为了发现错误而执行程序的过程。从这个定义 出发可以看出应该把查出了新错误的测试看作 是成功的测试,没有发现错误的测试则是失败 的测试
5.1 系统测试概述 ⚫ 很多人认为“测试是证明程序中不存在错误的 过程” 、 “程序测试的目的是要证明程序正确 地执行了预期的功能” 、 “程序测试的过程是 使人们确信程序可完成预期要完成的工作过 程”。但却是错误的定义。测试的定义应该是: 为了发现错误而执行程序的过程。从这个定义 出发可以看出应该把查出了新错误的测试看作 是成功的测试,没有发现错误的测试则是失败 的测试
51测试的基本方法 ●黑盒测试( Black Box testing) 测试者把程序看成是一个黑盒,完全不考虑 程序内部结构和内部特性而进行的测试 ●白盒测试( White Box testing) 允许人们检查程序的内部结构,是测试者从 检査程序的逻辑着手,得出测试数据,进行 测试的过程
5.1.1 测试的基本方法 ⚫ 黑盒测试(Black_Box testing) –测试者把程序看成是一个黑盒,完全不考虑 程序内部结构和内部特性而进行的测试 ⚫ 白盒测试(White_Box testing) –允许人们检查程序的内部结构,是测试者从 检查程序的逻辑着手,得出测试数据,进行 测试的过程
512测试的基本原则 ●1、确定预期输出(或结果)是测试数据准备必不可少 的一部分 ●2、程序员应避免测试自己的程序 ●3、程序设计机构不应测试自己的程序 ●4、彻底检查每个测试结果 5、对非法的和非预期的输入情况,也要像对合法的、 预期的输入一样,编写测试数据 ●6、检查程序是否做了要做的事仅是成功的一半,另 半是看程序是否做了不要它做的事 ●7、一定不要扔掉测试数据 8、在进行测试设计时不要设想程序中不会查出错误
5.1.2 测试的基本原则 ⚫ 1、确定预期输出(或结果)是测试数据准备必不可少 的一部分 ⚫ 2、程序员应避免测试自己的程序 ⚫ 3、程序设计机构不应测试自己的程序 ⚫ 4、彻底检查每个测试结果 ⚫ 5、对非法的和非预期的输入情况,也要像对合法的、 预期的输入一样,编写测试数据 ⚫ 6、检查程序是否做了要做的事仅是成功的一半,另一 半是看程序是否做了不要它做的事 ⚫ 7、一定不要扔掉测试数据 ⚫ 8、在进行测试设计时不要设想程序中不会查出错误
513测试的基本手段 ●人工测试 程序审查会 人工运行 ●计算机测试
5.1.3 测试的基本手段 ⚫ 人工测试 –程序审查会 –人工运行 ⚫ 计算机测试
测试所要遵循的步骤: ●1、设计测试数据 ●2、进行模块测试 ●3、进行高级测试
测试所要遵循的步骤: ⚫ 1、设计测试数据 ⚫ 2、进行模块测试 ⚫ 3、进行高级测试
测试模型: 安装测试 应用需求 验收测试 系统分析 阶段 高级测试 逻辑结构设计 系统测试 系统外部规范设计 功能测试 系统设计 阶段 程序结构设计 模块整体测试 模块测试 编写代码 子模块测试 程序设计 调试代码
测试模型: 应用需求 逻辑结构设计 系统外部规范设计 程序结构设计 编写代码 系统分析 阶段 系统设计 阶段 程序设计 调试代码 子模块测试 模块整体测试 功能测试 系统测试 验收测试 高级测试 安装测试 模块测试
52人工测试 ●521程序审查会 程序审查会( Code Inspections)是让小组成员阅读程 序代码而进行的一系列步骤和查找错误的办法 组成: 由四人组成,其中一个是调解人,调解人一般由能力 强的程序员担任,但他并不是被检查程序的作者,也 无需熟悉该程序的细节。调解人负责为审查会分发材 料,安排并主持会议,记录所有已查出的错误,并保 证这些错误随之得以改正。所以可以把调解人比做质 量检査工程师。小组的第二个成员就是程序员,他是 被审查程序的作者,另外两个成员一个是系统分析或 设计人员,另一个是测试专家。系统分析员或设计员 负责对程序的结果进行评审,测试专家负责对整个测 试过程和结果进行评审
5.2 人工测试 ⚫ 5.2.1 程序审查会 –程序审查会(Code Inspections)是让小组成员阅读程 序代码而进行的一系列步骤和查找错误的办法。 ⚫ 组成: –由四人组成,其中一个是调解人,调解人一般由能力 强的程序员担任,但他并不是被检查程序的作者,也 无需熟悉该程序的细节。调解人负责为审查会分发材 料,安排并主持会议,记录所有已查出的错误,并保 证这些错误随之得以改正。所以可以把调解人比做质 量检查工程师。小组的第二个成员就是程序员,他是 被审查程序的作者,另外两个成员一个是系统分析或 设计人员,另一个是测试专家。系统分析员或设计员 负责对程序的结果进行评审,测试专家负责对整个测 试过程和结果进行评审
程序审查会的工作过程是: ●会前准备: 调解人在会议开发之前(前几天),把这个 程序清单和设计规范分发给小组的其他成员 会议任务: 1、请程序员逐个语句地讲述程序的逻辑结 构。期间大家提出问题加以追究,以断定错 误是否存在 2、根据常见程序错误检验单分析程序 会期: 90分钟至120分钟之间
程序审查会的工作过程是: ⚫ 会前准备: –调解人在会议开发之前(前几天),把这个 程序清单和设计规范分发给小组的其他成员 ⚫ 会议任务: – 1、请程序员逐个语句地讲述程序的逻辑结 构。期间大家提出问题加以追究,以断定错 误是否存在。 – 2、根据常见程序错误检验单分析程序。 ⚫ 会期: – 90分钟至120分钟之间
注意的问题: ●如果程序员把审查会看成是对他的人格的攻击, 从而采取自卫的态度,那么审查过程就会没有 什么效果。反之,程序员一定要抱虚心的态度 参加会议,用正确的和建设性的眼光看待审查 处理,即审查会的目的在于发现程序中的错误, 从而改进他的工作质量。基于这种原因,审查 会的结果应该只限于与会者知道。如果部门或 组织的经理使用了审查会的结果,那么这种审 查过程马上就会失去意义
注意的问题: ⚫ 如果程序员把审查会看成是对他的人格的攻击, 从而采取自卫的态度,那么审查过程就会没有 什么效果。反之,程序员一定要抱虚心的态度 参加会议,用正确的和建设性的眼光看待审查 处理,即审查会的目的在于发现程序中的错误, 从而改进他的工作质量。基于这种原因,审查 会的结果应该只限于与会者知道。如果部门或 组织的经理使用了审查会的结果,那么这种审 查过程马上就会失去意义