Halo

A magic place for coding

0%

软件测试作业 6

软件测试作业 6

  1. 分析 Chap.5.1 (Lec.17) 自动售货机软件例子生成的判定表图例的第 6 列和第 23 列,分别给出:

    (1)输入条件的自然语义陈述;

    (2)输出结果的自然语义陈述;

    (3)用命题逻辑形式描述实现上述输入 - 输出过程所应用的判定规则,并写出获得输出结果的推理演算过程。


Answer

自动售货机软件的测试用例

(1)分析需求说明,列出原因和结果清单

  • 原因清单(输入条件)
    • C1 售货机可找零
    • C2 投入 1 元硬币
    • C3 投入 5 角硬币
    • C4 按下【橙汁】按钮
    • C5 按下【啤酒】按钮
  • 结果清单(输出结果)
    • E21【零钱找完】灯亮
    • E22 退还 1 元硬币
    • E23 退还 5 角硬币
    • E24 送出橙汁饮料
    • E25 送出啤酒饮料
  • 建立中间节点,表示处理的中间状态
    • T11 投入 1 元硬币且按下饮料按钮
    • T12 按下【橙汁】或【啤酒】按钮
    • T13 应当找 5 角零钱并且售货机有零钱找
    • T14 钱已付清

(2)画出因果图

  • 所有原因结点列在左边

  • 所有结果结点列在右边

  • 所有中间结点列在中间

  • 所有因果关系表示为连接图解

  • 加上必要的互斥约束条件 E

    • C2 与 C3、C4 与 C5 不能同时发生

    因果图

(3)因果图转换成判定表

  • 按照因果图建立规则库,对输入条件 C1-C5 的全部解释计算输出结果,得到 $2^5=32$ 列的判定表。

    判定表 0

  • 判定表中可以删去的列:阴影部分表示违反约束条件的不可能出现的情况;第 16 列和第 32 列对应的输入条件 C2、C3、C4、C5 为 0(黄色部分),表示操作者没有动作。

    判定表 1

  • 余下的 16 列用绿色标识,作为确定测试用例的依据。

分析

  1. 分析第 6 列。

    • ** 输入条件的自然语义陈述 **:输入 11010,表示 C1 售货机可找零、C2 投入 1 元硬币、C4 按下【橙汁】按钮

    • ** 输出结果的自然语义陈述 **:输出 00110,表示 E23 退还 5 角硬币、E24 送出橙汁饮料

    • ** 命题逻辑形式描述实现上述输入 - 输出过程所应用的判定规则,并写出获得输出结果的推理演算过程 **:中间结果 1111,表示 T11 投入 1 元硬币且按下饮料按钮、T12 按下【橙汁】或【啤酒】按钮、T13 应当找 5 角零钱并且售货机有零钱找、T14 钱已付清。推理过程如下:
      $$
      C4 \vee C5 \Rightarrow T12 \
      C2 \wedge T12 \Rightarrow T11 \
      C1 \wedge T11 \Rightarrow T13 \
      T13 \Rightarrow E23 \
      C3 \vee T13 \Rightarrow T14 \
      C4 \wedge T14 \Rightarrow E24
      $$

  2. 分析第 23 列。

    • ** 输入条件的自然语义陈述 **:输入 01001,表示 C2 投入 1 元硬币、C5 按下【啤酒】按钮

    • ** 输出结果的自然语义陈述 **:输出 11000,表示 E21【零钱找完】灯亮、E22 退还 1 元硬币

    • ** 命题逻辑形式描述实现上述输入 - 输出过程所应用的判定规则,并写出获得输出结果的推理演算过程 **:中间结果 1100,表示 T11 投入 1 元硬币且按下饮料按钮、T12 按下【橙汁】或【啤酒】按钮。推理过程如下:
      $$
      C4 \vee C5 \Rightarrow T12 \
      C2 \wedge T12 \Rightarrow T11 \
      \neg C1 \Rightarrow E21 \
      \neg C1 \wedge T11 \Rightarrow E22
      $$


Reference

  1. https://en.wikipedia.org/wiki/Decision_table
  2. https://en.wikipedia.org/wiki/Cause% E2%80%93effect_graph
  3. Lec.17 by Prof. Guoyang Cai

Welcome to my other publishing channels