一、因果图方法介绍
1. 定义:因果图法是一种以图解形式分析输入组合情况,设计测试用例的方法。它适用于检查程序输入条件的各种组合情况。等价类划分法和边界值分析方法着重考虑单一输入条件,但忽视了输入条件之间的相互影响。因果图法通过逻辑模型,可以描绘多种条件组合,便于设计测试用例。
2. 因果图法背景:在测试时考虑输入条件组合情况,可能的组合数庞大,传统方法难以覆盖。因果图法提供了一种描述多种条件组合、产生多个动作的形式,适用于处理输入条件复杂组合问题。
3. 因果图概念:
符号表示:因果图利用简单逻辑符号连接结点,左结点为输入状态(原因),右结点为输出状态(结果)。
关系类型:包括恒等、非、或、与四种逻辑关系,允许任意数量的输入。
约束类型:输入条件约束有E约束(异)、I约束(或)、O约束(唯一)、R约束(要求);输出条件约束只有M约束(强制)。
4. 设计步骤:
解析规格说明,区分原因(输入条件)和结果(输出条件),为每个原因和结果赋予标识符。
分析语义,确定原因与结果、原因间的逻辑关系,绘制因果图。
标记约束条件,识别不可能的组合情况。
转换为判定表。
根据判定表设计测试用例。
二、实战演习
针对自动售货机测试用例设计:
原因:售货机有零钱找、投入1元硬币、投入5角硬币、押下橙汁按钮、押下啤酒按钮。
结果:零钱找完灯亮、退还1元硬币、退还5角硬币、送出橙汁饮料、送出啤酒饮料。
因果图绘制,建立中间状态结点,如投入1元硬币并押下按钮、押下饮料按钮等。
转换为判定表,去除违反约束条件的不可能组合情况,简化测试依据。