软件测试技术_韩永国_黑盒测试基于判定表的测试.ppt

软件测试技术_韩永国_黑盒测试基于判定表的测试.ppt

Software Testing 第一次尝试 ? M1={ 月份:每月有 30 天 } ? M2={ 月份:每月有 31 天 } ? M3={ 月份:此月是 2 月 } ? D1={ 日期: 1≤ 日期 ≤ 28} ? D2={ 日期:日期 =29} ? D3={ 日期:日期 =30} ? D4={ 日期:日期 =31} ? Y1={ 年:年是闰年 } ? Y2={ 年:年是平年 } Software Testing 有 256 条规则的第一次尝试 条件 c1:月份在M1中? T c2:月份在M2中? T c3:月份在M3中? T c4:日期在D1中? c5:日期在D2中? c6:日期在D3中? c7:日期在D4中? c8:年在Y1中? a1:不可能 a2:NextDate ? 年变量对应的等价类收缩为表中的一个条件 Software Testing 第二次尝试(重点考虑闰年) ? M1={ 月份:每月有 30 天 } ? M2={ 月份:每月有 31 天 } ? M3={ 月份:此月是 2 月 } ? D1={ 日期: 1≤ 日期 ≤ 28} ? D2={ 日期:日期 =29} ? D3={ 日期:日期 =30} ? D4={ 日期:日期 =31} ? Y1={ 年: 年是 平年 } ? Y2={ 年: 年是 闰年 } 软件测试技术 软件测试课程组 西南科技大学计算机学院 Software Testing 问题引入 ? 例: ? 某个软件需求文档中有这样的说明:第一列 字符必须是 A 或 B ,第二列字符必须是一个 数字,在此情况下进行文件的修改。但如果 第一列字符不正确,则给出信息 L ;如果第 二列字符不是数字,则给出信息 M 。 ? 边界值测试 ? 等价类测试 Software Testing 4.3 基于判定表的测试 ? 判定表 ? 基于判定表的测试 ? 案例:三角形问题, NextDate 问题 ? 练习:隔一日问题 Software Testing 4.3.1 判定表 ? 判定表的原理 ? 判定表的组成 ? 判定表建立的步骤 Software Testing 1. 判定表的原理 ? 判定表 ? 判定表( Decision Table ),又叫 决策表 ? 判定表是分析和表达多逻辑条件下执行不 同操作的工具。 ? 在程序设计发展的初期,判定表被当作编 写程序的辅助工具。 Software Testing 2. 判定表的组成 ? 条件桩( Condition Stub ) ? 列出问题的所有条件 ? 动作桩( Action Stub ) ? 列出可能采取的操作 ? 条件项( Condition Entity ) ? 列出条件桩的取值 ? 动作项( Action Entity ) ? 列出条件项各种取值下应该采取的动作 Software Testing 判定表的组成 Software Testing 规则 ? 任何一个条件组合的特定取值及其相应 要执行的操作称为规则; ? 在判定表中贯穿 条件项和动作项 的一列 就是一条规则; ? 判定表中列出多少组条件取值,也就有 多少条规则,即条件项和动作项有多少 列。 Software Testing 规则示例:三角形问题 Software Testing 规则( 续 ) ? 规则合并 ? 规则合并就是判定表的 简化 。 ? 有两条或多条规则具有 相同的动作 ,并且 其条件项之间存在着极为 相似的关系 ,就 可以将规则合并。 Software Testing ( 1 )两条规则合并成一条 ? 条件项“ —” 表示与取值 无关。 Software Testing ? 条件项“ —” 在逻辑上包 含其它的条 件。 ( 2 )两条规则的进一步合并 Software Testing 3. 判定表建立步骤 ? 根据软件规格说明 ? ①列出所有的条件桩和动作桩; ? ②确定规则的个数; ? 假如有 n 个条件,每个条件有两个取值( 0,1 ) , 则有 2 n 种规则; ? ③填入条件项; ? ④填入动作项,得到初始决策表; ? ⑤简化,合并相似规则(相同动作)。 Software Testing 例: 维修机器问题 ? 问题描述: ? “ …… 对于功率大于 50 马力的机器, 并且维修记录不全或已运行 10 年以 上的机器,应给予优先的维修处 理 ……” ?

文档评论(0)

1亿VIP精品文档

相关文档