您的当前位置:首页正文

因果图+判定表法+场景法分析

2024-11-10 来源:个人技术集锦

一、

因果图

1、原因和结果的关系
1)恒等,原因A成立,b一定成立
2)非,原因A成立时,结果b一定不成立
3)或,原因ABC只要一个成立,D成立
4)与,原因ABC只有都成立,D成立

二、加上约束条件,原因之间的约束

原因成立用1表示,不成立用0表示,

1)互斥(enclusive):表示不同时为1,即a,b,c至多只有一个1,A+B+C小于等于1
2)包含(include):小于等于3A+B+C≥1
3)唯一(only):A+B+C==1
4)要求(request):原因A成立,B一定要先成立
3、结果之间的约束
成立用1表示,不成立用0表示

1)屏蔽(mask):
A结果出现,B结果一定不出现。当你收到了注册成功的提示,就一定不会收到注册提示的错误。

因果图法测试用例的设计步骤

(1)确定软件规格(需求)中的原因和结果

(2)确定原因和结果之间的逻辑关系

(3)确定因果图中的各个约束(constraints)

(4)画出因果图并转换为决策表

(5)根据决策表设计测试用例

4、因果图实例分析

产品说明书:有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”、或“红茶”按钮,相应的饮料就送出来。若投入的是2元硬币,在送出饮料的同时退还5角硬币。

(1)确定需求中的原因与结果

     C1 与 C2 需要一个中间结果Cm1, C3、C4、C5 需要一个中间结果Cm2.

(3)确定因果图中的约束

     C1 与 C2 是或的关系, C3、C4、C5 是或的关系。

(4)画出因果图并转化为决策表

判定表法

1、应用场景:主要适用于多条件内容组合与结果分析

2、组成:由条件项、动作项、条件框、动作桩四部分组成。

3、使用的条件,所有的条件桩在表中的位置和顺序互相不影响。那个条件不影响结果
所有动作桩的顺序不会因为条件的顺序产生不同。

4、实现的步骤
1)识别出操作条件(原因),和对应的动作(结束)
2)分析条件的条件项(组合数量),如果n个条件,每个条件有成立和不成立两种情况,那么最后会有2的n次方的数量。
3)简化和优化结果,排除一些不可能存在的情况。进行筛选。

测试用例设计方法:没有那种方法是单独使用。

1)所有软件,都因为某种操作才导致一定的结果。 考虑因果图

2)所有的软件都有文本框,考虑等价类、边界值。

场景法分析

重点:
基本流(软件功能正确实现的流程)
备选流(基本功能之外的流程)

注意:
1、场景中必须有基本流
2、场景必须由内容从流程开始,到流程结束

(二)场景法例子

1、在线购物系统

我们都在当当网或china-pub华章网上书店都订购过书籍,整个订购过程为:用户登录到网站后,进行书籍的选择,当选好自己心仪的书籍后进行订购,这时把所需图书放进购物车,等进行结帐的时候,用户需要登录自己注册的帐号,登录成功后,进行结帐并生成订单,整个购物过程结束。

那么我们通过以上的描述,从中确定哪是基本流,哪些是备选流:

我们来设计用例

对于每一个场景都需要确定测试用例。可以采用矩阵或决策表来确定和管理测试用例。

下面显示了一种通用格式,其中各行代表各个测试用例,而各列则代表测试用例的信息。

本例中,对于每个测试用例,存在一个测试用例ID、条件(或说明)、测试用例中涉及的所有数据元素(作为输入或已经存在于数据库中)以及预期结果。

通过从确定执行用例场景所需的数据元素入手构建矩阵。然后,对于每个场景,至少要确定包含执行场景所需的适当条件的测试用例。例如,在下面的矩阵中,V(有效)用于表明这个条件必须是 VALID(有效的)才可执行基本流,而 I(无效)用于表明这种条件下将激活所需备选流。下表中使用的“n/a”(不适用)表明这个条件不适用于测试用例。

我们看到以上表中,是把每个场景成立的条件进行了分析,基本上已经明确了测试用例的数量,现在只要把真实数据填充上,那么整个测试用例就完成了。

显示全文