§7.4 黑盒测试的测试用例设计

51
§7.4 黑黑黑黑黑黑黑黑黑黑黑 7.4.1 等等等等等等 等等等等等等等等等等 ( 等等等等等等等 ) 等 等等等等等等等等等等 ( 等等等等等 ) 等等等 等等等等等等 等等等等等等等等等等等等等等 等等等等 等等等等等等等等等 . 等等等等等等等等等 等等等 等等等等等

Upload: christen-conley

Post on 15-Mar-2016

128 views

Category:

Documents


3 download

DESCRIPTION

§7.4 黑盒测试的测试用例设计. 7.4.1 等价类划分法 把所有可能的输入数据 ( 有效的和无效的 ) 划分成若干个等价的子集 ( 称为等价类 ) , 使得每个子集中的一个典型值在测试中的作用与这一子集中所有其它值的作用相同 . 可从每个子集中选取一组数据来测试程序. 7.4.1 等价类划分法. 例 1: 某城市电话号码由三部分组成 地区码:空白或 3 位数字 前 缀:非 ‘ 0 ’ 或 ‘ 1 ’ 开 头的三位数字 后 缀: 4 位数字 例 2: 标识符由字母开头 , 后跟字母或数字的任意组合构成, - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: §7.4 黑盒测试的测试用例设计

§7.4 黑盒测试的测试用例设计7.4.1 等价类划分法 把所有可能的输入数据 ( 有效的和无效的 ) 划分成若干个等价的子集

( 称为等价类 ) , 使得每个子集中的一个典型值在测试中的作用与这一子集中所有其它值的作用相同 . 可从每个子集中选取一组数据来测试程序

Page 2: §7.4 黑盒测试的测试用例设计

例 1: 某城市电话号码由三部分组成 地区码:空白或 3 位数字 前 缀:非‘ 0’ 或‘ 1’ 开 头的三位数字 后 缀: 4 位数字例 2: 标识符由字母开头 , 后跟字母或数字的任意组合构成, 有效字符数为 8 个 最大字符数为 80 个

•7.4.1 等价类划分法

Page 3: §7.4 黑盒测试的测试用例设计

如何划分等价类?有效等价类 ( 合理等价类)

无效等价类 ( 不合理等价类 )

Page 4: §7.4 黑盒测试的测试用例设计

(1) 如果输入条件代表一个范围, 可定义一个有效等价类和两 个无效等价类。例 输入条件规定:项数可从 1 到 999 1 999 有效等价类 无效等价类 > 999 无效等价类 < 1

划分等价类的规则 ( 讲义 P144)

Page 5: §7.4 黑盒测试的测试用例设计

(2) 如果输入条件代表集合的某个元素,则可定义一个有效等价类和一个无效等价类。

划分等价类的规则:

Page 6: §7.4 黑盒测试的测试用例设计

(3) 如规定了输入数据的一组值,且程序对不同输入值做不同处理,则每个允许的输入值 是一个有效等价类,并有一 个无效等价类 ( 所有不允许的 输入值的集合 ) 。

划分等价类的规则:

Page 7: §7.4 黑盒测试的测试用例设计

(4) 如果规定了输入条件必须遵守的规则,则可划分一个有效等价类 ( 符合规则 ) 和若干个无效等价类 ( 从不同角度违反规则 )。

划分等价类的规则:

Page 8: §7.4 黑盒测试的测试用例设计

(5) 如规定了输入数据是整型,则可划分出正整数、零、负整数三个有效等价类。

划分等价类的规则:

Page 9: §7.4 黑盒测试的测试用例设计

(6) 如已划分的等价类各元素在 程序中的处理方式不同,则应 将此等价类进一步划分成更小的等价类。

划分等价类的规则:

Page 10: §7.4 黑盒测试的测试用例设计

(1) 形成等价类表,每一等价类规定 一个唯一的编号;(2) 设计一测试用例,使其尽可能多 地覆盖尚未覆盖的有效等价类, 重复这一步骤,直到所有有效等 价类均被测试用例所覆盖;(3) 设计一新测试用例,使其只覆盖 一个无效等价类,重复这一步骤 直到所有无效等价类均被覆盖;

用等价类划分法设计测试用例步骤:

Page 11: §7.4 黑盒测试的测试用例设计

例 : 某城市电话号码由三部分组成 地区码:空白或 3 位数字 前 缀:非‘ 0’ 或‘ 1’ 开 头的三位数字 后 缀: 4 位数字

用等价类划分法设计测试用例

Page 12: §7.4 黑盒测试的测试用例设计

输入条件 有效等价类 无效等价类 地区码 空白 (1)3 位数字 (2) 有非数字字符 (5)少于 3 位数字 (6)多于 3 位数字 (7)

前 缀 从 200 到 999之间的 3 位数字 (3)有非数字字符 (8)起始位为‘ 0’(9)起始位为‘ 1’(10)少于 3 位数字 (11)多于 3 位数字 (12)

后 缀 有非数字字符 (13)少于 4 位数字 (14)多于 4 位数字 (15)4 位数字 (4)

第一步:电话号码等价类划分

Page 13: §7.4 黑盒测试的测试用例设计

测试数据 测试范围 期望结果( )276-2345(635)805-9321

等价类 (1)(3)(4)等价类 (2)(3)(4)

有效有效

第二步:确定测试用例对表中 4 个有效等价类可公用 下面两个测试用例:

Page 14: §7.4 黑盒测试的测试用例设计

对表中 11 个无效等价类应选择 11个测试用例: 测试数据 测试范围 期望结果

(20A)123-4567(33 )234-5678(7777)345-6789 . . .

无效等价类 (5)无效等价类 (6)无效等价类 (7) . . . (15)

无效无效无效 . . .本例的 15 个等价类至少需要 13 个测试用例

第二步:确定测试用例

Page 15: §7.4 黑盒测试的测试用例设计

招干考试分三个专业 , 准考证号第一位为专业代号 , 如 : 1- 行政专业 , 2- 法律专业 , 3- 财经专业 . 行政专业准考证号码为 :110001 ~ 111215法律专业准考证号码为 :210001 ~ 212006财经专业准考证号码为 :310001 ~ 314015

例 : 对招干考试系统“输入学生成绩”子模块设计测试用例

Page 16: §7.4 黑盒测试的测试用例设计

(1) 110001 ~ 111215 (2) 210001 ~ 212006 (3) 310001 ~ 314015 无效等价类 : (4) - ~ 110000 (5) 111216 ~ 210000 (6) 212007 ~ 31000 (7) 314016 ~ +

例 : 准考证号码的有效等价类 :

Page 17: §7.4 黑盒测试的测试用例设计

软件错误分为两类:计算错误 域错误针对计算错误的测试方法针对域错误的测试方法 : 测试域边界 划定的正确性

等价类划分即把输入空间分解成一系列子域,软件在一个子域内的行为应是等价的。

Page 18: §7.4 黑盒测试的测试用例设计

被测试子 域测试内点

测试外点

7.4.2 边界值分析法 ( 讲义 P146)边界值分析法与等价类划分法区别

(1) 边界值分析不是从某等价类中随便 挑一个作为代表,而是使这个等价 类的每个边界都要作为测试条件。(2) 边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况

Page 19: §7.4 黑盒测试的测试用例设计

边界值分析设计测试用例原则(1) 如输入条件代表以 a 和 b 为边界 的范围,测试用例应包含 a 、 b 、 、略大于 a 和略小于 b 的值。(2) 如输入条件代表一组值,测试 用例应当执行其中的最大值和 最小值,还应测试略大于最大 值和略小于最小值的值。

Page 20: §7.4 黑盒测试的测试用例设计

边界值分析设计测试用例原则例 :邮件收费规定 1 ~ 5 kg收费 2元 则应对 : 0.9 , 1 , 5 , 5.1 kg 或 0.99 , 1 , 5 , 5.01 kg 设计测试用例。

Page 21: §7.4 黑盒测试的测试用例设计

边界值分析设计测试用例原则例 : 一个输入文件可有 1 ~ 25

5 个记录则可分别设计有 : 1 个、 255 个、 0 个、 25

6 个记录的输入文件

Page 22: §7.4 黑盒测试的测试用例设计

边界值分析设计测试用例原则(3) 如规格说明中提出输入输出的有序集(顺序文件、有序表等 ), 取有序集的第一个和最后一个元素做测试用例。(4) 如程序数据结构有预定的边界,应测试其边界的数据项。例 : 程序中定义一数组,其元素下标的下界是

0 ,上界是 100 ,则应选择达到这个数组下标边界的值,如 0 与 100 作为测试用例。

Page 23: §7.4 黑盒测试的测试用例设计

(2) 如输出条件规定了取值范围取边界上下浮动值做测试用例。例: 每日保险扣除额 ( 输出项 ) 在 0 ~ 1165.25 元,则应设计测试用例使其恰好产生 0 元和 1165

.25 元的结果 , 此外还应考虑设计结果为负值或 >1165.25 元的测试用例。 ( 如 : -0.01 元和 1165.26 元 ) 由于输入值的边界不与输出值的边界相对应,所以要检查输出值的边界及产生超出输出值值域的结果不一定可能。

Page 24: §7.4 黑盒测试的测试用例设计

7.4.3 错误推测法(讲义 P147 ) ( 错误推测法 error guessing)根据经验来设计测试用例的方法例举出程序中可能有的错误和容易发生错误的特殊情况,根据它门选择测试方案

Page 25: §7.4 黑盒测试的测试用例设计

7.4.4 因果图法因果图适合于描述对于多种输入条件的组合,相应产生多个动作的形式来设计测试用例。因果图方法最终生成的是判定表。

Page 26: §7.4 黑盒测试的测试用例设计

某电力公司有 A、 B、 C、 D四类收费标准 ,并规定:居民用电 <100 度 / 月 按A类收费 ≥100 度 / 月按 B类收费动力用电 <10000 度 / 月 , 非高峰 ,B类收费 ≥10000 度 / 月 , 非高峰 ,C类收费 <10000 度 / 月 , 高峰 ,C类收费 ≥10000 度 / 月 , 高峰 ,D类收费

因果图方法实例

Page 27: §7.4 黑盒测试的测试用例设计

1 I12 B∨∧

4

A

C35

D

I4I3I2 ∨∧

∧∧

用因果图表明输入和输出间的逻辑关系

Page 28: §7.4 黑盒测试的测试用例设计

组合条件条件(原因 )

动作( 结果 )ABC

1231 2 3 4 5 6101

10001 10 0 01 1

0 0 0 01 0 0 00 1 1 0

4 1 0 1 05 0 0 1 1

D 0 0 0 11 00 10 00 0测试用例

把因果图转换为判定表

Page 29: §7.4 黑盒测试的测试用例设计

1 列 居民电 ,90 度 / 月 A2 列 居民电 ,110 度 / 月 B3 列 动力电 , 非高峰 ,8000 度 / 月 B4 列 动力电 , 非高峰 ,1.2万度 / 月 C5 列 动力电 , 高峰 ,0.9万度 / 月 C6 列 动力电 , 高峰 ,1.1万度 / 月 D

条件 测试用例 预期结果组合 ( 输入数据 ) ( 输出动作 )为判定表每一列设计一个测试用例 :

Page 30: §7.4 黑盒测试的测试用例设计

用因果图法生成测试用例的步骤(1) 分析哪些是原因,哪些是结果,给 每个原因、结果一个标识。(2) 分析语义,找出原因与结果、原因 与原因之间的关系,画出因果图。(3) 在因果图上标明约束或限制条件。(4) 把因果图转化为判定表 。(5) 根据判定表每一列设计测试用例。

Page 31: §7.4 黑盒测试的测试用例设计

c e原因 结果 恒等 c出现,则 e出现 c e 非 c出现,则 e不出现 c1c2 e∨c1c2

e∧或 c1 、c2 中有一个出 现,则 e 出现与 c1 、c2 中都出 现,e 才出现

因果图的基本符号

Page 32: §7.4 黑盒测试的测试用例设计

从输入条件考虑 , 有四种约束abE 异约束 原因a,b 不能(互斥 ) 同时成立abI 或约束 原因a,b,c 至少(包含 ) 有一个成立c

bO 唯一约束 原因 a,b 必有 , 且仅有一个成立a

因果图的约束符号

Page 33: §7.4 黑盒测试的测试用例设计

ab

要求约束 当 a 出现, b 必须也出现

b

a 强制约束 a 成立, (屏蔽 ) b 必不成立 ( a 是 1 ,b 必须是 0, 而当 a 为 0时,b 值不定)

R

M

从输出 ( 结果 ) 考虑 ,还有一种约束:

因果图的约束符号

Page 34: §7.4 黑盒测试的测试用例设计

某软件规格说明中规定:输入两个字符 ,当第一个字符是 A或 B,且第二个字符是数字时修改文件。若第一个字符不是 A,也不是 B 时 , 输出错误信息S, 若第二个字符不是数字时,输出错误信息 P。

因果图方法实例 1 :

Page 35: §7.4 黑盒测试的测试用例设计

原因是:1-第 1 个字符是 A2-第 1 个字符是 B3-第 2 个字符是数字。结果是:11-修改文件。12-输出错误信息S。13-输出错误信息 P.

约束E12(1 , 2 不能同时成立 )

分析规格说明并编号:

Page 36: §7.4 黑盒测试的测试用例设计

1 62 11∨

3E

12

13

因果图的实例

Page 37: §7.4 黑盒测试的测试用例设计

组合条件条件原因动作结果

111213

1231 2 3 4 5 6 7 8111

11010 01 0 0 0 01 1 0 01 0 1 0 1 01 0 1 0 0 00 0 0 0 1 10 1 0 1 0 1

测试用例 A3 A* B8 BB X6 CC

因果图转换的判定表

Page 38: §7.4 黑盒测试的测试用例设计

判定表所有条件组合数 :23 =8第 1 、 2 列条件组合不可能出现 ,针对第 3 ~ 8 列设计测试用例如下 :条件组合 测试用例 预期结果 ( 输入数据 ) ( 输出动作 )3 列 A3 修改文件 4 列 A*5 列 B86 列 BB 信息 P7 列 X6 信息S8 列 CC 信息S,P

因果图转换的判定表分析

Page 39: §7.4 黑盒测试的测试用例设计

某电力公司有 A、 B、 C、 D四类收费标准 ,并规定:居民用电 <100 度 / 月 按A类收费 ≥100 度 / 月按 B类收费动力用电 <10000 度 / 月 , 非高峰 ,B类收费 ≥10000 度 / 月 , 非高峰 ,C类收费 <10000 度 / 月 , 高峰 ,C类收费 ≥10000 度 / 月 , 高峰 ,D类收费

因果图方法实例 2 :

Page 40: §7.4 黑盒测试的测试用例设计

输入条件 (原因 ) 输出动作 ( 结果)1-居民用电 A- A类计费2-动力用电 B- B类计费3- <100 度 / 月 C- C类计费4- <10000 度 / 月 D- D类计费5-高峰用电

列出输入条件和输出动作并编号:

Page 41: §7.4 黑盒测试的测试用例设计

1 I12 B∨∧

4

A

C35

D

I4I3I2 ∨∧

∧∧

用因果图表明输入和输出间的逻辑关系

Page 42: §7.4 黑盒测试的测试用例设计

组合条件条件原因

动作结果ABC

1231 2 3 4 5 6101

10001 10 0 01 1

0 0 0 01 0 0 00 1 1 0

4 1 0 1 05 0 0 1 1

D 0 0 0 11 00 10 00 0测试用例

把因果图转换为判定表

Page 43: §7.4 黑盒测试的测试用例设计

1 列 居民电 ,90 度 / 月 A2 列 居民电 ,110 度 / 月 B3 列 动力电 , 非高峰 ,8000 度 / 月 B4 列 动力电 , 非高峰 ,1.2万度 / 月 C5 列 动力电 , 高峰 ,0.9万度 / 月 C6 列 动力电 , 高峰 ,1.1万度 / 月 D

条件 测试用例 预期结果组合 ( 输入数据 ) ( 输出动作 )为判定表每一列设计一个测试用例 :

Page 44: §7.4 黑盒测试的测试用例设计

§7.5 针对专门环境和应用的测试7.5.1 GUI 测试常见 GUI 测试指南:对于窗口对于菜单和鼠标操作对于数据项

Page 45: §7.4 黑盒测试的测试用例设计

7.5.2 C/S体系结构的测试 整体 C/S 测试策略 ( 三个不同层次 )客户端应以“分离的”模式被测试 ( 不考虑服务器和底层网络的运行 )客户端软件和关联的服务器端应用被一起测试 (网络运行不被明显考虑 )完整的 C/S体系结构(包括网络运行和性能)被测试

Page 46: §7.4 黑盒测试的测试用例设计

C/S常用测试方法 客户端应用功能测试 服务器测试(协调和数据管理功能、性能) 数据库测试 事务测试 网络通信测试

Page 47: §7.4 黑盒测试的测试用例设计

7.5.3 实时系统测试可采用以下四步策略:(1) 任务测试(2) 行为测试(3) 任务间测试(4) 系统测试

Page 48: §7.4 黑盒测试的测试用例设计

(1) 任务测试 (task testing)

对每一个任务进行单独测试( 白盒、黑盒测试 ) ,发现逻辑和功能上错误,不能发现定时上和行为上错误 。

Page 49: §7.4 黑盒测试的测试用例设计

(2) 行为测试 (behavioral testing)

用 CASE工具创建应用系统模型,模拟实时系统行为。 按类测试各种事件 ( 如中断、控制信号、数据 ) 。 测试过的事件以随机次序、随机频率送给系统 ,检查软件行为方面的错误 .

Page 50: §7.4 黑盒测试的测试用例设计

(3) 任务间测试 (intertask testing)

检查与时间有关错误。如用不同数据速率、处理负载 测试相互通信的异步任务。通过消息队列或数据存储测试 任务间的通信来找出数据存储区错 误的范围。

Page 51: §7.4 黑盒测试的测试用例设计

(4) 系统测试 (system testing)

软件、硬件组装后,找出软、硬件接口错误。严格按需求设计功能要求进行测试。