第二章黑盒测试用例设计方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


软件测试》
3-30
决策表的化简

(1)合并

如果一个条件项(表中某列中的条件值)和另外一个条件 项所产生的动作是相同的,且两个条件项对应的每一行
的值只有一个是不同的,则可以将其合并.合并的项除了
不同值变成”不关心”条目外,其余不变
软件测试》
3-31
决策表的化简

(2)包含 如果两个条件项的动作是相同的,对任意条件1的值和条件 2中对应的值,如果满足:
编号
(7) (8) (9) (10) (11) (12) (16)
是否三角形的3条 边
c>0 a+b>c b+c>a a+c>b
等腰三角形?
a=b b=c
(13) a≠b && (14) b ≠c &&
c=a
(15) c ≠a
(17) a≠b b≠c (18) (19)
3-16
等边三角形?
软件测试》
预期输出 注册成功 注册成功 提示用户名错误 提示用户名错误 提示用户名错误 提示用户名错误 提示密码错误 提示密码错误 提示密码错误 提示密码错误
3-15
TC10
输入条件
有效等价类 编号 无效等价类
a>0 b>0 (1) (2) (3) (4) (5) (6) a≤0 b ≤0 c ≤0 a+b ≤c b+c ≤a a+c ≤b
界值
软件测试》
3-24
决策表法

在一个程序中,如果输入输出比较多,输入之间、输出之 间相互制约的条件比较多,在这种情况下使用决策表更合 适,它可以清楚地表达它们之间的各种复杂关系。
决策表法是黑盒测试方法中最为严格、最具有逻
辑性的测试方法
软件测试》
3-25
决策表法
决策表:
软件测试》
3-26
1)
以用户(调用者)立场进行的测试
2)
3) 4) 5)
不受开发团队思维定势影响
对测试人员的计算机专业水平要求相对较低 相对白盒测试,结果直观,便于衡量 方便将测试外包给第三方,而不必将源代码也共 享给对方
软件测试》
3-5
黑盒测试的劣势
1)
测试用例可能是无穷多的
2)
测试用例在理论上虽然不是无穷多,但是数量过
密码 abc_123 123-abc 12345678 12345678 12345678 12345678 12345 abcdefghijk123456 abc&123 abc_123
确认密码 abc_123 123-abc 12345678 12345678 12345678 12345678 12345 abcdefghijk123456 abc&123 Abc_123
C1:abc能否构成三角形? C2:a=b? C3:a=c? C4:b=c? A1:非三角形
A2:一般三角形
A3:等腰三角形 A4:等边三角形 A5:不可能
软件测wenku.baidu.com》

√ √ √ √ √


测试用例的重要性
软件测试》
3-3
黑盒测试

把系统看成一个不透明的黑匣,在完全不考虑系统内部结构和处 理过程的情况下验证系统是否达到用户需求。

不考虑系统或者组件的内部细节,只关注在选择的输入和相应的执行 条件下所产生的输出结果

功能测试、数据驱动测试
基于规格说明的测试等
软件测试》
3-4
黑盒测试的优势
4.

表示法

使用下面的表格有利于确定测试用例
软件测试》
3-12
等价类划分法测试案例

在某网站申请免费信箱时,要求用户必须输入用户名、密 码及确认密码,对每一项输入条件的要求如下: 用户名要求为4位以上,16位以下,使用英文字母、数字、

“-”、“_”,并且首字符必须为字母或数字;密码要求为
6~16位之间,只能使用英文字母、数字以及“-”、“_”, 并且区分大小写。
a=b &&b=c&&c
=a
c≠a
(20)
编号
[a,b,c]
覆盖等价类
期望输出
1
2 3
3,4,5
0,1,2 1,0,2
(1)-(6)
(7) (8)
一般三角形
不构成三角形 不构成三角形
4
5 6
1,2,0
1,2,3 1,3,2
(9)
(10) (11)
不构成三角形
不构成三角形 不构成三角形
7
8 9
3,1,2
2 3 4 5 6 7
x Min Min+1 Max-1 Max Max+1 nom Nom Nom Nom Nom Nom nom 3-19
Y Nom Nom Nom Nom Nom nom Min-1 Min Min+1 Max-1 Max Max+1
19
1 Min-1 nom Min-1, min, min+1, nom, max-1,max, max+1

等价类是指某个输入域的子集合。在该子集合中,各个输入
数据对于揭露程序中的错误都是等效的。测试某等价类的代
表值就等价于对这一类其它值的测试。
软件测试》 3-7
等价类的类型

有效等价类

对规格说明(Spec)而言,有意义、合理的输入、输出数据组成的所
有集合 根据规格说明(Spec)检查是否所有有效等价类都被实现
3)
对每个等价类都要进行编号
软件测试》
3-9
课堂练习

讨论:针对Windows自带的计算器的加法功能进
行测试,仅限两个数相加

请特别注意按输出域划分等价类
软件测试》
3-10
解析

当输出结果如果大于整数(Windows计算器采用的是
int64)的上限( Hex 7FFFFFFFFFFFFFFF),会产生
第二章 黑盒测试用例设计方法
软件测试》
3-1
本章内容

讨论常用的黑盒测试用例设计方法,包括

等价类划分 边界值测试 决策表 场景法 正交实验法 综合运用黑盒用例设计方法
软件测试》
3-2
测试用例概念

使用测试用例的原因 测试用例的要素

测试用例是针对被测试项的测试输入、执行条件和预期结果的集
3-14
8 9
10
11 12 13 14

软件测试》
内容同密码相同
7
15
测试用例 TC1 TC2 TC3 TC4 TC5 TC6 TC7 TC8 TC9
软件测试》
用户名 abc_2000 2000-abc abc abcdefghijk123456 _abc123 abc&123 abc_123 abc_123 abc_123 abc_123
预期输出 x值超出范围 200 300 1000 1900 2000 x值超出范围 y值超出范围 200 300 1900 2000 y值超出范围 z值超出范围 200 300 1900
3-23
TC18 TC19
2000
z值超出范围
课堂练习二

NextDate函数实现了一个简单的功能,输入一个
年月日,输出第二天的年月日请讨论等价类和边


无效等价类

对规格说明(Spec)而言,无意义、不合理的输入、输出数据组成的 所有集合 根据规格说明(Spec)检查是否所有无效等价类都被很好处理,没有 不合理的行为

如何划分等价类
1)
根据规格说明(Spec)的定义,对输入和输出条
件进行分析,划分等价类
2)
根据计算机基础知识,对输入和输出条件进行分 析,划分等价类

决策表法

规则指示在规则的条件部分中指示的条件环境下要采 取什么行动.

在上图的决策表中,如果条件1条件2为真,而条件3条件
4为假,那么采取行动3.

规则1中的条件1.2.3称为“不关心”条目. 不关心条目解释有两种:条件无关或条件不适用.
软件测试》
3-29
决策表的化简

有n个条件的决策表,对应的规则将有2n条,当n非常大 的时候,这是非常繁琐的。因此,应对决策表进行化简. 决策表的化简包括两个方面:
软件测试》
3-21
边界值测试案例
某程序要求输入三个整数x、y、z,分别作为长
方体的长、宽、高,x、y、z的取值范围在2~20 之间,计算长方体的体积。表3-10给出了健壮性 边界值分析测试用例。
软件测试》
3-22
测试用例 TC1 TC2 TC3 TC4 TC5 TC6 TC7 TC8 TC9 TC10 TC11 TC12 TC13 TC14 TC15 TC16 TC17
3,3,4 3,4,4
(12)
(1)-(6),(13) (1)-(6),(14)
不构成三角形
等腰三角形 等腰三角形
10
11 12 13 14
软件测试》
3,4,3
3,4,5 3,3,3 3,4,4 3,4,3
(1)-(6),(15)
(1)-(6),(16) (1)-(6),(17) (1)-(6),(14),(18) (1)-(6),(14),(19)
等腰三角形
非等腰三角形 等边三角形 非等边三角形
3-17
非等边三角形
边界值分析
1)
边界值分析 = Boundary Analysis
2)
对等价类之间的边界值及其附近的值进行的测试
的方法
3) 4)
同时对输入和输出条件边界进行测试 是对等价类划分方法的补充
基本边界值分析
简单的边界分析产生

6n+1 测试用例 test
整数溢出,首位从0变成1标识这个整数为负数

小结:
• •
除规格说明(Spec)定义对输入条件还要根据实际情况划分等价类 作为一名优秀的测试工程师,既要理解用户需求,又要有扎实的计算
机技术基本知识
软件测试》
3-11
确定测试用例

步骤
1.
2. 3.
划分等价类
为每一个有效等价类和无效等价类规定一个唯一的编号 设计一个测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类, 重复这 一步直到所有有效等价类均被测试用例所覆盖 设计一个测试用例,使其只覆盖一个无效等价类,重复这一步,直到所有 无效等价类均被覆盖
(4)填入动作项,得到初始的决策表
(5)对初始的决策表化简
软件测试》 3-34
决策表法

三角形问题的决策表用例设计
表1 1-8 N √ 9 Y Y Y Y 10 Y Y Y N 11 Y Y N Y
该条件可以扩展成: a+b>c b+c>a c+a>b
12 Y Y N N 13 Y N Y Y 14 Y N Y N 15 Y N N Y 16 Y N N N


A.如果条件1的值是T(F),则条件2中的值也是T(F).
B.如果条件1的值是-(不关心),则条件2中的值是T,F,-, 称条件1包含条件2,条件2可以撤去.

重复A,B就可以得到精简的决策表.
软件测试》
3-32
决策表的化简
软件测试》
3-33
决策表法
构造决策表的步骤:
(1)确定规则的个数 (2)列出所有的条件桩和动作桩 (3)填入输入项
max
Y
8 9 10
min
软件测试》
11 12 min X max 13
边界值分析测试的意义

经验证明大量的程序错误是发生在输入或输出范
围的边界上,而不是发生在输入输出范围的内部。
因此针对各种边界情况设计测试用例,可以查出 更多的错误。
软件测试》
3-20
课堂练习一

以所在的教室为例,分析教室的边界值有哪些?
软件测试》
x 1 2 3 10 19 20 21 10 10 10 10 10 10 10 10 10 10 10 10
y 10 10 10 10 10 10 10 1 2 3 19 20 21 10 10 10 10 10 10
z 10 10 10 10 10 10 10 10 10 10 10 10 10 1 2 3 19 20 21
大,无法在合理时间内执行所有测试用例
3)
4)
复现缺陷难
查找原因难
5)
6)
成本、代价高
效费比低
软件测试》 3-6
等价类划分

等价类划分 = Equivalent Class

定义:把程序的输入域和输出域划分成若干部分(子集),
然后从每个部分中选取少数代表性数据作为测试用例

每一类的代表性数据在测试中的作用等价于这一类中的其他 值


分析如下:
分析程序的规格说明,列出等价类表(包括有效等价类和 无效等价类),如表3-5所示。
软件测试》
3-13
输入条 件
有效等价类
编号
无效等价类
编号
少于4位 4~16位 1 多于16位 用户名 首字符为字母 首字符为数字 英文字母、数字、“-”、“_”组合 2 首字符为除字母、数字之外的其他字符 3 4 组合中含有除英文字母、数字、“-”、“_” 之外的其他特殊字符 少于6位 6~16位 密码 英文字母、数字、“-”、“_”组合 确认密 6 5 多于16位 组合中含有除英文字母、数字、“-”、“_” 之外的其他特殊字符 内容同密码相同,但字母大小写不同
决策表法

决策表通常由四部分组成:
条件桩
条件项 动作项
规则
动作桩
软件测试》
3-27

条件桩: 列出问题的所有条件 条件项:针对条件桩给出的条件列出所有可能的取值 动作桩:给出问题规定的可能采取的操作

动作项:与条件项紧密相关,指出在条件项的各组取值情
况下应采取的动作 项中的每一列是一条 规则
相关文档
最新文档