软件工程第3版
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1)如果输入条件是一个布尔量,则可定义一个有效等价类和一个无 效等价类。
第8章
第8章 软件测试
软件测试
火龙果 整理 uml.org.cn
本章结构: 8.1 软件测试概述 8.2 软件测试方法 8.3 测试用例设计 8.4 软件测试的步骤 8.5 软件测试工具简介 8.6 调试 8.7 面向对象软件测试简述
大连理工大学出版社《 软件工程》(第3版)
8.2 软件测试方法
8.2.2动态测试 动态测试是基于计算机的测试,是为了发现错误而执行程序的过程。同测试 任何产品一样,动态测试一般有黑盒测试法与白盒测试法两种,前者是测试产品 的功能,后者是测试产品的内部结构和处理过程。 1.黑盒测试法 黑盒法又称功能测试或数据驱动测试,该方法把被测试对象看成一个不透明 的“黑盒子”,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接 口(界面)处进行测试,依据需求说明书,检查程序是否满足功能要求,是否能 很好地接收数据,并产生正确的输出。 通过黑盒测试主要发现以下错误: (1)是否有不正确或遗漏了的功能。 (2)界面是否有错,能否正确地接受输入数据,能否产生正确的输出信息。 (3)是否有数据结构或外部数据库访问错误。 (4)性能是否满足要求。 (5)是否有初始化或终止性错误。
8.2.1静态测试 静态测试包括代码检查、静态结构分析、代码质量度量等。是指不 在计算机上执行被测试软件,而是采用人工检测和计算机辅助静态分析 的手段对程序进行检测。 1.人工测试 2.计算机辅助静态分析
大连理工大学出版社《 软件工程》(第3版)
9
火龙果 整理
第8章 软件测试 uml.org.cn
7
பைடு நூலகம்
火龙果 整理
第8章 软件测试 uml.org.cn
8.1 软件测试概述
图8.4列出了软件测试各阶段与软件开发各阶段之间的关系。
图8.4 软件测试与软件开发各阶段的关系
大连理工大学出版社《 软件工程》(第3版)
8
火龙果 整理
第8章 软件测试 uml.org.cn
8.2 软件测试方法
软件测试方法很多,按照测试过程是否执行程序来分,一般分为静 态测试方法和动态测试方法。动态测试方法又根据测试用例的设计方法 不同,分为黑盒测试和白盒测试两类。
1
火龙果 整理
第8章 软件测试 uml.org.cn
8.1 软件测试概述
8.1.1 软件测试的目标 测试阶段的根本目标是以最少的人力、物力和时间,尽可能多地发 现并排除软件中潜在的错误,最终把一个高质量的软件系统交给用户 使用。Grenford J.Myers在《The Art of Software Testing》一书中就软 件测试的目的提出了以下观点: 1.软件测试是为了发现错误而执行程序的过程。 2.一个好的测试用例是指很可能找到迄今为止尚未发现的错误的 用例。 3.一个成功的测试是发现了至今尚未发现的错误的测试。
黑盒测试法是一种宏观功能上的测试,该方法适合测试部门的测试人员或用 户。
大连理工大学出版社《 软件工程》(第3版)
10
火龙果 整理
第8章 软件测试 uml.org.cn
8.2 软件测试方法
2.白盒测试法 白盒法又称结构测试或逻辑驱动测试,该方法把被测试对象看成一 个透明的盒子,测试人员可以了解程序的内部结构和处理过程,以检查 处理过程为目的,对程序中尽可能多的逻辑路径进行测试,检验内部控 制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。 白盒测试法是一种程序级的微观上的测试,不适合于大单元、大系 统的测试,主要用于很小单元的测试,以及从事软件底层工作、生产构 件的测试人员使用。
大连理工大学出版社《 软件工程》(第3版)
11
火龙果 整理
第8章 软件测试 uml.org.cn
8.3 测试用例设计
8.3.1黑盒技术 常用的黑盒测试技术有等价类划分、边界值分析、错误推测法、因果 图等。 8.3.1.1等价类划分法 1. 等价类划分法的基本思想 2.等价类划分的一般规则 划分等价类需要一定的经验,下述几条启发式规则有助于等价类的划 分:
图8.2 软件测试的信息流
大连理工大学出版社《 软件工程》(第3版)
6
火龙果 整理
第8章 软件测试 uml.org.cn
8.1 软件测试概述
3.测试的过程 图8.3描述了测试的过程。从图中可知,测试过程分为4个步骤,即 单元测试、组装测试、确认测试和系统测试。
图8.3 软件测试的过程
大连理工大学出版社《 软件工程》(第3版)
大连理工大学出版社《 软件工程》(第3版)
2
火龙果 整理
第8章 软件测试 uml.org.cn
8.1 软件测试概述
8.1.2 软件测试的原则
(1)所有测试都应追溯到需求。 (2)坚持“尽早地和不断地进行软件测试”。 (3)测试用例应由测试输入数据和与之对应的预期输出结果这两 部分组成。 (4)程序员应避免测试自己的程序。 (5)在设计测试用例时,应当包括合理的输入条件和不合理的输 入条件。 (6)充分注意测试中的群集现象。 (7)严格执行测试计划,排除测试的随意性。 (8)应当对每个测试结果做全面检查。 (9)在测试程序时,不仅要检验程序是否做了该做的事,还要检 验程序是否做了不该做的事 。 (10)长期妥善地保存测试计划、测试用例、出错统计和最终分 析报告 。
大连理工大学出版社《 软件工程》(第3版)
4
火龙果 整理
第8章 软件测试 uml.org.cn
8.1 软件测试概述
图8.1 软件测试的流程
大连理工大学出版社《 软件工程》(第3版)
5
火龙果 整理
第8章 软件测试 uml.org.cn
8.1 软件测试概述
2.软件测试的信息流 软件测试时需要3类测试信息流,如图8.2所示。
大连理工大学出版社《 软件工程》(第3版)
3
火龙果 整理
第8章 软件测试 uml.org.cn
8.1 软件测试概述
8.1.2 软件测试的过程和策略
1.软件测试的流程 软件测试是一系列测试活动的集合,必须按照一定的测试流程,才 能发现更多的错误。软件测试流程包括设计测试方案、实施测试、纠 正错误、分析测试数据、建立可靠性模型等几个步骤,如图8.1所示。
第8章
第8章 软件测试
软件测试
火龙果 整理 uml.org.cn
本章结构: 8.1 软件测试概述 8.2 软件测试方法 8.3 测试用例设计 8.4 软件测试的步骤 8.5 软件测试工具简介 8.6 调试 8.7 面向对象软件测试简述
大连理工大学出版社《 软件工程》(第3版)
8.2 软件测试方法
8.2.2动态测试 动态测试是基于计算机的测试,是为了发现错误而执行程序的过程。同测试 任何产品一样,动态测试一般有黑盒测试法与白盒测试法两种,前者是测试产品 的功能,后者是测试产品的内部结构和处理过程。 1.黑盒测试法 黑盒法又称功能测试或数据驱动测试,该方法把被测试对象看成一个不透明 的“黑盒子”,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接 口(界面)处进行测试,依据需求说明书,检查程序是否满足功能要求,是否能 很好地接收数据,并产生正确的输出。 通过黑盒测试主要发现以下错误: (1)是否有不正确或遗漏了的功能。 (2)界面是否有错,能否正确地接受输入数据,能否产生正确的输出信息。 (3)是否有数据结构或外部数据库访问错误。 (4)性能是否满足要求。 (5)是否有初始化或终止性错误。
8.2.1静态测试 静态测试包括代码检查、静态结构分析、代码质量度量等。是指不 在计算机上执行被测试软件,而是采用人工检测和计算机辅助静态分析 的手段对程序进行检测。 1.人工测试 2.计算机辅助静态分析
大连理工大学出版社《 软件工程》(第3版)
9
火龙果 整理
第8章 软件测试 uml.org.cn
7
பைடு நூலகம்
火龙果 整理
第8章 软件测试 uml.org.cn
8.1 软件测试概述
图8.4列出了软件测试各阶段与软件开发各阶段之间的关系。
图8.4 软件测试与软件开发各阶段的关系
大连理工大学出版社《 软件工程》(第3版)
8
火龙果 整理
第8章 软件测试 uml.org.cn
8.2 软件测试方法
软件测试方法很多,按照测试过程是否执行程序来分,一般分为静 态测试方法和动态测试方法。动态测试方法又根据测试用例的设计方法 不同,分为黑盒测试和白盒测试两类。
1
火龙果 整理
第8章 软件测试 uml.org.cn
8.1 软件测试概述
8.1.1 软件测试的目标 测试阶段的根本目标是以最少的人力、物力和时间,尽可能多地发 现并排除软件中潜在的错误,最终把一个高质量的软件系统交给用户 使用。Grenford J.Myers在《The Art of Software Testing》一书中就软 件测试的目的提出了以下观点: 1.软件测试是为了发现错误而执行程序的过程。 2.一个好的测试用例是指很可能找到迄今为止尚未发现的错误的 用例。 3.一个成功的测试是发现了至今尚未发现的错误的测试。
黑盒测试法是一种宏观功能上的测试,该方法适合测试部门的测试人员或用 户。
大连理工大学出版社《 软件工程》(第3版)
10
火龙果 整理
第8章 软件测试 uml.org.cn
8.2 软件测试方法
2.白盒测试法 白盒法又称结构测试或逻辑驱动测试,该方法把被测试对象看成一 个透明的盒子,测试人员可以了解程序的内部结构和处理过程,以检查 处理过程为目的,对程序中尽可能多的逻辑路径进行测试,检验内部控 制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。 白盒测试法是一种程序级的微观上的测试,不适合于大单元、大系 统的测试,主要用于很小单元的测试,以及从事软件底层工作、生产构 件的测试人员使用。
大连理工大学出版社《 软件工程》(第3版)
11
火龙果 整理
第8章 软件测试 uml.org.cn
8.3 测试用例设计
8.3.1黑盒技术 常用的黑盒测试技术有等价类划分、边界值分析、错误推测法、因果 图等。 8.3.1.1等价类划分法 1. 等价类划分法的基本思想 2.等价类划分的一般规则 划分等价类需要一定的经验,下述几条启发式规则有助于等价类的划 分:
图8.2 软件测试的信息流
大连理工大学出版社《 软件工程》(第3版)
6
火龙果 整理
第8章 软件测试 uml.org.cn
8.1 软件测试概述
3.测试的过程 图8.3描述了测试的过程。从图中可知,测试过程分为4个步骤,即 单元测试、组装测试、确认测试和系统测试。
图8.3 软件测试的过程
大连理工大学出版社《 软件工程》(第3版)
大连理工大学出版社《 软件工程》(第3版)
2
火龙果 整理
第8章 软件测试 uml.org.cn
8.1 软件测试概述
8.1.2 软件测试的原则
(1)所有测试都应追溯到需求。 (2)坚持“尽早地和不断地进行软件测试”。 (3)测试用例应由测试输入数据和与之对应的预期输出结果这两 部分组成。 (4)程序员应避免测试自己的程序。 (5)在设计测试用例时,应当包括合理的输入条件和不合理的输 入条件。 (6)充分注意测试中的群集现象。 (7)严格执行测试计划,排除测试的随意性。 (8)应当对每个测试结果做全面检查。 (9)在测试程序时,不仅要检验程序是否做了该做的事,还要检 验程序是否做了不该做的事 。 (10)长期妥善地保存测试计划、测试用例、出错统计和最终分 析报告 。
大连理工大学出版社《 软件工程》(第3版)
4
火龙果 整理
第8章 软件测试 uml.org.cn
8.1 软件测试概述
图8.1 软件测试的流程
大连理工大学出版社《 软件工程》(第3版)
5
火龙果 整理
第8章 软件测试 uml.org.cn
8.1 软件测试概述
2.软件测试的信息流 软件测试时需要3类测试信息流,如图8.2所示。
大连理工大学出版社《 软件工程》(第3版)
3
火龙果 整理
第8章 软件测试 uml.org.cn
8.1 软件测试概述
8.1.2 软件测试的过程和策略
1.软件测试的流程 软件测试是一系列测试活动的集合,必须按照一定的测试流程,才 能发现更多的错误。软件测试流程包括设计测试方案、实施测试、纠 正错误、分析测试数据、建立可靠性模型等几个步骤,如图8.1所示。