软件测试教程-宫云战_第2章ppt
合集下载
软件测试PPT
高级软件测试技术
杨为民
安徽大教程. 宫云战. 机械工业出版社. 2008年9月.
软件测试实践:成为一个高效能的测试专家. (美)布莱克(Black,R.)著,郭耀译.清华大学出 版社. 2008年12月 LoadRunner性能测试应用. 姜艳. 电子工业出版 社. 2009年01月 NET测试实战技术大全:测试基础、流行工具、典型案例. 陈 能技.人民邮电出版社. 2008年12月 Web应用程序性能测试指南. (美)迈耶(Meier,J.D)著. 韩平 译. 机械工业出版社. 2008年09月
6
软件错误的损失
• 据推测,由于软件缺陷而引起的损失额每 年高达595亿美元。这一数字相当于美国 国内生产总值的0.6%。
7
1.2 软件测试的定义
定义1:1983年IEEE(国际电子电气工程师协会)提出的软 件工程标准术语中给软件测试下的定义是: “使用人工或自动手段来运行或测定某个系统的过程,其 目的在于检验它是否满足规定的需求或是弄清预期结果与 实际结果之间的差别”。 定义2:软件测试是根据软件开发各阶段的规格说明和程序 的内部结构而精心设计一批测试用例,并利用这些测试用 例去执行程序,以发现软件故障的过程。该定义强调寻找 故障是测试的目的。 定义3:软件测试是一种软件质量保证活动,其动机是通过 一些经济有效的方法,发现软件中存在的缺陷,从而保证 软件质量。
2
第1章 软件测试概述
• 随着计算机技术的飞速发展,计算机系统的规模和复 杂性急剧增加,其软件开发成本以及由于软件故障而 造成的经济损失也正在增加,软件质量问题已成为人 们共同关注的焦点。 • 计算机出现故障引起系统失效的可能性也逐渐增加。 由于计算机硬件技术的进步,元器件可靠性的提高, 硬件设计和验证技术的成熟,硬件故障相对显得次要 了,软件故障正逐渐成为导致计算机系统失效和停机 的主要因素。 • 随着对计算机需求和依赖的与日俱增,计算机系统的 规模和复杂性急剧增加,使得计算机软件的数量以惊 人的速度急剧膨胀。
杨为民
安徽大教程. 宫云战. 机械工业出版社. 2008年9月.
软件测试实践:成为一个高效能的测试专家. (美)布莱克(Black,R.)著,郭耀译.清华大学出 版社. 2008年12月 LoadRunner性能测试应用. 姜艳. 电子工业出版 社. 2009年01月 NET测试实战技术大全:测试基础、流行工具、典型案例. 陈 能技.人民邮电出版社. 2008年12月 Web应用程序性能测试指南. (美)迈耶(Meier,J.D)著. 韩平 译. 机械工业出版社. 2008年09月
6
软件错误的损失
• 据推测,由于软件缺陷而引起的损失额每 年高达595亿美元。这一数字相当于美国 国内生产总值的0.6%。
7
1.2 软件测试的定义
定义1:1983年IEEE(国际电子电气工程师协会)提出的软 件工程标准术语中给软件测试下的定义是: “使用人工或自动手段来运行或测定某个系统的过程,其 目的在于检验它是否满足规定的需求或是弄清预期结果与 实际结果之间的差别”。 定义2:软件测试是根据软件开发各阶段的规格说明和程序 的内部结构而精心设计一批测试用例,并利用这些测试用 例去执行程序,以发现软件故障的过程。该定义强调寻找 故障是测试的目的。 定义3:软件测试是一种软件质量保证活动,其动机是通过 一些经济有效的方法,发现软件中存在的缺陷,从而保证 软件质量。
2
第1章 软件测试概述
• 随着计算机技术的飞速发展,计算机系统的规模和复 杂性急剧增加,其软件开发成本以及由于软件故障而 造成的经济损失也正在增加,软件质量问题已成为人 们共同关注的焦点。 • 计算机出现故障引起系统失效的可能性也逐渐增加。 由于计算机硬件技术的进步,元器件可靠性的提高, 硬件设计和验证技术的成熟,硬件故障相对显得次要 了,软件故障正逐渐成为导致计算机系统失效和停机 的主要因素。 • 随着对计算机需求和依赖的与日俱增,计算机系统的 规模和复杂性急剧增加,使得计算机软件的数量以惊 人的速度急剧膨胀。
《软件测试基础》课件第2章 软件测试流程
第二章 软件测试流程
概述 测试计划 测试设计 单元测试 集成测试 确认测试 系统测试 验收测试 评估测试
测试流程概述
测试计划
根据用户需求报告中关于功能要求和性能 指标的规格说明书,定义相应的测试需求 报告,使得随后所有的测试工作都将围绕 着测试需求来进行。同时,适当选择测试 内容,合理安排测试人员、测试时间及测 试资源等。
d1
d2
M5
M7
(a)
(b)
d3
d4
d5
M9
M10
M11
(c)
(d)
(e)
自底向上测试
d6 M12
(f)
影响测试顺序的因素是模块的关键性质。 如果可以确定模块M4和M6是关键的,那么自底 向上增式测试的中间状态可能如图所示。
d7
d7
M4
M6
M8
M9
M10
M11
M12
(a)
(b)
图6-7 自底向上测试的中间状态
测试设计
测试设计是指将测试计划阶段制订的测试 需求分解、细化为若干个可执行的测试过 程,并为每个测试过程选择适当的测试用 例,保证测试结果的有效性。
测试执行
执行测试开发阶段建立的自动测试过程, 并对所发现的缺陷进行跟踪管理。测试执 行一般由单元测试、组合测试、集成测试 以及回归测试等步骤组成。
测试评估
增式集成是构造程序结构的一种方式,按照不同 的模块集成方式,又分为自顶向下增式测试和自 底向上增式测试两种。 自顶向下集成从主控模块开始,按照软件的控制 层次结构,逐步把各个模块集成在一起。 自底向上集成则从最下层的模块开始,按照程序 的层次结构,逐渐形成完整的整体。
自顶向下增式集成测试
概述 测试计划 测试设计 单元测试 集成测试 确认测试 系统测试 验收测试 评估测试
测试流程概述
测试计划
根据用户需求报告中关于功能要求和性能 指标的规格说明书,定义相应的测试需求 报告,使得随后所有的测试工作都将围绕 着测试需求来进行。同时,适当选择测试 内容,合理安排测试人员、测试时间及测 试资源等。
d1
d2
M5
M7
(a)
(b)
d3
d4
d5
M9
M10
M11
(c)
(d)
(e)
自底向上测试
d6 M12
(f)
影响测试顺序的因素是模块的关键性质。 如果可以确定模块M4和M6是关键的,那么自底 向上增式测试的中间状态可能如图所示。
d7
d7
M4
M6
M8
M9
M10
M11
M12
(a)
(b)
图6-7 自底向上测试的中间状态
测试设计
测试设计是指将测试计划阶段制订的测试 需求分解、细化为若干个可执行的测试过 程,并为每个测试过程选择适当的测试用 例,保证测试结果的有效性。
测试执行
执行测试开发阶段建立的自动测试过程, 并对所发现的缺陷进行跟踪管理。测试执 行一般由单元测试、组合测试、集成测试 以及回归测试等步骤组成。
测试评估
增式集成是构造程序结构的一种方式,按照不同 的模块集成方式,又分为自顶向下增式测试和自 底向上增式测试两种。 自顶向下集成从主控模块开始,按照软件的控制 层次结构,逐步把各个模块集成在一起。 自底向上集成则从最下层的模块开始,按照程序 的层次结构,逐渐形成完整的整体。
自顶向下增式集成测试
软件测试教案ppt课件
第1章软件测试概述12软件测试基础理论13软件开发过程14软件开发与软件测试的关系15软件测试过程16软件质量保证概要17软件测试职业11软件测试背景本章教学目标正确理解软件测试的背景软件缺陷和故障的概念正确理解软件测试的意义正确理解软件开发过程与软件测试的关系正确理解软件质量的概念及质量保证体系了解软件测试职业与素质的要求11软件测试背景111软件可靠性问题112软件缺陷与故障113软件缺陷产生的原因returnreturn111软件可靠性问题运行软件的驻留故障密度每千行代码的故障数目要求很高的关键财务或财产软件为每千行代码110个故障关键的生命软件为每千行代码0011个故障时间内无故障运行的概率
软件测试的对象:
——软件测试不等于程序测试。
——软件测试贯串于软件定义和开发的整个过程。
——软件开发过程中所产生的需求规格说明、概要 设计规格说明、详细设计规格说明以及源程序都是 软件测试的对象。
A Free sample background from
的定义有两种描述:
定义1:软件测试是为了发现错误而执行程序的 过程。
定义2:软件测试是根据软件开发各阶段的规格 说明和程序的内部结构而精心设计的一批测试用
例,并利用这些测试用例运行程序以及发现错误
的过程,即执行测试步骤。
A Free sample background from
功能冻结
代码冻结
图1-3 软件测试的周期性
第1章
A Free sample background from
软件测试概述
Slide 19
软件测试的基本理论(续)
6、测试停止的依据(标准) 第一类标准:测试超过了预定时间,则停止测试。 第二类标准:执行了所有的测试用例,但并没有发
软件测试的对象:
——软件测试不等于程序测试。
——软件测试贯串于软件定义和开发的整个过程。
——软件开发过程中所产生的需求规格说明、概要 设计规格说明、详细设计规格说明以及源程序都是 软件测试的对象。
A Free sample background from
的定义有两种描述:
定义1:软件测试是为了发现错误而执行程序的 过程。
定义2:软件测试是根据软件开发各阶段的规格 说明和程序的内部结构而精心设计的一批测试用
例,并利用这些测试用例运行程序以及发现错误
的过程,即执行测试步骤。
A Free sample background from
功能冻结
代码冻结
图1-3 软件测试的周期性
第1章
A Free sample background from
软件测试概述
Slide 19
软件测试的基本理论(续)
6、测试停止的依据(标准) 第一类标准:测试超过了预定时间,则停止测试。 第二类标准:执行了所有的测试用例,但并没有发
软件测试培训课件ppt
静态测试(static testing),是指不运行被测试的软件,而只是静态的检查程序代码、界面或者文 档中可能存在的错误的过程。
动态测试(dynamic testing),是指实际运行被测试软件,输入相应的测试数据,检查实际输出结 果是否和预期结果相一致的过程。
黑盒测试的分类
制定测试计划
包括被测试项目的背景、目标、 范围、方式、资源、进度安排、 测试组织,以及与测试有关的 风险等
测试设计
测试设计阶段要设计测试用例 和测试数据,要保证测试用例 完全覆盖测试需求
软件测试流程
测试总结
测试总结报告包含的内容:系统 概述、编写目的、参考资料、测 试环境、差异、测试充分性评价、 残留缺陷、缺陷统计、缺陷分析、 测试活动总结、测试结论
测试执行
测试执行可以划分为两个子阶 段:前一阶段目的为尽可能多 的发现缺陷;后一阶段目的为 减少风险,增加测试的覆盖度
目录 1 软件生命周期 2 什么是软件测试? 3 软件测试流程 4 测试用例和缺陷报告 5 软件测试人员具备的素质
软件生命周期
主要确定软件的开 发目标及其可行性
主要分为单元测试、集成测试、 系统测试三个阶段
问题定 义及规
划
需求分析
软件设计 程序编码
软件测试
运行维护
一般包括详细设计和概要设计 (系统框架设计、数据库设计)
软件测试的分类
软件测试
按阶段划分
按是否运行程序划分
按是否查看代码划分
其他
单
集
系
验
静
动
元
成
统
收
态
态
测
测测Βιβλιοθήκη 测测测试
试
试
试
动态测试(dynamic testing),是指实际运行被测试软件,输入相应的测试数据,检查实际输出结 果是否和预期结果相一致的过程。
黑盒测试的分类
制定测试计划
包括被测试项目的背景、目标、 范围、方式、资源、进度安排、 测试组织,以及与测试有关的 风险等
测试设计
测试设计阶段要设计测试用例 和测试数据,要保证测试用例 完全覆盖测试需求
软件测试流程
测试总结
测试总结报告包含的内容:系统 概述、编写目的、参考资料、测 试环境、差异、测试充分性评价、 残留缺陷、缺陷统计、缺陷分析、 测试活动总结、测试结论
测试执行
测试执行可以划分为两个子阶 段:前一阶段目的为尽可能多 的发现缺陷;后一阶段目的为 减少风险,增加测试的覆盖度
目录 1 软件生命周期 2 什么是软件测试? 3 软件测试流程 4 测试用例和缺陷报告 5 软件测试人员具备的素质
软件生命周期
主要确定软件的开 发目标及其可行性
主要分为单元测试、集成测试、 系统测试三个阶段
问题定 义及规
划
需求分析
软件设计 程序编码
软件测试
运行维护
一般包括详细设计和概要设计 (系统框架设计、数据库设计)
软件测试的分类
软件测试
按阶段划分
按是否运行程序划分
按是否查看代码划分
其他
单
集
系
验
静
动
元
成
统
收
态
态
测
测测Βιβλιοθήκη 测测测试
试
试
试
软件测试培训教程(精品PPT)
第五页,共一百九十四页。
软件测试概论(gàilùn)〔行情〕
国外:
A、软件测试在软件公司中占有重要(zhòngyào)的地位 B、软件测试理论研究蓬勃开展,引领软件测试理论研究
的国际潮流
C、软件测试市场繁荣
国内: 1、我国著名的软件公司都已经或者正在建立独立的专职软
件测试队伍 2、国家开始对软件测试职业高度重视和认可〔软考中级资
需求分析,概要设计,详细设计以及程序编码等各阶段 所得到的文档,包括需求规格说明,概要设计规格说明, 详细设计规格说明以及源程序。
第十九页,共一百九十四页。
软件测试的对象(duìxiàng)
为了把握各个环节的正确性,人们需要进行各种验证和确 认工作 :
❖ 验证(verification): 是保证软件正确实现特定功能的一系 统活动和过程,目的是保证软件生命周期中的每一个阶段的 成果满足上一个阶段所设定的目标。
初 学 者
QTP功能测试 工具学习
LoadRunner性 能测试工具学习
软件测试理论 基础学习
缺陷管理 知识学习
数据库 知识学习
配置管理 知识学习
项目实战
岗前培训 面试技巧
图1-3 软件测试学习路线图
Web测试环境 搭建学习
Linux操作系统 知识学习
工 作
第十一页,共一百九十四页。
软件测试由来
❖调试
测试(cèshì)工程师的职业开展
❖ 软件测试工程师一般有几个(jǐ ɡè)方向可走,如图1-2所示。
初级测试工程师 中级测试工程师
高级测试工程师
测试管理者
图1-2 职业发展规划图
开发工程师
❖ 一个理想的测试工程师应该有开发经验,至少要有开发 的概念。仅仅发现Bug是测试的初步,而分析出根本原 因,却要有很深的功底。
软件测试概论(gàilùn)〔行情〕
国外:
A、软件测试在软件公司中占有重要(zhòngyào)的地位 B、软件测试理论研究蓬勃开展,引领软件测试理论研究
的国际潮流
C、软件测试市场繁荣
国内: 1、我国著名的软件公司都已经或者正在建立独立的专职软
件测试队伍 2、国家开始对软件测试职业高度重视和认可〔软考中级资
需求分析,概要设计,详细设计以及程序编码等各阶段 所得到的文档,包括需求规格说明,概要设计规格说明, 详细设计规格说明以及源程序。
第十九页,共一百九十四页。
软件测试的对象(duìxiàng)
为了把握各个环节的正确性,人们需要进行各种验证和确 认工作 :
❖ 验证(verification): 是保证软件正确实现特定功能的一系 统活动和过程,目的是保证软件生命周期中的每一个阶段的 成果满足上一个阶段所设定的目标。
初 学 者
QTP功能测试 工具学习
LoadRunner性 能测试工具学习
软件测试理论 基础学习
缺陷管理 知识学习
数据库 知识学习
配置管理 知识学习
项目实战
岗前培训 面试技巧
图1-3 软件测试学习路线图
Web测试环境 搭建学习
Linux操作系统 知识学习
工 作
第十一页,共一百九十四页。
软件测试由来
❖调试
测试(cèshì)工程师的职业开展
❖ 软件测试工程师一般有几个(jǐ ɡè)方向可走,如图1-2所示。
初级测试工程师 中级测试工程师
高级测试工程师
测试管理者
图1-2 职业发展规划图
开发工程师
❖ 一个理想的测试工程师应该有开发经验,至少要有开发 的概念。仅仅发现Bug是测试的初步,而分析出根本原 因,却要有很深的功底。
软件测试教程(第2版)课件第2章 软件缺陷
影响软件缺陷数目的因素很多。在不同的软件阶段, 软件的缺陷密度是不同的。
从宏观上看,包括管理水平、技术水平、测试水平等。 从微观上看,软件规模、软件复杂性复杂性、软件类型、
测试工具、测试自动化程度、测试支撑环境、 开发成本 等。初始的软件缺陷密度一般是靠经验来估计的。
8
2.1 软件缺陷概述
2.1.3 软件缺陷的种类
阶段
发现错
1
误的个
数
2
3
发现错
1
误的效
率
2
3
初级
平均值 标准差
3.88
1.89
3.04
2.07
3.90
1.83
1.36
0.97
1.00
0.85
2.14
2.48
测试者水平层次
中级
高级
平均值 标准差 平均值 标准差
4.07
1.69
3.83
1.64
4.18
1.99
5.00
1.53
2.22
1.66
0.96
0.74
特数目,该模型认为,平均3000bit就有一个错误。该模型和 Akiyama模型有些类似,也完全是大量程序的统计结果,但 难以说清楚哪一个更好。
23
静态模型
Lipow模型
N=L*(A0+A1*InL+A2*ln2L) Fortran语言:A0=0.0047,A1=0.023,A2=0.000043。 汇编语言:A0=0.0012,A1=0.0001,A2=0.000002。 显然,这也是一个统计结果。不同的是,该模型区分
MD、AD、SD三类缺陷主要存在于软件开发的前期阶段, 而在实施第三方测试时,一般不会存在这三类缺陷。
从宏观上看,包括管理水平、技术水平、测试水平等。 从微观上看,软件规模、软件复杂性复杂性、软件类型、
测试工具、测试自动化程度、测试支撑环境、 开发成本 等。初始的软件缺陷密度一般是靠经验来估计的。
8
2.1 软件缺陷概述
2.1.3 软件缺陷的种类
阶段
发现错
1
误的个
数
2
3
发现错
1
误的效
率
2
3
初级
平均值 标准差
3.88
1.89
3.04
2.07
3.90
1.83
1.36
0.97
1.00
0.85
2.14
2.48
测试者水平层次
中级
高级
平均值 标准差 平均值 标准差
4.07
1.69
3.83
1.64
4.18
1.99
5.00
1.53
2.22
1.66
0.96
0.74
特数目,该模型认为,平均3000bit就有一个错误。该模型和 Akiyama模型有些类似,也完全是大量程序的统计结果,但 难以说清楚哪一个更好。
23
静态模型
Lipow模型
N=L*(A0+A1*InL+A2*ln2L) Fortran语言:A0=0.0047,A1=0.023,A2=0.000043。 汇编语言:A0=0.0012,A1=0.0001,A2=0.000002。 显然,这也是一个统计结果。不同的是,该模型区分
MD、AD、SD三类缺陷主要存在于软件开发的前期阶段, 而在实施第三方测试时,一般不会存在这三类缺陷。
软件测试基础教程-宫云战_第2章ppt
同样,也可按照输出条件,将输出域划分为若干个等价类。
2.2.1等价类划分方法
3.等价类划分测试用例设计 在设计测试用例时应同时考虑有效等价类和无效等价类测试 用例的设计。根据等价类表设计测试用例,具体步骤如下: (1)为每个等价类规定一个唯一的编号。 (2) 设计一个新的测试用例,尽可能多地覆盖尚未被覆盖的 有效等价类,重复这一步,直到测试用例覆盖了所有的有效 等价类。 (3) 设计一个新的测试用例,使其覆盖并且只覆盖一个还没 有被覆盖的无效等价类。重复这一步,直至测试用例覆盖了 所有的无效等价类。
年龄
20~39 6点 40~59 4点 其它 2点
性别
M 4点 F 3点
婚姻状况
已婚 3点 未婚 5点
抚养人数
1人扣0.5点, 最多扣3点
2.2.2 等价类划分法的测试运用
分析程序规格说明中给出和隐含的对输入数据的要求,可以 得出: ① 年龄:一位或两位非零整数,取值的有效范围为1~99。 ② 性别:一位英文字符,只能取 ‘M’或’F’ 值。 ③ 婚姻:字符,只能取‘已婚’或‘未婚’。 ④ 抚养人数:空白或字符‘无’或一位非零整数(1~9) ⑤ 点数 :一位或两位非零整数,取值范围为8~19 通过对规格说明输入数据的取值分析,可以得出保险公司人 寿保险保费计算程序的等价类。
2.3.1 边界值分析法
x2 d
c
a
b
x1
图2.1 边界值分析测试用例
对于一个n变量的程序,边界值分析测试会产生4n+1个 测试用例。
2.3.1 边界值分析法
3. 健壮性边界值测试 健壮性测试是边界值分析的一种扩展。
变量除了取min,min+,nom,max-,max五个边界 值外,还要考虑采用一个略超过最大值(max+)以及一个略 小于最小值(min-)的取值,看看超过极限值时系统会出现什么 情况。
《软件测试培训》PPT课件
定义目标 确定策略 确定方法 建立环境 执行计划 一步步验证 执行完毕? 没有改正 继续执行
2021/3/26
4
谁参与测试?
用户方代表 软件最终使用者 软件开发人员 软件测试人员 高层经理的支持 过程保证人员(SQA)
2021/3/26
5
什么试缺陷?
缺陷:最终产品同用户的期望不一致 缺陷的分类
校验程序的开发是否依照已定义的标准,流程和操作 方式进行的。
如何去使用
将文档/程序同标准相比较 比较有效的方法是检查过程
例子
代码互查(一行一行)
什么时候使用
依赖于管理的需要
2021/3/26
51
安全性测试
目标
安全性的缺陷很难被发现。 大多数的情况下组织能够防止一般性的破坏者。
2021/3/26
14
续……
软件方面
使用了不完全的或者不正确的判定标准来设计软 件。
错误的处理了用户的非法操作 忽略了对关键数据的输出检查
数据问题
出现了不完整的数据,不正确的数据,过期的数 据
2021/3/26
15
测试效果的好坏是组织级的问题
有效的测试最好由一个独立的团队来实施。
便于确定工作目标 便于人员的培养与升迁 利于团队建设 对质量的忠诚度高 利于新技术,新方法的产生和推广 工作职责明确
版本
2021/3/26
26
QC和QA
质量控制
验证产品的正确性,当发现与设计不一致的时 候进行纠正。
质量保证
充当支持执行全面质量管理的角色
2021/3/26
27
测试涉及的定义和概念
缺陷
与需求规格说明书不一致的地方。
静态检查
软件测试教程宫云战 PPT课件
• 所设计的测试用例是否完整、是否考虑边界条件、能否达到其
覆盖率要求;
第9页/共42页
8.2测试管理的基本内容
• 测试执行阶段: 建立和设置好相关的测试环境,准备好测试数据,开始执行测试。测试执行可以手工进行,也可以自动进 行。自动化测试借助于测试工具,运行测试脚本,达到测试结果,所以管理比较简单,而手工测试的管理 相对要复杂些。
第24页/共42页
8.4测试管理的实践
• 策划测试过程 • 需求分析 • 变更控制 • 度量与分析 • 测试过程可持续改进
第25页/共42页
8.4测试管理的实践
• 策划测试过程 • 该系统的三个阶段具有相对的独立性,所以可采用“独立、迭代”的测试原则,对测试过程进行 独立策划,以每一阶段完成所提交的阶段性产品作为系统测试准备的就绪点,在就绪点及时开展 测试。 • 因此,在该系统开发过程中,系统测试组可开展三个阶段的系统测试,每个阶段系统测试具有不 同的侧重点,目的在于更好地配合开发工作尽早地发现软件故障,降低软件成本。
8.2测试管理的基本内容
• 8.2.4测试文档管理 • 测试文档的类型
• 测试计划:详细规定测试的要求,包括测试的目的和内容、方法和步骤,以及 测试的准则等。
• 测试分析报告:用来对测试结果进行分析说明。软件经过测试后,应给出评价 的结论性意见,软件的能力如何,存在哪些缺陷和限制等等。
• 测试文档的管理
SQAP SVVP
DTP TDS
TPS
动一个。
•MTP:主确认测试计划,每个SVVP
MTP
DTP TDS
TPS
一个。
每确认活动 一个或多个
TCS DTP TDS
TCS DTP
•DTP:详细确认测试计划,每个活 TC 动一个或多个。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章 黑盒测试
黑盒测试是一种常用的软件测试方法,它将被测软件看作一 个打不开的黑盒,主要根据功能需求设计测试用例,进行测 试。本章主要介绍几种常用的黑盒测试方法和黑盒测试工具, 并通过实例介绍各种方法的运用。
第2章 黑盒测试
2.1黑盒测试的基本概念 2.2 等价类划分 2.3边界值分析法 2.4 因果图法 2.5 决策表法 2.6 黑盒测试方法的比较与选择 2.7 黑盒测试工具介绍
2.3.1 边界值分析法
其实边界值和等价类密切相关,输入等价类和输出等价类 的边界是要着重测试的边界情况。在等价类的划分过程中产 生了许多等价类边界。边界是最容易出错的地方,所以,从 等价类中选取测试数据时应该关注边界值。 在等价类划分基础上进行边界值分析测试的基本思想是, 选取正好等于、刚刚大于或刚刚小于等价类边界的值作为测 试数据,而不是选取等价类中的典型值或任意值做为测试数 据。
测试用例 Test 1 Test2 Test3 Test4 Test5 Test6 Test7 Test8 Test9 Test10 Test11 Test12 Test13 a 60 60 60 50 50 60 60 50 50 1 2 99 100 b 60 60 60 50 50 1 2 99 100 60 60 50 50 c 1 2 60 99 100 60 60 50 50 60 60 50 50 预期输出 等腰三角形 等腰三角形 等边三角形 等腰三角形 非三角形 等腰三角形 等腰三角形 等腰三角形 非三角形 等腰三角形 等腰三角形 等腰三角形 非三角形
2.3.1 边界值分析法
2.边界值分析测试 这里讨论一个有两个变量x1和x2的程序P。假设输入变量x1 和x2在下列范围内取值: a≤x1≤b, c≤x2≤d 边界值分析利用输入变量的最小值(min),稍大于最 小值(min+),域内任意值(nom),稍小于最大值(max-), 最大值(max)来设计测试用例。即通过使所有变量取正常值, 只使一个变量分别去最小值,略高于最小值、略低于最大值 和最大值。
2.3.2边界值分析法的测试运用
加法器边界测试用例
测试用例 输入数据 加数1 加数2 50 0.2 A 50 50 A @ 50 50 @ 空格 50 50 空格 50 50 预期输出 和 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数”
2.1黑盒测试的基本概念
黑盒测试着眼于软件的外部特征,通过上述方面的检测,确 定软件所实现的功能是否按照软件规格说明书的预期要求正 常工作. 两个显著的优点: ① 黑盒测试与软件具体实现无关,所以如果软件实现发生 了变化,测试用例仍然可以使用; ② 设计黑盒测试用例可以和软件实现同时进行,因此可以 压缩项目总的开发时间。
2.2 等价类划分
等价类划分法是一种典型的黑盒测试方法,它完全不考虑程 序的内部结构,只根据程序规格说明书对输入范围进行划分 ,把所有可能的输入数据,即程序输入域划分为若干个互不 相交的子集,称为等价类,然后从每个等价类中选取少数具 有代表性的数据作为测试用例,进行测试。
2.2 等价类划分
2.2.1等价类划分方法 所谓等价类是指输入域的某个互不相交的子集合,所有 等价类的并便是整个输入域。 1.划分等价类 (1)有效等价类 检验程序是否实现了规格说明预先规定的功能和性能。 (2)无效等价类 检查软件功能和性能的实现是否有不符合规格说明要求的 地方。
2.1黑盒测试的基本概念
黑盒测试是从一种从软件外部对软件实施的测试,也称 功能测试或基于规格说明的测试。其基本观点是:任何程序 都可以看作是从输入定义域到输出值域的映射,这种观点将 被测程序看作一个打不开的黑盒,黑盒里面的内容(实现)是完 全不知道的,只知道软件要做什么。因无法看到盒子中的内 容,所以不知道软件是如何实现的,也不关心黑盒里面的结 构,只关心软件的输入数据和输出结果。
2.3.2边界值分析法的测试运用
加法器边界测试用例
测试用例 Test1 Test 2 Test 3 Test 4 Test 5 Test 6 Test 7 Test 8 Test 9 Test 10 Test11 Test12 Test13 输入数据 加数1 加数2 1 50 2 50 99 50 100 50 50 1 50 2 50 99 50 100 0 50 50 0 101 50 50 101 0.2 50 预期输出 和 51 52 149 150 51 52 149 150 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数”
2.2.2 等价类划分法的测试运用
2.保险公司人寿保险保费计算程序的等价类测试 【例2.2】 某保险公司人寿保险的保费计算方式为: 保费=投保额×保险费率 其中,保险费率根据年龄、性别、婚姻状况和抚养人数 的不同而有所不同,体现在不同年龄、性别、婚姻状况和抚 养人数,点数设定不同,10点及10点以上保险费率为0.6%, 10点以下保险费率为0.1%;而点数又是由投保人的年龄、性 别、婚姻状况和抚养人数来决定,具体规则见表2.5。
2.2 等价类划分
2.2.2 等价类划分法的测试运用 1.三角形问题的等价类测试 【例2.1】 三角形问题是软件测试文献中使用最广泛的一个 例子。输入三个整数a、b和c分别作为三角形的3条边,通过 程序判断由这3条边构成的三角形类型是:等边三角形、等腰 三角形、一般三角形或非三角形(不能构成一个三角形)。
2.2.2 等价类划分法的测试运用
三角形问题可以更详细地描述为: 输入3个整数a、b和c分别作为三角形的三条边,要求a、b和c 必须满足以下条件:
Con1.1≤a≤10 Con 3.1≤c≤100 Con 5.b<a+c Con 2.1≤b≤100 Con 4.a<b+c Con 6.c<a+b
如果a、b和c满足Con1、Con2和Con3,则输出为4种情况之一: ①.如果不满足条件Con 4、Con 5和Con 6中有一个,则程序输出为“非三 角形”。 ②.如果三条边相等,则程序输出为“等边三角形”。 ③.如果恰好有两条边相等,则程序输出为“等腰三角形”。 ④.如果三条边都不相等,则程序输出为“一般三角形”。
2.3.1 边界值分析法
x2 d
c
a
图2.2 健壮性边界值测试用例
b
x1
健壮性边界值测试将产生6n+1个测试用例. 健壮性测试最有意义的部分不是输人,而是预期的输出,观察 例外情况如何处理。
2.3边界值分析法
2.3.2边界值分析法的测试运用 1. 三角形问题的边界值分析测试用例设计
边界值分析测试用例
2.3.2边界值分析法的测试运用
为此,我们可综合考虑输入数据的取值范围和类型划分等价类, 其结果如下表所示。
加法器等价类
编号 1 2 3 4
输入条件 1~100之间整数 <1整数 >100整数 小数
所属类别 有效等价类 无效等价类 无效等价类 无效等价类
编号 5 6 7 8
输入条件 所属类别 非数值(字母) 无效等价类 非数值(特殊字符) 无效等价类 非数值(空格) 无效等价类 非数值(空白) 无效等价类
2.3.2边界值分析法的测试运用
2.加法器边界值测试用例设计 【例2.4】 加法器程序计算两个1~100之间整数的和。 对于加法器程序,根据输入要求可将输入空间划分为三个等 价类,即1个有效等价类(1~100之间),两个无效等价类( <1,>100)。但这种等价类划分不是很完善,我们只考虑了 输入数据的取值范围,而没有考虑输入数据的类型,我们认 为输入应为整数,但用户输入什么都有可能。
2.2.1等价类划分方法
2.常用的等价类划分原则 (1)按区间划分 (2)按数值划分 (3)按数值集合划分 (4)按限制条件或规则划分 (5)细分等价类
2.2.1等价类划分方法
在确立了等价类之后,可按表2.1的形式列出所有划分出的等 价类表: 表2.1 等价类表
输入条件 有效等价类 无效等价类
2.2.2 等价类划分法的测试运用
等价类测试存在两个问题: 一是规格说明往往没有定义无效测试用例的期望输出应 该是什么样的。因此,测试人员需要花费大量时间来定义这 些测试用例的期望输出。 二是强类型语言没有必要考虑无效输入。传统等价类测 试是诸如FORTRAN和COBOL这样的语言占统治地位年代的产 物,那时这种无效输入的故障很常见。事实上,正是由于经 常出现这种错误,才促使人们使用强类型语言。
年龄
20~39 6点 40~59 4点 其它 2点
性别
M 4点 F 3点
婚姻状况
已婚 3点 未婚 5点
抚养人数
1人扣0.5点, 最多扣3点
2.2.2 等价类划分法的测试运用
分析程序规格说明中给出和隐含的对输入数据的要求,可以 得出: ① 年龄:一位或两位非零整数,取值的有效范围为1~99。 ② 性别:一位英文字符,只能取 ‘M’或’F’ 值。 ③ 婚姻:字符,只能取‘已婚’或‘未婚’。 ④ 抚养人数:空白或字符‘无’或一位非零整数(1~9) ⑤ 点数 :一位或两位非零整数,取值范围为8~19 通过对规格说明输入数据的取值分析,可以得出保险公司人 寿保险保费计算程序的等价类。
2.1黑盒测试的基本概念
穷举输入测试是不现实的。这就需要我们认真研究测试 方法,以便能开发出尽可能少的测试用例,发现尽可能多的 软件故障。 常用的黑盒测试方法有等价类划分、边界值分析、决策表 测试等,每种方法各有所长,我们应针对软件开发项目的具 体特点,选择合适的测试方法,有效地解决软件开发中的测 试问题。
黑盒测试是一种常用的软件测试方法,它将被测软件看作一 个打不开的黑盒,主要根据功能需求设计测试用例,进行测 试。本章主要介绍几种常用的黑盒测试方法和黑盒测试工具, 并通过实例介绍各种方法的运用。
第2章 黑盒测试
2.1黑盒测试的基本概念 2.2 等价类划分 2.3边界值分析法 2.4 因果图法 2.5 决策表法 2.6 黑盒测试方法的比较与选择 2.7 黑盒测试工具介绍
2.3.1 边界值分析法
其实边界值和等价类密切相关,输入等价类和输出等价类 的边界是要着重测试的边界情况。在等价类的划分过程中产 生了许多等价类边界。边界是最容易出错的地方,所以,从 等价类中选取测试数据时应该关注边界值。 在等价类划分基础上进行边界值分析测试的基本思想是, 选取正好等于、刚刚大于或刚刚小于等价类边界的值作为测 试数据,而不是选取等价类中的典型值或任意值做为测试数 据。
测试用例 Test 1 Test2 Test3 Test4 Test5 Test6 Test7 Test8 Test9 Test10 Test11 Test12 Test13 a 60 60 60 50 50 60 60 50 50 1 2 99 100 b 60 60 60 50 50 1 2 99 100 60 60 50 50 c 1 2 60 99 100 60 60 50 50 60 60 50 50 预期输出 等腰三角形 等腰三角形 等边三角形 等腰三角形 非三角形 等腰三角形 等腰三角形 等腰三角形 非三角形 等腰三角形 等腰三角形 等腰三角形 非三角形
2.3.1 边界值分析法
2.边界值分析测试 这里讨论一个有两个变量x1和x2的程序P。假设输入变量x1 和x2在下列范围内取值: a≤x1≤b, c≤x2≤d 边界值分析利用输入变量的最小值(min),稍大于最 小值(min+),域内任意值(nom),稍小于最大值(max-), 最大值(max)来设计测试用例。即通过使所有变量取正常值, 只使一个变量分别去最小值,略高于最小值、略低于最大值 和最大值。
2.3.2边界值分析法的测试运用
加法器边界测试用例
测试用例 输入数据 加数1 加数2 50 0.2 A 50 50 A @ 50 50 @ 空格 50 50 空格 50 50 预期输出 和 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数”
2.1黑盒测试的基本概念
黑盒测试着眼于软件的外部特征,通过上述方面的检测,确 定软件所实现的功能是否按照软件规格说明书的预期要求正 常工作. 两个显著的优点: ① 黑盒测试与软件具体实现无关,所以如果软件实现发生 了变化,测试用例仍然可以使用; ② 设计黑盒测试用例可以和软件实现同时进行,因此可以 压缩项目总的开发时间。
2.2 等价类划分
等价类划分法是一种典型的黑盒测试方法,它完全不考虑程 序的内部结构,只根据程序规格说明书对输入范围进行划分 ,把所有可能的输入数据,即程序输入域划分为若干个互不 相交的子集,称为等价类,然后从每个等价类中选取少数具 有代表性的数据作为测试用例,进行测试。
2.2 等价类划分
2.2.1等价类划分方法 所谓等价类是指输入域的某个互不相交的子集合,所有 等价类的并便是整个输入域。 1.划分等价类 (1)有效等价类 检验程序是否实现了规格说明预先规定的功能和性能。 (2)无效等价类 检查软件功能和性能的实现是否有不符合规格说明要求的 地方。
2.1黑盒测试的基本概念
黑盒测试是从一种从软件外部对软件实施的测试,也称 功能测试或基于规格说明的测试。其基本观点是:任何程序 都可以看作是从输入定义域到输出值域的映射,这种观点将 被测程序看作一个打不开的黑盒,黑盒里面的内容(实现)是完 全不知道的,只知道软件要做什么。因无法看到盒子中的内 容,所以不知道软件是如何实现的,也不关心黑盒里面的结 构,只关心软件的输入数据和输出结果。
2.3.2边界值分析法的测试运用
加法器边界测试用例
测试用例 Test1 Test 2 Test 3 Test 4 Test 5 Test 6 Test 7 Test 8 Test 9 Test 10 Test11 Test12 Test13 输入数据 加数1 加数2 1 50 2 50 99 50 100 50 50 1 50 2 50 99 50 100 0 50 50 0 101 50 50 101 0.2 50 预期输出 和 51 52 149 150 51 52 149 150 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数”
2.2.2 等价类划分法的测试运用
2.保险公司人寿保险保费计算程序的等价类测试 【例2.2】 某保险公司人寿保险的保费计算方式为: 保费=投保额×保险费率 其中,保险费率根据年龄、性别、婚姻状况和抚养人数 的不同而有所不同,体现在不同年龄、性别、婚姻状况和抚 养人数,点数设定不同,10点及10点以上保险费率为0.6%, 10点以下保险费率为0.1%;而点数又是由投保人的年龄、性 别、婚姻状况和抚养人数来决定,具体规则见表2.5。
2.2 等价类划分
2.2.2 等价类划分法的测试运用 1.三角形问题的等价类测试 【例2.1】 三角形问题是软件测试文献中使用最广泛的一个 例子。输入三个整数a、b和c分别作为三角形的3条边,通过 程序判断由这3条边构成的三角形类型是:等边三角形、等腰 三角形、一般三角形或非三角形(不能构成一个三角形)。
2.2.2 等价类划分法的测试运用
三角形问题可以更详细地描述为: 输入3个整数a、b和c分别作为三角形的三条边,要求a、b和c 必须满足以下条件:
Con1.1≤a≤10 Con 3.1≤c≤100 Con 5.b<a+c Con 2.1≤b≤100 Con 4.a<b+c Con 6.c<a+b
如果a、b和c满足Con1、Con2和Con3,则输出为4种情况之一: ①.如果不满足条件Con 4、Con 5和Con 6中有一个,则程序输出为“非三 角形”。 ②.如果三条边相等,则程序输出为“等边三角形”。 ③.如果恰好有两条边相等,则程序输出为“等腰三角形”。 ④.如果三条边都不相等,则程序输出为“一般三角形”。
2.3.1 边界值分析法
x2 d
c
a
图2.2 健壮性边界值测试用例
b
x1
健壮性边界值测试将产生6n+1个测试用例. 健壮性测试最有意义的部分不是输人,而是预期的输出,观察 例外情况如何处理。
2.3边界值分析法
2.3.2边界值分析法的测试运用 1. 三角形问题的边界值分析测试用例设计
边界值分析测试用例
2.3.2边界值分析法的测试运用
为此,我们可综合考虑输入数据的取值范围和类型划分等价类, 其结果如下表所示。
加法器等价类
编号 1 2 3 4
输入条件 1~100之间整数 <1整数 >100整数 小数
所属类别 有效等价类 无效等价类 无效等价类 无效等价类
编号 5 6 7 8
输入条件 所属类别 非数值(字母) 无效等价类 非数值(特殊字符) 无效等价类 非数值(空格) 无效等价类 非数值(空白) 无效等价类
2.3.2边界值分析法的测试运用
2.加法器边界值测试用例设计 【例2.4】 加法器程序计算两个1~100之间整数的和。 对于加法器程序,根据输入要求可将输入空间划分为三个等 价类,即1个有效等价类(1~100之间),两个无效等价类( <1,>100)。但这种等价类划分不是很完善,我们只考虑了 输入数据的取值范围,而没有考虑输入数据的类型,我们认 为输入应为整数,但用户输入什么都有可能。
2.2.1等价类划分方法
2.常用的等价类划分原则 (1)按区间划分 (2)按数值划分 (3)按数值集合划分 (4)按限制条件或规则划分 (5)细分等价类
2.2.1等价类划分方法
在确立了等价类之后,可按表2.1的形式列出所有划分出的等 价类表: 表2.1 等价类表
输入条件 有效等价类 无效等价类
2.2.2 等价类划分法的测试运用
等价类测试存在两个问题: 一是规格说明往往没有定义无效测试用例的期望输出应 该是什么样的。因此,测试人员需要花费大量时间来定义这 些测试用例的期望输出。 二是强类型语言没有必要考虑无效输入。传统等价类测 试是诸如FORTRAN和COBOL这样的语言占统治地位年代的产 物,那时这种无效输入的故障很常见。事实上,正是由于经 常出现这种错误,才促使人们使用强类型语言。
年龄
20~39 6点 40~59 4点 其它 2点
性别
M 4点 F 3点
婚姻状况
已婚 3点 未婚 5点
抚养人数
1人扣0.5点, 最多扣3点
2.2.2 等价类划分法的测试运用
分析程序规格说明中给出和隐含的对输入数据的要求,可以 得出: ① 年龄:一位或两位非零整数,取值的有效范围为1~99。 ② 性别:一位英文字符,只能取 ‘M’或’F’ 值。 ③ 婚姻:字符,只能取‘已婚’或‘未婚’。 ④ 抚养人数:空白或字符‘无’或一位非零整数(1~9) ⑤ 点数 :一位或两位非零整数,取值范围为8~19 通过对规格说明输入数据的取值分析,可以得出保险公司人 寿保险保费计算程序的等价类。
2.1黑盒测试的基本概念
穷举输入测试是不现实的。这就需要我们认真研究测试 方法,以便能开发出尽可能少的测试用例,发现尽可能多的 软件故障。 常用的黑盒测试方法有等价类划分、边界值分析、决策表 测试等,每种方法各有所长,我们应针对软件开发项目的具 体特点,选择合适的测试方法,有效地解决软件开发中的测 试问题。