软件测试_因果图与决策表

决策表(Decision Table)

定义

利用判定表设计测试用例集合的方法叫做判定表驱动分析法(决策表法)。

决策表测试

  • 在所有的黑盒测试方法中,基于决策表的测试是最严格的、最具有逻辑性的测试方法。
  • 决策表一直被用来表示和分析复杂的逻辑关系,描述不同条件集合下采取行动的若干组合情况。

判定表的组成

  • 判定表是一种二维的表格,通常由四部分组成。

    • 条件桩 条件项
      操作桩 操作项
    • 条件桩—列出问题的所有条件

    • 操作桩—列出所有问题可能采取的操作

    • 条件项— 各条件的取值及组合。

    • 操作项— 在各条件取值组合下所执行的操作。

  • 特点:可处理较复杂的组合条件,但不易理解,不易输入计算机。

判定表建立的步骤(根据软件规格说明书)

  1. 确定规则的个数.假如有n个条件,每个条件有两个取值(Y,N),故有 2n种规则。
  2. 列出所有的条件桩和动作桩
  3. 填入条件项 (用Y或N)
  4. 填入动作项(划x),得到初始判定。
  5. 简化、合并相似规则(相同动作)
    1. 有两条和多条规则具有相同的动作,并且其条件项之间存在着极为相似的关系。
    2. 合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值无关,称为无关条件。

案例一

“阅读指南”程序,可以根据读者的当前阅读情况,为读者做出是否继续阅读的决定。如果读者感到疲倦则休息;如果读者不感到疲倦并且很感兴趣,在此情况下,如果读者糊涂则重新读一遍,如果读者不糊涂则继续阅读下一部分;如果读者不感到疲倦但对阅读内容不感兴趣,在此情况下,不管读者是否糊涂都跳到下一章继续学习。

判定表建立的步骤(根据软件规格说明书)

  • 一张关于科技书阅读指南的判定表(决策表)
  • 3个问题8种情况

优化前

youhuaqian

优化后

1 2 3 4
问题 你觉得疲倦吗? - - Y N
问题 你对内容感兴趣吗? Y Y N N
问题 书中内容使你糊涂吗? Y N - -
建议 请回到本章开头重读 X
建议 继续读下去 X
建议 跳到下一章去读 X
建议 停止阅读,请休息 X

案例二

一图书销售系统,其中一加工为“优惠处理”,条件是:顾客的消费额大于1000元,同时必须信誉好,或者虽然信誉不好,但是20年以上的老主顾。其他情况下做正常处理。

1 2 3 4 5 6 7 8
>1000元 Y Y Y Y N N N N
信誉好 Y Y N N Y Y N N
>20年 Y N Y N Y N Y N
优惠 X X X
正常 X X X X X
  • YN 说明不管>20年的条件满足与否,都执行优惠
  • Y-满足条件 N-不满足条件 X-选中判定的结论

优化后

1 2 3 4
>1000元 Y Y Y N
信誉好 Y N N
>20年 Y N
优惠 X X
正常 X X

根据判定表设计测试用例

1 2 3 4
>1000元 Y Y Y N
信誉好 Y N N
>20年 Y N
优惠 X X
正常 X X
测试用例 1200,好,- 1200,不好,25年 1200,不好,12年 900,不好,12

练习1

对“某维修站对“功率大于50马力”的机器且“维修记录不全”或“已运行十年以上”的机器应给予优先维修,否则作一般处理。请绘制决策表。

要求使用决策表法设计测试用例

image-20230410112929978

练习2

货运收费标准如下:若收货地点在本省以内,快件每公斤8元,慢件每公斤4元。若收货地点在外省、重量小于或等于25公斤,快件每公斤12元,慢件每公斤8元;若重量大于25公斤,超重部分每公斤加收2元(重量用W表示)。试画出决策表并优化之。

lianxi2

因果图与判定表的选择

  • 条件和动作关系不明确—先使用因果图.
  • 条件和动作关系明确或需求是以判定表形式给出—判定表.