黑盒测试技术(Cause­Effect Graphing 因果图法)——软件质量保证与测试



前言

  • 等价分类法和边界值分析法的缺点是没有检查各种输入条件的组合。
  • 要检查输入条件的组合并非易事,因为即使可以将输入条件分成等价类,但它们的组合情况可能很多,如果没有一个系统的方法是难以设计测试用例
    的。
  • 借助因果图列出输入数据的各种组合与程序对应动作效果之间的阶段联系,构造判定表,由此设计测试用例是生成测试用例的有效办法。

一、因果图是什么?

□ 因果图是输入和输出之间逻辑关系的可视化表示,可以用布尔表达式表示。
□ 原因Cause是需求中的任何可能影响程序输出的条件。
□ 结果Effect是程序对某些输入条件组合的响应。

因果图中图形符号:

  • 关系符号
    黑盒测试技术(Cause­Effect Graphing 因果图法)——软件质量保证与测试
    黑盒测试技术(Cause­Effect Graphing 因果图法)——软件质量保证与测试
  • 约束符号

(原因间、结果间)
□ 在实际问题中,输入状态也存在一定的依赖关系,称为约束。
□ 输出状态之间存在限制。
□ 这些边用带约束符号的虚线表示

  1. E: 互斥约束(异约束):最容易出现,要选择的话只能两个原因中选一个或都不选,即C1C2两种情况不是互斥的
    黑盒测试技术(Cause­Effect Graphing 因果图法)——软件质量保证与测试

  2. I: 包含约束(或约束):要求至少满足其中一个条件成立,不能全不选
    黑盒测试技术(Cause­Effect Graphing 因果图法)——软件质量保证与测试

  3. O: 唯一约束:两个条件必须选一个,且仅一个
    黑盒测试技术(Cause­Effect Graphing 因果图法)——软件质量保证与测试

  4. R: 要求约束:C2被需要,C1不能单独出现,相当于C2是C1的前提
    黑盒测试技术(Cause­Effect Graphing 因果图法)——软件质量保证与测试

  5. M: 强制约束:如果E1出现,就把E2掩盖了,E2不能出现即E2此时不能为1
    黑盒测试技术(Cause­Effect Graphing 因果图法)——软件质量保证与测试因果图设计的步骤

    1. 通过阅读需求来识别原因和影响。每个原因和结果被分配一个唯一的标识
      符。请注意,结果也可以是其他一些结果的原因。
    2. 用因果图表示因果关系。
    3. 将因果图转换为有限项决策表,简称决策表。
    4. 从决策表生成测试用例。
      黑盒测试技术(Cause­Effect Graphing 因果图法)——软件质量保证与测试如何使用因果图设计测试用例
      i. 找原因,找结果
      ii. 看是否需要中间节点
      iii. 找原因,结果间的关系

二、例题

例题一

某企业工资管理软件一个模块的需求规格说明书描述如下:
(1)行政管理员工:严重过失,扣年终奖6%;过失:扣4%
(2)一线生产员工:严重过失,扣年终奖10%;过失:扣6%
答案

黑盒测试技术(Cause­Effect Graphing 因果图法)——软件质量保证与测试
黑盒测试技术(Cause­Effect Graphing 因果图法)——软件质量保证与测试

例题二

黑盒测试技术(Cause­Effect Graphing 因果图法)——软件质量保证与测试

答案:

黑盒测试技术(Cause­Effect Graphing 因果图法)——软件质量保证与测试决策表:
黑盒测试技术(Cause­Effect Graphing 因果图法)——软件质量保证与测试
测试用例
黑盒测试技术(Cause­Effect Graphing 因果图法)——软件质量保证与测试

例题三

Cause-Effect Testing:In a given network, the sendfile command is used to send a file to a user on a different file server. The sendfile command takes three arguments: the first argument should be an existing file in the sender’s home directory, the second argument should be the name of the receiver’s file server, and the third argument should be the receiver’s userid. If all the arguments are correct, then the file is successfully sent; otherwise the sender obtains an error message.
答案

黑盒测试技术(Cause­Effect Graphing 因果图法)——软件质量保证与测试

例题四

黑盒测试技术(Cause­Effect Graphing 因果图法)——软件质量保证与测试

答案

黑盒测试技术(Cause­Effect Graphing 因果图法)——软件质量保证与测试
黑盒测试技术(Cause­Effect Graphing 因果图法)——软件质量保证与测试

例题五

黑盒测试技术(Cause­Effect Graphing 因果图法)——软件质量保证与测试
黑盒测试技术(Cause­Effect Graphing 因果图法)——软件质量保证与测试

解答
黑盒测试技术(Cause­Effect Graphing 因果图法)——软件质量保证与测试
黑盒测试技术(Cause­Effect Graphing 因果图法)——软件质量保证与测试

总结

因果图设计的缺点

  • 不易理解