在等价类方法中详细考虑了每一个输入域,但是对于输入域之间存在关联时无法覆盖,因此需要使用一种能覆盖到输入域之间关系的用例设计方法来考虑相应的测试需求。
判定表:判定表是分析和表达多种输入条件下系统执行不同动作的工具,在遇到复杂的业务逻辑关系时可以将需求或业务逻辑表达得既具体又明确。
组成:条件桩、动作桩、条件项、动作项
条件桩:列出了系统的所有输入,列出的输入次序无关紧要
动作桩:列出了系统可能采取的操作,这些操作的排列顺序没有约束
条件项:针对条件,所有可能的真假值
动作项:针对动作桩,被测对象在各种条件项的情况下取值
使用方法:
1)定义条件桩和动作桩:分析被测对象有哪些输入以及有哪些对应的输出
2)设计判定表
3)填入动作项
4)优化判定表
5)为每一条规则设计测试用例
例1:订购单的检查:如果金额大于500元,又未过期,则发出批准单和提货单;如果金额大于500元,但过期了,则不发批准单;如果金额小于等于500元,则不论是否过期都发出批准单和提货单,在过期的情况下还需要发出通知单。
例2:对功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应给予优先的维修处理。这里假定,“维修记录不全”和“优先维修处理”均已在别处有更严格的定义 。请建立判定表。
例3:某系统对修改文件有如下需求:第一个字符必须是A或者B,第二个字符必须是一个数字,满足这两个条件则文件修改成功,如果第一个字符不正确,给出信息L,如果第二个字符不正确,给出信息M。请给出该需求的判定表。请建立判定表。
设计判定表
优化判定表(第一个字符不可能同时为A和B)
例4:某系统修改账户密码功能:首先输入原密码,原密码输入正确后,两次输入新密码,要求一致且达到复杂度要求(8-15位字符,可以包含字母、数字和下划线,不能以下划线开头),修改成功后系统提示修改成功,否则提示失败信息(判断顺序:原密码错误、确认密码与新密码不一致,新密码未达到复杂度要求)。请建立判定表。
设计判定表
优化判定表(对5,6,7,8进行合并)
使用等价类和边界值方法为每一条规则设计测试用例
网友评论