定义
判定表法:
分析和表述若干输入条件下,被测对象针对这些输入做出响应的一种工具
在遇到逻辑复杂的业务时,可以利用判定表理清期间的逻辑关系。
重要概念
条件:
条件桩:需求规格说明书定义的被测对象的所有输入
条件项:针对条件桩可能输入数据值
动作:
动作桩:针对条件,被测对象可能采取的所有操作
动作项:针对动作桩,被测对象相应的可能取值
在上图的登陆页面中,条件桩指的是手机号输入和密码输入,条件项指的是正确的手机号或者错误的手机号。
另一方面,动作桩指的是输入手机号和密码后,是登陆成功?还是提示错误信息?动作项指的是对应动作桩的取值,假如关于登陆成功这个动作桩,为真时取1,为假时取0,那么点击登录按钮后,这个动作桩的动作项可能是1,也可能是0。
设计步骤
- 理解需求,确定条件桩、动作桩
- 设计及优化判定表
- 填写动作项
- 根据判定表中输入结果的表现,进行判定表的合并(非必须)
- 简化判定表:如果输出相同,在对应输入中,有且只有一个条件的取值对动作不产生任何影响则合并
在前面的登陆功能中:
- 正确的手机号及密码:登录成功
- 手机号或密码为空:提示“手机号或密码不能为空”
- 手机号或密码错误,提示“请输入正确的手机号或密码”
根据以上条件桩和动作桩,生成判定表:
简化判定表:由于密码的正确与否,取决于手机号。
一般登录信息的数据库表,都是先到数据库表中找到对应的手机号,在找到手机号的前提下,再去匹配密码是否正确,如果手机号一开始就错了,就不会匹配密码。
其中空值是一种特殊的错误,并且能够覆盖到3个动作桩。
因此,后面3个关于“错误的手机号”的条件项,可以排除掉。
得到简化后的判定表: