测试基础---测试用例之因果图和判定表
2012-10-29 21:31
459 查看
在前面的等价类和边界值中,我们都重视的是输入条件,但是在实际测试中,许多操作时具有相互联系的,只有执行A动作才会产生B结果,像这种测试我们就需要使用今天的因果图了。还是用一个例子说明一下吧。
现在地铁一卡通充值,窗口越来越少了,都推荐自动充值机充值了,我们把它简化一下,只能投入50和100的人民币,相应的也只能充值50和100元。我们来分析一下他的流程吧:
1、投入50元,点充值50元,应该提示充值成功。
2、投入50元,点充值100元,应该提示金额不足,退回50元。
3、投入100元,点充值100元,应该提示充值成功。
4、投入100元,点充值50元,应该提示充值成功,并找零50元。
5、投入纸币后,没有选充值,应提示超时信息,并退还纸币。
这里假设不投币就无法选择充值。
首先我们先要分析因果关系,确定相互制约关系。因果图中的“因”就是各种输入条件,“果”就是输出结果。
1、 确定所有的输入条件
输入应该只有4种吧,(1)投入50元、(2)投入100元、(3)充值50元、(4)充值100元
2、 明确所有的输出结果
输出结果呢,(a)提示充值成功、(b)提示金额不足、(c)退50、(d)提示超时信息
3、 明确所有条件之间的制约关系以及组合关系
一次只能投50或100吧,所以条件1和条件2不能同时出现,同理条件3和条件4也不能同时出现;哪些可以同时出现呢?1和3、1和4、2和3、2和4也可以组合吧,1和2可以单独出现吧
4、 明确所有输出之间的制约关系以及组合关系
现在同样看输出之间的关系,输出a和d不能同时出现吧,b和d也不能同时出现,c和d也不行吧;a和c可以组合吧,b和c也可以组合吧。
5、 找出什么样的输入条件组合会产生哪种输出结果
1和3--->a
1和4--->b和c
1--->d
2和3--->a和c
2和4--->a
2--->d
6、 根据因果图,写出判定表
因果图就是左边画出条件,右边画出结果,用线的连接来表示他们的关系,这里就不画了,我会在附件里给大家详细的内容,因为有点多了。这里就直接给出判定表了
这个表给大家说一下,T表示条件为真,就是执行这个输入,当然了你也可以用1和0或Y和N来表示,F就是不执行了,X代表这个结果会出现。
7、 根据判定表设计测试用例
判定表出来了,用例也就出来了吧。
这里就写一个了,对应着把每一列都写出来
下面就来看一下判定表的方法吧,刚才的案例里已经绘制了判定表了,他们是一样的了。判定表法就是略过因果图的绘制,直接列出所有组合进行筛选。(说实话绘制因果图也还是挺烦人的了,尤其是用根据,所以笔者通常都不画因果图的)
先来看一下关于判定表的一些术语吧,
条件桩:就是所有的输入了。动作桩:就是所有的输出结果了。条件项:就是针对条件桩的取值。动作项就是每列条件项产生的及结果了。还有一个术语就是规则,每一列就是一个规则了。
那就看一下怎么建立判定表吧:
确定规则的个数。假如有n个条件,每个条件有两个取值(0,1),故有2的n次幂种规则
›列出所有的条件桩和动作桩
›填入条件项
填入动作项、制定初始判定表
›简化、合并相似规则或者相同动作
这里给大家说一下简化合并的原则:如果筛选出不可能项后,如果条件项的数量小于2的5次幂,则可以不合并。合并时一次仅合并两列,并且这两列只有一个条件项值不同。
好了,今天就到这里吧。最后给大家总结一下今天的内容,因果图适用于各种逻辑条件,像控制类软件和游戏。对于判定表Beizer指出了适合使用判定表设计测试用例的条件:
›(1)规格说明以判定表的形式给出,或很容易转换成判定表。
›(2)条件的排列顺序不影响执行哪些操作。
›(3)规则的排列顺序不影响执行哪些操作。
›(4)当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。
›(5)如果某一规则要执行多个操作,这些操作的执行顺序无关紧要。
对于这两种方法,我使用判定表多一点,大多数情况你只要分析出了输入输出,以及他们之间的制约组合关系,列出第一个案例第5步中的形式,测试用例其实已经就出来了。对测游戏感兴趣的同学可要好好看看了哦。Windows下的扫雷就可以用因果图的啊。
作业:思考一下我们的三角形问题的案例,用因果图怎么设计测试用例?
因果图案例:http://download.csdn.net/detail/xc5683/4735286
现在地铁一卡通充值,窗口越来越少了,都推荐自动充值机充值了,我们把它简化一下,只能投入50和100的人民币,相应的也只能充值50和100元。我们来分析一下他的流程吧:
1、投入50元,点充值50元,应该提示充值成功。
2、投入50元,点充值100元,应该提示金额不足,退回50元。
3、投入100元,点充值100元,应该提示充值成功。
4、投入100元,点充值50元,应该提示充值成功,并找零50元。
5、投入纸币后,没有选充值,应提示超时信息,并退还纸币。
这里假设不投币就无法选择充值。
首先我们先要分析因果关系,确定相互制约关系。因果图中的“因”就是各种输入条件,“果”就是输出结果。
1、 确定所有的输入条件
输入应该只有4种吧,(1)投入50元、(2)投入100元、(3)充值50元、(4)充值100元
2、 明确所有的输出结果
输出结果呢,(a)提示充值成功、(b)提示金额不足、(c)退50、(d)提示超时信息
3、 明确所有条件之间的制约关系以及组合关系
一次只能投50或100吧,所以条件1和条件2不能同时出现,同理条件3和条件4也不能同时出现;哪些可以同时出现呢?1和3、1和4、2和3、2和4也可以组合吧,1和2可以单独出现吧
4、 明确所有输出之间的制约关系以及组合关系
现在同样看输出之间的关系,输出a和d不能同时出现吧,b和d也不能同时出现,c和d也不行吧;a和c可以组合吧,b和c也可以组合吧。
5、 找出什么样的输入条件组合会产生哪种输出结果
1和3--->a
1和4--->b和c
1--->d
2和3--->a和c
2和4--->a
2--->d
6、 根据因果图,写出判定表
因果图就是左边画出条件,右边画出结果,用线的连接来表示他们的关系,这里就不画了,我会在附件里给大家详细的内容,因为有点多了。这里就直接给出判定表了
输入 | ||||||
1 | T | F | T | T | F | F |
2 | F | T | F | F | T | T |
3 | F | F | T | F | T | F |
4 | F | F | F | T | F | T |
输出 | ||||||
A | X | X | X | |||
B | X | |||||
C | X | X | ||||
D | X | X |
7、 根据判定表设计测试用例
判定表出来了,用例也就出来了吧。
序号 | 输入 | 结果 |
1 | 投入50元,不做其他操作 | 应该提示超时信息 |
下面就来看一下判定表的方法吧,刚才的案例里已经绘制了判定表了,他们是一样的了。判定表法就是略过因果图的绘制,直接列出所有组合进行筛选。(说实话绘制因果图也还是挺烦人的了,尤其是用根据,所以笔者通常都不画因果图的)
先来看一下关于判定表的一些术语吧,
条件桩:就是所有的输入了。动作桩:就是所有的输出结果了。条件项:就是针对条件桩的取值。动作项就是每列条件项产生的及结果了。还有一个术语就是规则,每一列就是一个规则了。
那就看一下怎么建立判定表吧:
确定规则的个数。假如有n个条件,每个条件有两个取值(0,1),故有2的n次幂种规则
›列出所有的条件桩和动作桩
›填入条件项
填入动作项、制定初始判定表
›简化、合并相似规则或者相同动作
这里给大家说一下简化合并的原则:如果筛选出不可能项后,如果条件项的数量小于2的5次幂,则可以不合并。合并时一次仅合并两列,并且这两列只有一个条件项值不同。
好了,今天就到这里吧。最后给大家总结一下今天的内容,因果图适用于各种逻辑条件,像控制类软件和游戏。对于判定表Beizer指出了适合使用判定表设计测试用例的条件:
›(1)规格说明以判定表的形式给出,或很容易转换成判定表。
›(2)条件的排列顺序不影响执行哪些操作。
›(3)规则的排列顺序不影响执行哪些操作。
›(4)当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。
›(5)如果某一规则要执行多个操作,这些操作的执行顺序无关紧要。
对于这两种方法,我使用判定表多一点,大多数情况你只要分析出了输入输出,以及他们之间的制约组合关系,列出第一个案例第5步中的形式,测试用例其实已经就出来了。对测游戏感兴趣的同学可要好好看看了哦。Windows下的扫雷就可以用因果图的啊。
作业:思考一下我们的三角形问题的案例,用因果图怎么设计测试用例?
因果图案例:http://download.csdn.net/detail/xc5683/4735286
相关文章推荐
- 测试用例之因果图/判定表
- WEB安全性测试测试用例(基础)
- 测试用例之因果图
- 测试基础---测试用例之场景法和状态迁移法
- 基础测试用例的作用
- 测试用例设计白皮书--因果图方法
- Testing - 测试基础 - 用例
- 功能测试用例基础设计模型
- 用因果图来设计测试用例 ZT
- android+web测试基础3-3+购物车相关的测试用例
- 测试用例设计--判定表
- (转)测试用例的设计方法(全)之三 判定表、正交实验
- 测试基础--测试用例总结
- 软件测试基础知识二——编写测试用例的方法
- 测试基础---测试用例设计之边界值
- 测试用例---常用设计方法,等价类,边界值,因果图判定表,正交表,场景法,大纲法
- android+测试基础9+测试报告的编写模板+测试用例
- 测试用例设计白皮书--判定表驱动分析方法
- 简图记录-自动用例测试框架Cunit基础
- 基础场景构造与子流的测试用例设计方法