第 7 章 基于决策表的测试决策表 基于决策表的测试 案例:三角形问题, NextDate 问题 练习:隔一日问题7.1 决策表决策表的原理 决策表的组成 决策表建立的步骤 1. 决策表的原理决策表 决策表: Decision Table决策表是分析和表达多逻辑条件下执行不同操作的工具。 在程序设计发展的初期,决策表被当作编写程序的辅助工具。2. 决策表的组成条件桩( Condition Stub ) 列出问题的所有条件 动作桩( Action Stub ) 列出可能采取的操作 条件项( Condition Entity ) 列出条件桩的取值 动作项( Action Entity ) 列出条件项各种取值下应该采取的动作决策表的组成规则任何一个条件组合的特定取值及其相应要执行的操作称为规则; 在决策表中贯穿条件项和动作项的一列就是一条规则; 决策表中列出多少组条件取值,也就有多少条规则,即条件项和动作项有多少列。规则示例:三角形问题规则(续)规则合并 规则合并就是决策表的简化。 有两条或多条规则具有相同的动作,并且其条件项之间存在着极为相似的关系,就可以将规则合并。( 1 )两条规则合并成一条条件项“—”表示与取值无关。条件项“—”在逻辑上包含其它的条件。( 2 )两条规则的进一步合并3. 决策表建立步骤根据软件规格说明 ① 列出所有的条件桩和动作桩; ② 确定规则的个数; 假如有 n 个条件,每个条件有两个取值( 0,1 ) , 则有 2n 种规则; ③ 填入条件项; ④ 填入动作项,得到初始决策表; ⑤ 简化,合并相似规则(相同动作)。例:维修机器问题问题描述: “…… 对于功率大于 50 马力的机器并且维修记录不全 , 或已运行 10 年以上的机器,应给予优先的维修处理……” 请建立决策表。例:维修机器问题(续) ( 1 )列出所有的条件桩和动作桩 条件桩 C1 :功率大于 50 马力吗? C2 :维修记录不全吗? C3 :运行超过 10 年吗? 动作桩 A1 :进行优先处理 A2 :作其他处理 例:维修机器问题(续) ( 2 )确定规则个数 输入条件个数: 3 ; 每个条件的取值:“是”或“否”; 规则个数: 2*2*2 =8 ; 功率大于 50 马力吗 维修记录不全吗 运行超过 10 年吗 例:维修机器问题(续)12345678条 件功率大于 50 马力吗? YYYYNNNN...