Selenium 学习(0.11)——软件测试之测试用例设计方法——判定表法

        判定表法的定义

        等价类,边界值分析法一般是对单一输入进行测试用例分析的方法。判定表是对其的一种补充,对于多种输入之间存在的组合关系并且对应执行不同动作,进行测试用例的分析的方法。

        1、判定表的构成

        条件桩

        列出问题的所有条件【系统所有输入】

        条件项

        针对条件桩给出的条件列出所有可能的取值【系统所有可能输出】

        动作桩

        针对条件桩给出的条件列出所有可能的取值【系统所有输入的取值】

        动作项

        列出在条件项的各种取值情况下应该采取的相应动作【系统所有可能输入对应的输出取值】

        【有点绕,为什么弄这么奇奇怪怪的术语】

        判定表的构成
        判定表中贯穿条件项和动作项的一列就是一条规则。
        那么这张判定表中就有8条规则

         2、判定表的化简

        当表中有两条或多规则具有相同的动作,就应考虑将判定表进行化简。

         规则1、规则2:无论条件3取值如何,结果都是一样的。

       规则3、规则4:无论条件2、条件3取值如何,结果都是一样的。

        将 规则1、规则2 的相同进行合并(条件1、条件2),条件3 无论取值如何都不影响结果,将 条件3 用“-”表示。

        同理,对规则3、规则4 进行合并。

         再继续合并化简,结果如下:

        继续合并化简,并对规则进行重新编号,最终结果如下:

        实例分析

        文件名的第一个字符必须是A或B,第二个字符必须是数字。满足上述条件则修改文件。若第一个字符不为A或B,输出错误信息X,若第二个字符不为数字,则输出错误信息Y。 

        第一步,分析软件需求规格
        第二步,确定规则的个数
        第三步,填入条件项
        第四步,填入动作项
        第五步,化简判定表合并相似规则
        第六步,根据判定表设计测试用例

 此图为课程中给出的

        为什么要这么教条呢?“第一个字符必须是A或B”,难道不是一个条件么?还需要拆分成两个条件?过气野生程序员表示佛了:“我读书少,老师您别忽悠我!”

         难道这些不应该先去掉不可能的,再进行一次合并么

测试用例

        以下是本人的解答,有路过的神仙们给斧正一二,不胜感激!

        【因为是先看题做题,做完后才继续看的下一步。看来有些是惯性思维了,第一步错不代表不能进行第二步,第一个字符不为A或B的时候,也是要继续判断第二个字符的,也是要输出对应结果的。照此看我的规则是少了些】

列出所有可能

 简化合并后

        测试用例就不现丑了:如果判定表是错的,那测试用例一定是不完整的。

        再做一次,并列出测试用例。结果发现还是被忽悠了,上一张中因为忽略输出两个错误提示的组合。如下图红圈所示处。如果按老师讲的逻辑,我这个也是可以做出6个测试用例的。即规则1、规则2 首字母为A和首字母为B,这样两个用例就变4个用例,一共也就是6个用例了。【如果按等价类法来看的话,正确条件为首字母应为A或B,那么在做测试用例的时候,是不是取一个典型(nom)就可以了,还是需要按边界值法来取呢?】

       

跪请神仙指点迷津

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值