软件工程第3版课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件工程第3版课件.ppt》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课件
- 资源描述:
-
1、大连理工大学出版社 软件工程(第3版)第8章 软件测试 1第第8 8章章 软件测试软件测试 本章结构:本章结构:n8.1 软件测试概述软件测试概述 n8.2 软件测试方法软件测试方法n8.3 测试用例设计测试用例设计 n8.4 软件测试的步骤软件测试的步骤 n8.5 软件测试工具简介软件测试工具简介 n8.6 调试调试n8.7 面向对象软件测试简述面向对象软件测试简述大连理工大学出版社 软件工程(第3版)第8章 软件测试 28.1 8.1 软件测试概述软件测试概述 8.1.1 软件测试的目标测试阶段的根本目标是以最少的人力、物力和时间,尽可能多地发现并排除软件中潜在的错误,最终把一个高质量的软
2、件系统交给用户使用。Grenford J.Myers在The Art of Software Testing一书中就软件测试的目的提出了以下观点:1软件测试是为了发现错误而执行程序的过程。2一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例。3一个成功的测试是发现了至今尚未发现的错误的测试。大连理工大学出版社 软件工程(第3版)第8章 软件测试 38.1 8.1 软件测试概述软件测试概述 8.1.2 软件测试的原则(1)所有测试都应追溯到需求。(2)坚持“尽早地和不断地进行软件测试”。(3)测试用例应由测试输入数据和与之对应的预期输出结果这两部分组成。(4)程序员应避免测试自己的程序。
3、(5)在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。(6)充分注意测试中的群集现象。(7)严格执行测试计划,排除测试的随意性。(8)应当对每个测试结果做全面检查。(9)在测试程序时,不仅要检验程序是否做了该做的事,还要检验程序是否做了不该做的事。(10)长期妥善地保存测试计划、测试用例、出错统计和最终分析报告。大连理工大学出版社 软件工程(第3版)第8章 软件测试 48.1 8.1 软件测试概述软件测试概述 8.1.2 软件测试的过程和策略1软件测试的流程软件测试是一系列测试活动的集合,必须按照一定的测试流程,才能发现更多的错误。软件测试流程包括设计测试方案、实施测试、纠正错误、
4、分析测试数据、建立可靠性模型等几个步骤,如图8.1所示。大连理工大学出版社 软件工程(第3版)第8章 软件测试 58.1 8.1 软件测试概述软件测试概述 图8.1 软件测试的流程大连理工大学出版社 软件工程(第3版)第8章 软件测试 68.1 8.1 软件测试概述软件测试概述 2软件测试的信息流软件测试时需要3类测试信息流,如图8.2所示。图8.2 软件测试的信息流大连理工大学出版社 软件工程(第3版)第8章 软件测试 78.1 8.1 软件测试概述软件测试概述 3测试的过程图8.3描述了测试的过程。从图中可知,测试过程分为4个步骤,即单元测试、组装测试、确认测试和系统测试。图8.3 软件测
5、试的过程大连理工大学出版社 软件工程(第3版)第8章 软件测试 88.1 8.1 软件测试概述软件测试概述 图8.4列出了软件测试各阶段与软件开发各阶段之间的关系。图8.4 软件测试与软件开发各阶段的关系 大连理工大学出版社 软件工程(第3版)第8章 软件测试 98.2 8.2 软件测试方法软件测试方法 软件测试方法很多,按照测试过程是否执行程序来分,一般分为静态测试方法和动态测试方法。动态测试方法又根据测试用例的设计方法不同,分为黑盒测试和白盒测试两类。8.2.1静态测试静态测试包括代码检查、静态结构分析、代码质量度量等。是指不在计算机上执行被测试软件,而是采用人工检测和计算机辅助静态分析的
6、手段对程序进行检测。1人工测试2计算机辅助静态分析大连理工大学出版社 软件工程(第3版)第8章 软件测试 108.2 8.2 软件测试方法软件测试方法 8.2.2动态测试动态测试是基于计算机的测试,是为了发现错误而执行程序的过程。同测试任何产品一样,动态测试一般有黑盒测试法与白盒测试法两种,前者是测试产品的功能,后者是测试产品的内部结构和处理过程。1黑盒测试法黑盒法又称功能测试或数据驱动测试,该方法把被测试对象看成一个不透明的“黑盒子”,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口(界面)处进行测试,依据需求说明书,检查程序是否满足功能要求,是否能很好地接收数据,并产生正确的输出
7、。通过黑盒测试主要发现以下错误:(1)是否有不正确或遗漏了的功能。(2)界面是否有错,能否正确地接受输入数据,能否产生正确的输出信息。(3)是否有数据结构或外部数据库访问错误。(4)性能是否满足要求。(5)是否有初始化或终止性错误。黑盒测试法是一种宏观功能上的测试,该方法适合测试部门的测试人员或用户。大连理工大学出版社 软件工程(第3版)第8章 软件测试 118.2 8.2 软件测试方法软件测试方法 2白盒测试法白盒法又称结构测试或逻辑驱动测试,该方法把被测试对象看成一个透明的盒子,测试人员可以了解程序的内部结构和处理过程,以检查处理过程为目的,对程序中尽可能多的逻辑路径进行测试,检验内部控制
8、结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。白盒测试法是一种程序级的微观上的测试,不适合于大单元、大系统的测试,主要用于很小单元的测试,以及从事软件底层工作、生产构件的测试人员使用。大连理工大学出版社 软件工程(第3版)第8章 软件测试 128.3 8.3 测试用例设计测试用例设计 8.3.1黑盒技术常用的黑盒测试技术有等价类划分、边界值分析、错误推测法、因果图等。8.3.1.1等价类划分法1.等价类划分法的基本思想2等价类划分的一般规则 划分等价类需要一定的经验,下述几条启发式规则有助于等价类的划分:(1)如果输入条件是一个布尔量,则可定义一个有效等价类和一个无效等价类。(2
9、)如果输入条件规定了确切的取值范围,可定义一个有效等价类和两个无效等价类。(3)如果规定了输入数据的个数,则可定义一个有效等价类和两个无效等价类。(4)如规定了输入数据的一组值,且程序对不同输入值做不同处理,则每个允许的输入值是一个有效等价类,并有一个无效等价类(所有不允许的输入值的集合)。大连理工大学出版社 软件工程(第3版)第8章 软件测试 138.3 8.3 测试用例设计测试用例设计 (5)如果规定了输入数据必须遵循的规则,可确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。(6)如已划分的等价类各元素在程序中的处理方式不同,则应将此等价类进一步划分成更小的等价类。
10、(7)如果处理对象是表格,则应使用空表、只含1项的表,包含多项的表。大连理工大学出版社 软件工程(第3版)第8章 软件测试 148.3 8.3 测试用例设计测试用例设计 3用等价类划分法设计测试用例的步骤(1)划分等价类,形成等价类表,为每一等价类规定一个唯一的编号;(2)根据等价类选取相应的测试用例。设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步骤,直到所有有效等价类均被覆盖;设计一个新的测试用例,使其覆盖一个而且只覆盖一个尚未覆盖的无效等价类,重复这一步骤,直到所有无效等价类均被覆盖。大连理工大学出版社 软件工程(第3版)第8章 软件测试 158.3 8.3 测试
11、用例设计测试用例设计 8.3.1.2 边界值分析法边界值分析法 边界值分析方法是对各种输入、输出范围的边界情况设计测试用例的方法。边界值分析法选取测试数据应遵循的原则如下:(1)如果输入条件规定了取值范围,则应以范围的边界值以及刚刚超过范围边界外的值作为测试数据。(2)如果规定了输入值的个数,分别以满足条件的个数及稍少于、稍多于当前个数值作为测试数据。(3)针对每个输出条件使用上述(1)、(2)条规则。(4)如果程序规格说明中提到的输入或输出域是个有序的集合(如顺序文件、线性表、链表等),则应选取有序集中的第一个和最后一个作为测试数据。设计测试方案时总是结合使用等价类划分和边界值分析两种技术。
12、大连理工大学出版社 软件工程(第3版)第8章 软件测试 168.3 8.3 测试用例设计测试用例设计 8.3.1.3 错误推测法人们可以靠经验和直觉推测程序中可能存在的各种错误,从而有针对性地设计检查这些错误的例子,这就是错误推测法。错误推测法的基本思想是:列举出程序中所有可能有的错误和容易发生错误的特殊情况,并且根据这些情况选择测试用例。错误推测法针对性强,可以直接切入可能的错误,直接定位,是一种非常实用、有效的方法。但是它需要丰富的经验和专业知识。错误推测法的实施步骤是,对被测软件首先列出所有可能有的错误和易错情况表,然后基于该表设计测试用例。大连理工大学出版社 软件工程(第3版)第8章
13、软件测试 178.3 8.3 测试用例设计测试用例设计 8.3.1.4 因果图法 因果图的基本原理是通过画因果图,把用自然语言描述的功能说明转换为判定表,列出输入数据各种组合与程序应做的动作(即相应的输出结果)之间的对应关系,最后为判定表的每一列至少设计一个测试用例。大连理工大学出版社 软件工程(第3版)第8章 软件测试 188.3 8.3 测试用例设计测试用例设计 8.3.2白盒技术 白盒测试常用的技术是逻辑覆盖,即考察用测试数据运行被测程序时对程序逻辑的覆盖程度。主要的覆盖标准有6种:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。大连理工大学出版社 软件工程(第3版
14、)第8章 软件测试 198.3 8.3 测试用例设计测试用例设计 1.语句覆盖以图8.4所示的程序流程图为例。为了使每个语句都执行一次,程序的执行路径应该是,为此只需要输入下面的测试数据:A=2,B=0,X=3图8.5 被测模块流程图 大连理工大学出版社 软件工程(第3版)第8章 软件测试 208.3 8.3 测试用例设计测试用例设计 2判定覆盖判定覆盖又叫分支覆盖,它的含义是指设计足够的测试用例,使得被测程序中每个判定表达式至少获得一次“真”值和一次“假”值,从而使程序的每个分支至少都通过一次。设计测试用例,只要通过路径,或者,就可达到判定覆盖标准。例如,选择下面的两组测试数据:(1)A=3
展开阅读全文