实验03 黑盒测试方法(因果图、决策表)

知识点

决策表法
  • 决策表概念:一种分析多逻辑条件下不同操作的工具。在所有的黑盒测试方法中,基于决策表(也称判定表)的测试是最为严格、最具有逻辑性的测试方法。
  • 优点:能够全面列举所有可能情况,避免遗漏。针对不同逻辑条件的组合值,分别执行不同的操作。决策表很适合于处理这类问题。
  • 构成
    • 条件桩:列出所有条件。
    • 动作桩:列出可能的操作。
    • 条件项:条件的具体取值。即对每个条件可以取真值和假值。
    • 动作项:条件组合下应采取的动作。
    • 规则:特定条件组合及其相应操作。在决策表中贯穿条件项和动作项的一列就是一条规则。
决策表法实例
  • 设备维修程序:根据条件组合设计测试用例。
    • 以 “设备维修”为例来说明如何制定决策表。 (1)首先,列出所有的条件桩和动作桩, 本例的条件桩有3个,分别为: 机器功率是否大于100马力? 维修记录是否完整? 运行时间是否超过6年? 本例的动作桩有两个,分别为: 优先维修 正常维修       (2)接着确定条件项,即上述每个条件的值分别取“是(Y)”和“否(N)”。根据条件项的组合确定其对应的活动,如表所示。
    • 序  号

      1

      2

      3

      4

      5

      6

      7

      8

      条件

      功率大于100马力

      Y

      Y

      Y

      Y

      N

      N

      N

      N

      维修记录不全

      Y

      Y

      N

      N

      Y

      Y

      N

      N

      运行时间超过6

      Y

      N

      Y

      N

      Y

      N

      Y

      N

      动作

      优先维修

      正常维修

根据表6-23所示的4种组合可设计出以下4个测试用例: 功率大于100马力(如,200马力),优先维修。 功率不大于100马力(如,99马力),维修记录不全,优先维修。 功率不大于100马力(如,99马力),维修记录全且运行时间超过6年(如,8年),优先维修。 功率不大于100马力(如,99马力),维修记录全且运行时间不超过6年(如,3年),正常维修。 

序  号

1

5

7

8

条件

功率大于100马力

Y

N

N

N

维修记录不全

Y

N

N

运行时间超过6

Y

N

动作

优先维修

正常维修

决策表构建步骤
  • 合并具有相同动作的规则,简化决策表。若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。 合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值无关,称为无关条件。
    • 确定规则个数
    • 列出所有的条件桩和动作桩
    • 填入动作项,得到初始决策表
    • 简化决策表,合并相似规则
因果图测试法
  • 原因:程序输入条件的组合。在一个功能或一个界面中,往往会有多个控件,这些控件一般会有一定的制约关系或组合关系,并且功能模块的输出会依赖于输入的条件。 如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。
  • 结果:程序的输出或状态改变。
  • 原理:图解法分析输入组合,设计测试用例。是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。
  • 4种关系
    • 恒等:相同取值。
    • 非:相反取值。
    • 或:任一为真。
    • 与:全部为真。
因果图约束

在实际问题中输入状态相互之间、输出状态相互之间可能存在某些依赖关系,称为“约束”或“制约”。

  • E约束:最多一个条件为真(异或)。
  • I约束:至少一个条件为真(或)。
  • O约束:只有一个条件为真(唯一)。
  • R约束:条件之间存在依赖(要求)。
  • M约束:输出条件的强制关系。
因果图测试案例
  • 公交卡纸币充值系统:分析输入条件、输出结果和制约关系,设计测试用例。
    • 有如下公交卡纸币充值系统
    • E约束(异):a和b中最多只有一个为1,即a和b不能同时 为1。(如3个a、b、c则a、b、c最多只有一个1,或全0)。约束可以添加在输入方,也可以添加在输出方。
    • I 约束(或):a、b、c中至少有一个必须为1,即 a、b、c不能同时为0。约束可以添加在输入方,也可以添加在输出方。
    • O约束(唯一):a和b必须有一个且仅有一个为1。
    • R约束(要求):a是1时,b必须是1,即a为1时,b不能为0。约束可以添加在输入方,也可以添加在输出方。
    • M约束(强制):若结果a为0,则结果b强制为1;若a=1,b不确定。且只有输出条件能够有强制约束。
  • 公交一卡通自动充值系统,其需求描述如下
    • 系统只接收50元或100元纸币,一次充值只能使用一张纸币,一次充值金额只能为50元或100元。
    • 若输入50元纸币,并选择充值50元,完成充值后退卡,提示充值成功。
    • 若输入50元纸币,并选择充值100元,提示输入金额不足,并退回50元。
    • 若输入100元纸币,并选择充值50元,完成充值后退卡,提示充值成功,找零50元。
    • 若输入100元纸币,并选择充值100元,完成充值后退卡,提示充值成功。
    • 若输入纸币后在规定时间内不选择充值按钮,退回输入的纸币,并提示错误。
    • 若选择充值按钮后不输入纸币,提示错误。
  • 输入条件(原因)为: ① 投币50元 ② 投币100元 ③ 选择充值50元 ④ 选择充值100元  输出(结果)有: (a)完成充值、退卡 (b)提示充值成功 (c)找零 (d)提示错误
  • 明确所有条件之间的制约关系以及组合关系 条件之间的制约关系以及组合关系如图所示。
  • 画出因果图 为了描述得更清楚,这里把每种情况单独画一个因果图出来。 组合情况有: 条件①和条件③输出a和b的组合 投币50元,充值50元输出完成充值、退卡,提示充值成功
  • 条件①和条件④输出c和d的组合 投币50元,充值100元输出找零、提示错误的结果。
  • 条件②和条件③输出a、b、c的组合 投币100元,充值50元输出找零、完成充值、提示充值成功的结果
  • 条件②和条件④输出a和b的组合 投币100元,充值100元输出完成充值、退卡,提示充值成功的结果
  • 条件①、②、③、④均可以单独出现,其因果图如图所示。
  • (4)根据因果图,写出判定表 根据上面的因果图,写出对应的判定表。
  • (5)根据判定表,写出测试用例 根据上面的判定图,写出对应的测试用例
  • 编号

    用例说明

    预期结果

    1

    投币50  选择充值50

    正确充值50元,提示充值成功后退卡

    2

    投币50  选择充值100

    系统提示错误并退回50

    3

    投币100  选择充值50

    正确充值50元,提示充值成功后退卡,并找回50

    4

    投币100  选择充值100

    正确充值100元,提示充值成功后退卡

    5

    投币50

    系统提示错误并退回50

    6

    投币100

    系统提示错误并退回100

    7

    选择充值50

    系统提示错误

    8

    选择充值100

    系统提示错误

因果图测试流程
  1. 分析确定输入条件和输出结果,绘制因果图。
  2. 将因果图转换为判定表。
  3. 为判定表中的每一列设计测试用例。

一、实验目的:

1.掌握黑盒测试技术的概念

2.掌握运用因果图法、判定表法设计测试用例

二 实验环境

1、Windows操作系统计算机;

三 实验准备

1、理解黑盒测试的定义;

2、理解因果图、决策表原理;

四、实验内容及过程

1、阅读下面需求规格说明,运用相应的黑盒测试技术完成测试用例设计。

(1)某学生成绩管理系统,要求对“平均成绩在90分以上,且没有不及格科目的学生,或班级成绩排名在前5的学生,在程序中将学生的姓名用红色标识”,请建立该场景的判定表。

1)确定规则的个数

  • 规则1: 平均成绩 > 90 且 没有不及格科目。
  • 规则2: 班级排名 <= 5。

2)列出所有条件桩和动作桩

所有条件项和动作项

条件

动作

所有条件项和动作项

条件

班级排名是否 ≤ 5

平均成绩是否 > 90

是否有不及格科目

动作

姓名标红

无动作

3)填入条件项、动作项,得到初始判定表

初始判定表

1

2

3

4

5

6

7

8

条件

班级排名是否 ≤ 5

Y

Y

Y

Y

N

N

N

N

平均成绩是否 > 90

Y

Y

N

N

Y

Y

N

N

是否有不及格科目

Y

N

Y

N

Y

N

Y

N

动作

姓名标红

1

1

1

1

1

无动作

1

1

1

4)简化判定表,合并相似规则

1

5

7

8

条件

班级排名是否 ≤ 5

Y

N

N

N

平均成绩是否 > 90

-

Y

N

N

是否有不及格科目

-

-

Y

N

动作

姓名标红

1

1

无动作

 1

1

(2)有一个自动饮料售货机(处理单价为5角钱)的控制处理软件,它的软件规格说明如下:

若投入2.5元硬币,按下“橙汁”或“啤酒”按钮,相应的饮料就送出。

若投入3元硬币, 同样按下“橙汁”或“啤酒”按钮,则在送出饮料的同时退还5角硬币。"

原因

结果

请绘制出因果图和判定表,并给出相应的测试用例

  • 原因:投入硬币(2.5元,3元),按钮选择(橙汁,啤酒)。
  • 结果:送出饮料,可能伴随退还5角硬币。
投入硬币按钮选择结果
2.5元橙汁送出橙汁
2.5元啤酒送出啤酒
3元橙汁送出橙汁,退还5角
3元啤酒送出啤酒,退还5角
测试用例ID测试描述投入金额选择饮料预期结果预期动作或状态
TC001投入2.5元选择橙汁2.5元橙汁送出橙汁,不退款饮料送出,无找零
TC002投入2.5元选择啤酒2.5元啤酒送出啤酒,不退款饮料送出,无找零
TC003投入3元选择橙汁并期望退款3元橙汁送出橙汁,退还0.5元饮料送出,找零0.5元
TC004投入3元选择啤酒并期望退款3元啤酒送出啤酒,退还0.5元饮料送出,找零0.5元
TC005投入少于2.5元的边界值测试2元任意系统拒绝服务,不送出饮料提示错误信息,无饮料送出
TC006投入超过3元的找零逻辑测试5元任意送出饮料,退还正确的找零金额饮料送出,找零2元
TC007投入非支持金额(如1元)1元任意系统拒绝服务,不送出饮料提示错误信息,无饮料送出

测试用例说明

  • 测试用例ID: 测试用例的唯一标识符。
  • 测试描述: 简要描述测试用例的目的或测试场景。
  • 投入金额: 用户投入的金额。
  • 选择饮料: 用户选择的饮料类型。
  • 预期结果: 根据因果图和判定表,预期的系统响应或结果。
  • 预期动作或状态: 预期的系统动作或状态变化,例如饮料送出、找零、错误提示等。

五、实验总结

1.请列举你所学过的黑盒测试方法有哪些?

  • 等价类划分
  • 边界值分析
  • 组合测试用例设计
  • 正交试验法
  • 场景法
  • 因果图法
  • 判定表法

2.面对不同的测试系统,该如何选择黑盒测试方法?

  • 根据系统的特点和需求选择合适的方法。
  • 对于复杂的业务逻辑,可以使用因果图法或判定表法。
  • 对于简单的输入验证,可以使用等价类划分或边界值分析。
  • 根据测试时间和资源,选择最有效的测试方法组合。
  • 8
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值