第章黑盒测试-精品
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
即对于规格说明来说,是合理的、有意义的输入数据构成的集合。
(2)无效等价类 检查软件功能和性能的实现是否有不符合规格说明要求的地方。
即对于规格说明来说,是不合理的、没有意义的输入数据构成的集合 。
2.2.1等价类划分方法
2.常用的等价类划分原则 (1)按区间划分 如果输入条件规定了取值范围或值的个数,则可以确定一个 有效等价类和两个无效等价类; 例如,在规格说明中,对输入条件有一句话:“……项数可以 从1到99……”,则有效等价类是__1≤_项__数_≤_9_9_9 _____,两个无效等 价类是 ____项_数_<_1_____和___项__数_>_9_99___.在数轴上表示成:
无冗余性
所谓等价类是指输入域的某个互不相交的子集合,
所有等价类的并便是整个输入域。
划分等价类+测试用例设计
完备性
1.划分等价类 等价类是输入域的某个子集,在该子集中,各个输入数据对于揭露程
序中的错误是等效的。测试某等价类的代表值就等价于对这一类其他的值 进行测试。
(1)有效等价类 检验程序是否实现了规格说明预先规定的功能和性能。
1)有效等价类为: M1={月份:1≤月份≤12} D1={日期:1≤日期≤31} Y1={年:1812≤年≤2019}
2)若条件 ① ~ ③中任何一个条件失效,则 NextDate 函数都会产生一个 输出,指明相应的变量超出取值范围,比如 "month 的值不在 1-12 范围 当中 " 。显然还存在着大量的 year 、 month 、 day 的无效组合, NextDate 函数将这些组合作统一的输出: " 无效输入日期 " 。其无效等 价类为:
(5)细分等价类
等价类中的各个无素在程序中的处理若不相同,则可将此 等价类进一步划分成更小的等价类。
2.2.1等价类划分方法
在确立了等价类之后,可按表2.1的形式列出所有划分出的等 价类表:
表2.1 等价类表
输入条件
有效等价类
无效等价类
同样,也可按照输出条件,将输出域划分为若干个等价类。
2.2.1等价类划分方法
(2)按数值划分
如果规格说明规定了一组输入数据,而且程序要对每个输入 值分别进行处理,则可为每一个输入值确立一个有效等价类 ,针对这组值确立一个无效等价类,即所以不允许输入值的 集合。
(3)按数值集合划分
如果输入条件规定了输入值的集合,或者是规定了“必须 如何”的条件,这时可确定一个有效等价类和一个无效等 价类。
是否等腰三角形 是否等边三角形
有效等价类
(A>0), (B>0), (C>0), (A+B>C), (B+C>A), (A+C>B),
(1) (2) (3) (4) (5) (6)
(A=B), (B=C), (C=A),
(13) (14) (15)
(A=B)and(B=C)and(C=A) (17)
M2={月份:月份<1} M3={月份:月份>12} D2={日期:日期<1} D3={日期:日期>31} Y2={年:年<1812} Y3={年:年>2019}
弱一般等价类测试用例
月份 日期 年
预期输出
6 15 1912
1912年6月16日
强一般等价类测试用例同弱一般等价类测试用例
注:弱--有单缺陷假设;健壮--考虑了无效值2.1黑盒测试的基本概念
黑盒测试着眼于软件的外部特征,通过上述方面的检测,确 定软件所实现的功能是否按照软件规格说明书的预期要求正 常工作. 两个显著的优点: ① 黑盒测试与软件具体实现无关,所以如果软件实现发生
了变化,测试用例仍然可以使用; ② 设计黑盒测试用例可以和软件实现同时进行,因此可以
3.等价类划分测试用例设计 在设计测试用例时应同时考虑有效等价类和无效等价类测试
用例的设计。根据等价类表设计测试用例,具体步骤如下: (1)为每个等价类规定一个唯一的编号。 (2) 设计一个新的测试用例,尽可能多地覆盖尚未被覆盖的 有效等价类,重复这一步,直到测试用例覆盖了所有的有效 等价类。 (3) 设计一个新的测试用例,使其覆盖并且只覆盖一个还没 有被覆盖的无效等价类。重复这一步,直至测试用例覆盖了 所有的无效等价类。
压缩项目总的开发时间。
2.1黑盒测试的基本概念
穷举输入测试是不现实的。这就需要我们认真研究测试 方法,以便能开发出尽可能少的测试用例,发现尽可能多的 软件故障。
常用的黑盒测试方法有等价类划分、边界值分析、决策表 测试等,每种方法各有所长,我们应针对软件开发项目的具 体特点,选择合适的测试方法,有效地解决软件开发中的测 试问题。
预期输出 月份不在1~12中 日期不在1~31中 年份不在1812~2019中 两个无效一个有效 两个无效一个有效 两个无效一个有效 三个无效
2.三角形问题的等价类测试
测试场景: 一个程序读入3个整数,把这三个数值看作一个三角形的3条边的长度值。这 个程序要打印出信息,说明这个三角形是不等边的、是等腰的、还是等边的。
2)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价
类,编号分别为①、⑤、⑧,设计的测试用例如下:
测试数据 期望结果 覆盖的有效等价类
201911 输入有效 ①、⑤、⑧
3)为每一个无效等价类设计一个测试用例,设计结果如下:
测试数据 期望结果 覆盖的无效等价类
95June 无效输入
确定输入数据与三角形形状的关系: •设三角形的3条边分别为A,B,C。如果它们能够构成三角形的3条边,必须 满足: •A>0,B>0,C>0,且A+B>C,B+C>A,A+C>B; •如果是等腰的,还要判断A=B,或B=C,或A=C; •如果是等边的,则需判断是否A=B,且B=C,且A=C。
输入条件 是否三角形的三条边
2.2 等价类划分
等价类划分法是一种典型的黑盒测试方法,它完全不考虑程 序的内部结构,只根据程序规格说明书对输入范围进行划分 ,把所有可能的输入数据,即程序输入域划分为若干个互不 相交的子集,称为等价类,然后从每个等价类中选取少数具 有代表性的数据作为测试用例,进行测试。
2.2 等价类划分
2.2.1等价类划分方法
2.2.2 等价类划分法的测试运用
1. NextDate 函数包含三个变量:month 、 day 和 year ,函 数的输出为输入日期后一天的日期。 例如,输入为 2019年3 月 7日,则函数的输出为 2019年3月8日 。要求输入变量 month 、 day 和 year 均为整数值,并且满足下列条件: ①1≤month≤12 ②1≤day≤31 ③1812≤year≤2019
1)划分等价类并编号,下表等价类划分的结果
输入条件
有效等价类
无效等价类
日期的类型及长度 6位数字字符 (1)
有非数字字符 (2) 少于6位数字字符 (3) 多于6位数字字符 (4)
年份范围 月份范围
1990-2049之间 (5) 01-12之间 (8)
小于1990 大于2049
(6) (7)
等于00 (9) 大于12 (10)
第2章 黑盒测试
黑盒测试是一种常用的软件测试方法,它将被测软件看作一 个打不开的黑盒,主要根据功能需求设计测试用例,进行测 试。本章主要介绍几种常用的黑盒测试方法和黑盒测试工具, 并通过实例介绍各种方法的运用。
第2章 黑盒测试
2.1黑盒测试的基本概念 2.2 等价类划分 2.3边界值分析法 2.4 因果图法 2.5 决策表法 2.6 黑盒测试方法的比较与选择 2.7 黑盒测试工具介绍
输出 一般三角形
不能构成三角形
等腰三角形 非等腰三角形 是等边三角形 非等边三角形
3.设有一个档案管理系统,要求用户输入以年月表示的日期。 假设日期限定在1990年1月~2049年12月,并规定日期由6位 数字字符组成,前4位表示年,后2位表示月。现用等价类划 分法设计测试用例,来测试程序的"日期检查功能"。
2.1黑盒测试的基本概念
黑盒测试是从一种从软件外部对软件实施的测试,也称 功能测试或基于规格说明的测试。
其基本观点是:任何程序都可以看作是从输入定义域到 输出值域的映射,这种观点将被测程序看作一个打不开的黑 盒,黑盒里面的内容(实现)是完全不知道的,只知道软件要做 什么。因无法看到盒子中的内容,所以不知道软件是如何实 现的,也不关心黑盒里面的结构,只关心软件的输入数据和 输出结果。
WR7 6 15 2019 年份不在1812~2019中
(二)强健壮等价类测试 用例ID 月份 日期 年 SR1 -1 15 1912 SR2 6 -1 1912 SR3 6 15 1811 SR4 -1 -1 1912 SR5 6 -1 1811 SR6 -1 15 1811 SR7 -1 -1 1811
例如,在C语言中对变量标识符的规定为“以字母打头的 ……”。那么所有以字母打头的构成一个有效等价类,而不 在此集合内的构成一个无效等价类。
(4)按限制条件或规则划分
如果规定了输入数据和须遵守的规则或限制条件,则可以 确立一个有效等价类(符合规则)和若干个无效等价类( 从不同角度违反规则)。
②
20196 无效输入
③
2019006 无效输入
④
198912 无效输入
⑥
209901 无效输入
⑦
201900 无效输入
⑨
201913 无效输入
⑩
2.2.2 等价类划分法的测试运用
4.保险公司人寿保险保费计算程序的等价类测试
某保险公司人寿保险的保费计算方式为:
保费=投保额×保险费率
其中,保险费率根据年龄、性别、婚姻状况和抚养人数 的不同而有所不同,体现在不同年龄、性别、婚姻状况和抚 养人数,点数设定不同,10点及10点以上保险费率为0.6%, 10点以下保险费率为0.1%;而点数又是由投保人的年龄、性 别、婚姻状况和抚养人数来决定,具体规则见表2.5。
2.1黑盒测试的基本概念
黑盒测试是从用户观点出发的测试,其目的是尽可能发 现软件的外部行为错误。在已知软件产品功能的基础上, 检测软件功能能否按照需求规格说明书的规定正常工作,
是否有功能遗漏; 检测是否有人机交互错误,是否有数据结构和外部数据库
访问错误,是否能恰当地接收数据并保持外部信息(如数 据库或文件)等的完整性; 检测行为、性能等特性是否满足要求等; 检测程序初始化和终止方面的错误等。
【A,B,C】 【3,4,5】 【0,1,2】 【1,0,2】 【1,2,0】 【1,2,3】 【1,3,2】 【3,1,2】 【3,3,4】 【3,4,4】 【3,4,3】 【3,4,5】 【3,3,3】 【3,4,4】 【3,4,3】 【3,3,4】
覆盖等价类 (1),(2),(3),(4),(5),(6) (7) (8) (9) (10) (11) (12) (1),(2),(3),(4),(5),(6),(13) (1),(2),(3),(4),(5),(6),(14) (1),(2),(3),(4),(5),(6),(15) (1),(2),(3),(4),(5),(6),(16) (1),(2),(3),(4),(5),(6),(17) (1),(2),(3),(4),(5),(6),(14),(18) (1),(2),(3),(4),(5),(6),(15),(19) (1),(2),(3),(4),(5),(6),(13),(20)
(一)弱健壮等价类测试
用例ID 月份 日期 年
预期输出
WR1 6 15 1912 1912年6月16日
WR2 -1 15 1912 月份不在1~12中
WR3 13 15 1912 月份不在1~12中
WR4 6 -1 1912 日期不在1~31中
WR5 6 32 1912 日期不在1~31中
WR6 6 15 1811 年份不在1812~2019中
无效等价类
(A≤0), (B≤0), (C≤0), (A+B≤C), (B+C≤A), (A+C≤B),
(7) (8) (9) (10) (11) (12)
(A≠B)and(B≠C)and( C≠A) (16)
(A≠B), (B≠C), (C≠A),
(18) (19) (20)
序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
(2)无效等价类 检查软件功能和性能的实现是否有不符合规格说明要求的地方。
即对于规格说明来说,是不合理的、没有意义的输入数据构成的集合 。
2.2.1等价类划分方法
2.常用的等价类划分原则 (1)按区间划分 如果输入条件规定了取值范围或值的个数,则可以确定一个 有效等价类和两个无效等价类; 例如,在规格说明中,对输入条件有一句话:“……项数可以 从1到99……”,则有效等价类是__1≤_项__数_≤_9_9_9 _____,两个无效等 价类是 ____项_数_<_1_____和___项__数_>_9_99___.在数轴上表示成:
无冗余性
所谓等价类是指输入域的某个互不相交的子集合,
所有等价类的并便是整个输入域。
划分等价类+测试用例设计
完备性
1.划分等价类 等价类是输入域的某个子集,在该子集中,各个输入数据对于揭露程
序中的错误是等效的。测试某等价类的代表值就等价于对这一类其他的值 进行测试。
(1)有效等价类 检验程序是否实现了规格说明预先规定的功能和性能。
1)有效等价类为: M1={月份:1≤月份≤12} D1={日期:1≤日期≤31} Y1={年:1812≤年≤2019}
2)若条件 ① ~ ③中任何一个条件失效,则 NextDate 函数都会产生一个 输出,指明相应的变量超出取值范围,比如 "month 的值不在 1-12 范围 当中 " 。显然还存在着大量的 year 、 month 、 day 的无效组合, NextDate 函数将这些组合作统一的输出: " 无效输入日期 " 。其无效等 价类为:
(5)细分等价类
等价类中的各个无素在程序中的处理若不相同,则可将此 等价类进一步划分成更小的等价类。
2.2.1等价类划分方法
在确立了等价类之后,可按表2.1的形式列出所有划分出的等 价类表:
表2.1 等价类表
输入条件
有效等价类
无效等价类
同样,也可按照输出条件,将输出域划分为若干个等价类。
2.2.1等价类划分方法
(2)按数值划分
如果规格说明规定了一组输入数据,而且程序要对每个输入 值分别进行处理,则可为每一个输入值确立一个有效等价类 ,针对这组值确立一个无效等价类,即所以不允许输入值的 集合。
(3)按数值集合划分
如果输入条件规定了输入值的集合,或者是规定了“必须 如何”的条件,这时可确定一个有效等价类和一个无效等 价类。
是否等腰三角形 是否等边三角形
有效等价类
(A>0), (B>0), (C>0), (A+B>C), (B+C>A), (A+C>B),
(1) (2) (3) (4) (5) (6)
(A=B), (B=C), (C=A),
(13) (14) (15)
(A=B)and(B=C)and(C=A) (17)
M2={月份:月份<1} M3={月份:月份>12} D2={日期:日期<1} D3={日期:日期>31} Y2={年:年<1812} Y3={年:年>2019}
弱一般等价类测试用例
月份 日期 年
预期输出
6 15 1912
1912年6月16日
强一般等价类测试用例同弱一般等价类测试用例
注:弱--有单缺陷假设;健壮--考虑了无效值2.1黑盒测试的基本概念
黑盒测试着眼于软件的外部特征,通过上述方面的检测,确 定软件所实现的功能是否按照软件规格说明书的预期要求正 常工作. 两个显著的优点: ① 黑盒测试与软件具体实现无关,所以如果软件实现发生
了变化,测试用例仍然可以使用; ② 设计黑盒测试用例可以和软件实现同时进行,因此可以
3.等价类划分测试用例设计 在设计测试用例时应同时考虑有效等价类和无效等价类测试
用例的设计。根据等价类表设计测试用例,具体步骤如下: (1)为每个等价类规定一个唯一的编号。 (2) 设计一个新的测试用例,尽可能多地覆盖尚未被覆盖的 有效等价类,重复这一步,直到测试用例覆盖了所有的有效 等价类。 (3) 设计一个新的测试用例,使其覆盖并且只覆盖一个还没 有被覆盖的无效等价类。重复这一步,直至测试用例覆盖了 所有的无效等价类。
压缩项目总的开发时间。
2.1黑盒测试的基本概念
穷举输入测试是不现实的。这就需要我们认真研究测试 方法,以便能开发出尽可能少的测试用例,发现尽可能多的 软件故障。
常用的黑盒测试方法有等价类划分、边界值分析、决策表 测试等,每种方法各有所长,我们应针对软件开发项目的具 体特点,选择合适的测试方法,有效地解决软件开发中的测 试问题。
预期输出 月份不在1~12中 日期不在1~31中 年份不在1812~2019中 两个无效一个有效 两个无效一个有效 两个无效一个有效 三个无效
2.三角形问题的等价类测试
测试场景: 一个程序读入3个整数,把这三个数值看作一个三角形的3条边的长度值。这 个程序要打印出信息,说明这个三角形是不等边的、是等腰的、还是等边的。
2)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价
类,编号分别为①、⑤、⑧,设计的测试用例如下:
测试数据 期望结果 覆盖的有效等价类
201911 输入有效 ①、⑤、⑧
3)为每一个无效等价类设计一个测试用例,设计结果如下:
测试数据 期望结果 覆盖的无效等价类
95June 无效输入
确定输入数据与三角形形状的关系: •设三角形的3条边分别为A,B,C。如果它们能够构成三角形的3条边,必须 满足: •A>0,B>0,C>0,且A+B>C,B+C>A,A+C>B; •如果是等腰的,还要判断A=B,或B=C,或A=C; •如果是等边的,则需判断是否A=B,且B=C,且A=C。
输入条件 是否三角形的三条边
2.2 等价类划分
等价类划分法是一种典型的黑盒测试方法,它完全不考虑程 序的内部结构,只根据程序规格说明书对输入范围进行划分 ,把所有可能的输入数据,即程序输入域划分为若干个互不 相交的子集,称为等价类,然后从每个等价类中选取少数具 有代表性的数据作为测试用例,进行测试。
2.2 等价类划分
2.2.1等价类划分方法
2.2.2 等价类划分法的测试运用
1. NextDate 函数包含三个变量:month 、 day 和 year ,函 数的输出为输入日期后一天的日期。 例如,输入为 2019年3 月 7日,则函数的输出为 2019年3月8日 。要求输入变量 month 、 day 和 year 均为整数值,并且满足下列条件: ①1≤month≤12 ②1≤day≤31 ③1812≤year≤2019
1)划分等价类并编号,下表等价类划分的结果
输入条件
有效等价类
无效等价类
日期的类型及长度 6位数字字符 (1)
有非数字字符 (2) 少于6位数字字符 (3) 多于6位数字字符 (4)
年份范围 月份范围
1990-2049之间 (5) 01-12之间 (8)
小于1990 大于2049
(6) (7)
等于00 (9) 大于12 (10)
第2章 黑盒测试
黑盒测试是一种常用的软件测试方法,它将被测软件看作一 个打不开的黑盒,主要根据功能需求设计测试用例,进行测 试。本章主要介绍几种常用的黑盒测试方法和黑盒测试工具, 并通过实例介绍各种方法的运用。
第2章 黑盒测试
2.1黑盒测试的基本概念 2.2 等价类划分 2.3边界值分析法 2.4 因果图法 2.5 决策表法 2.6 黑盒测试方法的比较与选择 2.7 黑盒测试工具介绍
输出 一般三角形
不能构成三角形
等腰三角形 非等腰三角形 是等边三角形 非等边三角形
3.设有一个档案管理系统,要求用户输入以年月表示的日期。 假设日期限定在1990年1月~2049年12月,并规定日期由6位 数字字符组成,前4位表示年,后2位表示月。现用等价类划 分法设计测试用例,来测试程序的"日期检查功能"。
2.1黑盒测试的基本概念
黑盒测试是从一种从软件外部对软件实施的测试,也称 功能测试或基于规格说明的测试。
其基本观点是:任何程序都可以看作是从输入定义域到 输出值域的映射,这种观点将被测程序看作一个打不开的黑 盒,黑盒里面的内容(实现)是完全不知道的,只知道软件要做 什么。因无法看到盒子中的内容,所以不知道软件是如何实 现的,也不关心黑盒里面的结构,只关心软件的输入数据和 输出结果。
WR7 6 15 2019 年份不在1812~2019中
(二)强健壮等价类测试 用例ID 月份 日期 年 SR1 -1 15 1912 SR2 6 -1 1912 SR3 6 15 1811 SR4 -1 -1 1912 SR5 6 -1 1811 SR6 -1 15 1811 SR7 -1 -1 1811
例如,在C语言中对变量标识符的规定为“以字母打头的 ……”。那么所有以字母打头的构成一个有效等价类,而不 在此集合内的构成一个无效等价类。
(4)按限制条件或规则划分
如果规定了输入数据和须遵守的规则或限制条件,则可以 确立一个有效等价类(符合规则)和若干个无效等价类( 从不同角度违反规则)。
②
20196 无效输入
③
2019006 无效输入
④
198912 无效输入
⑥
209901 无效输入
⑦
201900 无效输入
⑨
201913 无效输入
⑩
2.2.2 等价类划分法的测试运用
4.保险公司人寿保险保费计算程序的等价类测试
某保险公司人寿保险的保费计算方式为:
保费=投保额×保险费率
其中,保险费率根据年龄、性别、婚姻状况和抚养人数 的不同而有所不同,体现在不同年龄、性别、婚姻状况和抚 养人数,点数设定不同,10点及10点以上保险费率为0.6%, 10点以下保险费率为0.1%;而点数又是由投保人的年龄、性 别、婚姻状况和抚养人数来决定,具体规则见表2.5。
2.1黑盒测试的基本概念
黑盒测试是从用户观点出发的测试,其目的是尽可能发 现软件的外部行为错误。在已知软件产品功能的基础上, 检测软件功能能否按照需求规格说明书的规定正常工作,
是否有功能遗漏; 检测是否有人机交互错误,是否有数据结构和外部数据库
访问错误,是否能恰当地接收数据并保持外部信息(如数 据库或文件)等的完整性; 检测行为、性能等特性是否满足要求等; 检测程序初始化和终止方面的错误等。
【A,B,C】 【3,4,5】 【0,1,2】 【1,0,2】 【1,2,0】 【1,2,3】 【1,3,2】 【3,1,2】 【3,3,4】 【3,4,4】 【3,4,3】 【3,4,5】 【3,3,3】 【3,4,4】 【3,4,3】 【3,3,4】
覆盖等价类 (1),(2),(3),(4),(5),(6) (7) (8) (9) (10) (11) (12) (1),(2),(3),(4),(5),(6),(13) (1),(2),(3),(4),(5),(6),(14) (1),(2),(3),(4),(5),(6),(15) (1),(2),(3),(4),(5),(6),(16) (1),(2),(3),(4),(5),(6),(17) (1),(2),(3),(4),(5),(6),(14),(18) (1),(2),(3),(4),(5),(6),(15),(19) (1),(2),(3),(4),(5),(6),(13),(20)
(一)弱健壮等价类测试
用例ID 月份 日期 年
预期输出
WR1 6 15 1912 1912年6月16日
WR2 -1 15 1912 月份不在1~12中
WR3 13 15 1912 月份不在1~12中
WR4 6 -1 1912 日期不在1~31中
WR5 6 32 1912 日期不在1~31中
WR6 6 15 1811 年份不在1812~2019中
无效等价类
(A≤0), (B≤0), (C≤0), (A+B≤C), (B+C≤A), (A+C≤B),
(7) (8) (9) (10) (11) (12)
(A≠B)and(B≠C)and( C≠A) (16)
(A≠B), (B≠C), (C≠A),
(18) (19) (20)
序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15