编写测试用例方法—-因果图&判定表

2022-09-21 11:00:38 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

因果图:

一、应用场合

在一个界面中,有多个控件,测试的时候要考虑控件的组合关系,不同的控件组合会产生不同的输出结果的组合,为了弄清什么样的输入组合会产生什么样的输出组合,使用因果图法。

二、因果图核心

1、因—-原因,输入条件

2、果—-结果,输出结果

使用图形的方式,分析软件输入和输出的对应关系。

三、图形符号

1、基本图形

表示输入和输出的对应关系

(1)恒等(–)Ⓐ(输入、因) Ⓑ(输出、果)

若a=1,则b=1

若a=0,则b=0

(2)非(~)Ⓐ(输入、因) Ⓑ(输出、果)

若a=1,则b=0

若a=0,则b=1

(3)或(V)

若a=1,或b=1,或c=1,则d=1

若a=b=c=0,则d=0

(4)与(^)

若a=b=c=1,则d=1

若a=0或b=0或c=0,则d=0

2、约束(限制条件)图形

要不然单独限制输入,要不然单独限制输出

(1)互斥(E)

a、b、c不同时为1,则a,b,c中至多只有一个1

(2)包含(I)

a、b、c至少有一个1,则a,b,c中不能同时为0

(3)唯一(O)

a、b、c中必须有一个成立,且仅有一个成立(有且只有一个1)

说明:

唯一(O)的情况是有一个默认值;而互斥(E)没有默认值

(4)要求(R)

若a=1,则b必须为1。即不可能a=1且b=0

(5)屏蔽(M)

若a=1,则b必须为0;而当a为0时,b的值不定

四、使用因果图法分析程序

例子:

交通一卡通自动充值软件系统需求

系统只接收50元或100元纸币,一次充值只能使用一张纸币,一次充值金额只能为50元或100元。 若输入50元纸币,并选择充值50元,完成充值后退卡,提示充值成功; 若输入50元纸币,并选择充值100元,提示输入金额不足,并退回50元; 若输入100元纸币,并选择充值50元,完成充值后退卡,提示充值成功,找零50元; 若输入100元纸币,并选择充值100元,完成充值后退卡,提示充值成功; 若输入纸币后在规定时间内不选择充值按钮,退回输入的纸币,并提示错误;

若选择充值按钮后不输入纸币,提示错误

1、找出所有的原因(输入),编号

(1)投币50元

(2)投币100元

(3)充值50元

(4)充值100元

2、找出所有的结果(输出),编号

A、充值成功并退卡

B、提示充值成功

C、找零

D、提示错误

步骤1、2就是初步分析需求。

3、在步骤1的基础上,找到输入的限制关系和组合关系

(1)、限制关系(哪些输入不能组合)

1)输入(1)和(2)不能(互斥)

2)输入(3)和(4)不能(互斥)

画出限制关系因果图

(2)、组合关系(决定测试用例的数量)

1)输入(1)和(3)组合

2)输入(1)和(4)组合

3)输入(2)和(3)组合

4)输入(2)和(4)组合

5)输入(1)单独

6)输入(2)单独

7)输入(3)单独

8)输入(4)单独

4、在步骤2的基础上,找到输出的限制关系和组合关系

(1)限制关系

1)输出A和D不能(互斥)

2)输出B和D不能(互斥)

画出限制关系因果图

(2)组合关系

1)输出A和B必须组合

2)输出A、B、C组合

3)输出C和D组合

4)输出D单独

步骤3、4是深入分析需求的过程

5、找到输入组合和输出组合的对应关系(什么样的输入组合会产生什么样的输出组合)—–依据步骤3(2)和4(2)

情况1:

输入(1)和(3)组合

会产生:

输出A和B的组合

画出因果图:

==========================================================

情况2:

输入(1)和(4)组合

会产生:

输出C和D的组合

画出因果图:

==========================================================

情况3:

输入(2)和(3)组合

会产生:

输出A和B和C的组合

画出因果图:

==========================================================

情况4

输入(2)和(4)组合

会产生:

输出A和B的组合

画出因果图:

==========================================================

情况5:

输入(1)单独

会产生:

输出C和D的组合

画出因果图:

==========================================================

情况6:

输入(2)单独

会产生:

输出C和D的组合

画出因果图:

==========================================================

情况7:

输入(3)单独

会产生:

输出D

画出因果图:

==========================================================

情况8:

输入(4)单独

会产生:

输出D

画出因果图:

6、根据因果图,画出判定表

7、根据判定表编写用例

把判定表的一列转换成一条用例

五、因果图法的局限性

每个控件的条件(或取值)最好为2个或3个,比如:按钮按下或不按下;复选框选择还是不选择;单选按钮选还是不选;有三个选项的下拉列表。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/170412.html原文链接:https://javaforall.cn

0 人点赞