判定表是分析和表现在多个输入条件下系统执行不同动作的工具,能够具体且明确地表现复杂的逻辑关系和多个条件的组合的情况
条件桩(输入条件动作桩)输出结果条件项目)输入取值动作项目)输出取值例)手机欠费或停机时,主要不要叫
条件:欠费停机
动作:不能叫主
规则数:2*2=4条
条件桩1234未付(Y/N ) YYNN停机时间(Y/N ) YNYN 动作桩不称为主要的不称为主要的例子)更改账户密码,以下是优先输入正确的原密码; 输入两次匹配的新密码; 然后,新密码具有一定的复杂度(8-15比特; 包括大写字母; 小写字母; 数字; 其他字符)
假设:优先警告第一个密码不正确,然后警告新密码不匹配,最后警告新密码不复杂
条件(a )原始密码正确b )新密码匹配c )新密码很复杂
动作桩: a )密码更改成功。 b )指示原始密码不正确c )指示新密码不匹配d )提示新密码并不复杂
规则数: 2X2X2=8条
初始判定表如下。
编号12345678条件桩元密码正确YYYYNNNN新密码匹配yyynyn新密码足够复杂YYYY动作桩密码修改成功y元密码不正确YYYY新密码不匹配
一、判定表的集成化简并工作以整合相似规则为目标。 如果表格中的两个或多个规则具有相同的操作,并且条件项目之间存在非常相似的关系,则可以合并它们。 合并后的条件由符号“-”表示,表示已执行的动作与该条件的可取值无关,被称为无关条件
例如:修改上述密码时,规则5、6、7、8可以合并(无论条件和条件取什么样的值,动作桩提示原密码不正确),合并后的判定表如下:
编号12345条件桩元密码正确YYYYN新密码一致 YYNN-新密码足够复杂yyyn -动作桩密码修改成功y元密码不正确y元密码不正确y元密码不一致YY新密码不一致有3个条件,每个条件取2个值时,应按2X2X2=8种规则列出所有条件桩和动作桩,填写条件项目,填写动作桩和动作项目进行简化,合并类似规则。 (如果不建议简化合并,且测试时间紧急,并且测试资源不足,则可以进行简化合并。 )各规则在用例3、判定表法的实例说明中有一个需求
条件:运行10年以上功率超过50马力维护记录不完整
工作:全面维护处理一般维护处理
规则数: 2X2X2=8条
初始判定表如下。
编号12345678条件桩已运行10年以上YYYYNNNN出力超过50马力YYNNYYNN维修记录不完整YYYy工作桩全面维修处理YYYy一般维修处理YYYy判定表综合后: 1、2、3、4可以合并(无论条件和条件取什么样的值,工作桩都是全面修理处理。 )编号12345条件桩已运行10年以上YNNNN功率超过50马力-YYNN维修记录不完整- YYYn工作桩全面维修处理YY一般维修处理yyy文件修改需求:
要修改文件,必须遵循以下规则:
的第一列字符必须是a或b; 第二列文字必须是数字;
在第一列的字符不正确的情况下,给出信息l; 在第2列字符不正确的情况下,给出信息m; 如果正确输入了两列字符,则可以修改文件
条件:
第一排a; b; 其他
第二列数字
动作:提示l; 提示m; 可修改的文件
规则数:3X2=6条
初始判定表如下。
编号123456条件桩第一排AABB结合其他第二排数字非数字非数字非数字动作桩修正文件YY提示LYY提示MYY判定表后:
5、6可以合并(不管第二列取什么样的值,动作桩都是提示l。 )
编号12345条件桩第一排AABB其他第二排数字非数字-动作桩修正文件YY提示LY提示MYY四、判定表的优缺点优点:这可以按各种可能的情况列举复杂的问题,简洁易懂,避免了疏漏
缺点:合并有漏检的风险。 很明显的理由之一是,虽然某个输入条件在输出界面上没有关系,但是在软件设计上,内部对该条件进行了不同的程序分支()
输入和输出的逻辑关系明确使用判定表,使用因果关系图使用判定表不太明确