黑盒测试把测试对象当作看不见内部细节的“黑盒”,在完全不考虑被测程序内部结构和处理过程的情况下,仅仅依据程序功能的需求规格设计测试用例,并推断测试结果的正确性。
黑盒测试也称为功能测试或数据驱动测试,要求导出执行被测程序所有功能需求的输入条件集,生成测试用例集,实现功能覆盖。功能覆盖主要是需求覆盖,即通过设计一定的测试用例,对每个功能需求点进行测试。根据软件产品需求规格说明中的功能设计规格进行测试,以证实每个实现了的功能是否符合规格要求。
作业内容
分析 Chap.5.1 (Lec.17) 自动售货机软件例子生成的判定表图例的第 6 列和第 23 列,分别给出:
(1)输入条件的自然语义陈述;
(2)输出结果的自然语义陈述;
(3)用命题逻辑形式描述实现上述输入 - 输出过程所应用的判定规则,并写出获得输出结果的推理演算过程。
解答
自动售货机软件的因果图如下:
自动售货机软件的判定表如下:
关注第 6 列和第 23 列。
第 6 列
(1)输入条件的自然语义陈述;
输入为 11010,表示 C1 售货机可找零,C2 投入 1 元硬币,C4 按下橙汁按钮。
(2)输出结果的自然语义陈述;
输出为 00110,表示 E23 退回 5 角硬币,E24 送出橙汁饮料。
(3)用命题逻辑形式描述实现上述输入 - 输出过程所应用的判定规则,并写出获得输出结果的推理演算过程。
C4(1) ⋁ C5(0) ⇒ T12(1)
C2(1) ⋀ T12(1) ⇒ T11(1)
C1(1) ⋀ T11(1) ⇒ T13(1)
T13(1) ⋁ C3(0) ⇒ T14(1)
T13(1) ⇒ E23(1)
T14(1) ⋀ C4(1) ⇒ E24(1)
证明 E23、E24 为真。
由于 C1、C2 为真,C5 为假,因此有:
¬C1(1) ⇒ E21(0)
¬C1(1) ⋀ T11(1) ⇒ E22(0)
T14(1) ⋀ C5(0) ⇒ E25(0)
证明 E21、E22、E25 为假。
得到输出结果。
第 23 列
(1)输入条件的自然语义陈述;
输入为 01001,表示 C1 售货机不可找零,C2 投入 1 元硬币,C5 按下啤酒按钮。
(2)输出结果的自然语义陈述;
输出为 11000,表示 E21 零钱找完灯亮,E22 退还 1 元硬币。
(3)用命题逻辑形式描述实现上述输入 - 输出过程所应用的判定规则,并写出获得输出结果的推理演算过程。
C4(0) ⋁ C5(1) ⇒ T12(1)
C2(1) ⋀ T12(1) ⇒ T11(1)
C1(0) ⋀ T11(1) ⇒ T13(0)
T13(0) ⋁ C3(0) ⇒ T14(0)
¬C1(0) ⇒ E21(1)
¬C1(0) ⋀ T11(1) ⇒ E22(1)
T13(0) ⇒ E23(0)
T14(0) ⋀ C4(0) ⇒ E24(0)
T14(0) ⋀ C5(1) ⇒ E25(0)
证明 E21、E22 为真,E23、E24、E25 为假。
得到输出结果。