文档库 最新最全的文档下载
当前位置:文档库 › 实验黑盒测试用例设计

实验黑盒测试用例设计

实验黑盒测试用例设计
实验黑盒测试用例设计

实验1 黑盒测试用例设计

1、实验目的

1、掌握黑盒测试用例的设计方法。

2、综合运用所学的黑盒测试方法设计测试用例。

2、实验准备

1、黑盒测试用例的设计方法。

2、测试用例模板。

3、实验内容

基本训练

实验一:假设现有以下的三角形分类程序。该程序的功能是,读入代表三角形边长的3个整数,判定它们能否组成三角形。如果能够,则输出三角形是等边、等腰或任意三角形的分类信息。图1显示了该程序的流程图和程序图。为以上的三角形分类程序设计一组测试用例。@

图1

实验二:为自动售货机设计黑盒测试用例

有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。

若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。

|

扩展训练

题目1:利用因果图法编写测试用例。

某奖金计算软件实现功能如下:

1该软件可以计算某公司的年终奖,该公司员工分为普通员工和管理人员。

2员工表现分为普通、优秀和特殊贡献(普通和优秀员工都可以有特殊贡献,普通员工表现普通和管理人员表现普通拿的工资是不同的)。

}

3 根据员工的分类和表现,将奖金分为1类奖金,2类奖金——。

具体分析:

输入条件:员工类别:普通员工A1、管理人员A2

员工表现:普通B1、优秀B2、特殊贡献B3

输出条件:奖金类别:1类奖金C1、2类奖金C2——

其中:A1和A2是互斥的,B1和B2是互斥的,B1和B3,B2和B3可以同时满足。

普通员工:A1+B1—>C1

A1+B2 —〉C2

A1+B1+B3—〉C3

A1+B2+B3—〉C4

管理人员:A2+B1—〉C5

A2+B2—〉C6

A2+B1+B3—〉C7

A2+B2+B3—〉C8

4、实验步骤

~

基本训练

实验一步骤:

第一步:确定测试策略。在本例中,对被测程序的功能有明确的要求,即:(1)判断能否组成三角形;

(2)识别等边三角形;

!

(3)识别等腰三角形;

(4)识别任意三角形。因此可首先用黑盒法设计测试用例,然后用白盒法验证其完整性,必要时再进行补充。

第二步:根据本例的实际情况,在黑盒法中首先可用等价分类法划分输入的等价类,然后用边界值分析法和猜错法作补充。

等价分类法:

有效等价类:

输入3个正整数:

(1)3数相等

(2)3数中有2个数相等,比如AB相等

(3)3数中有2个数相等,比如BC相等

(4)3数中有2个数相等,比如AC相等

%

(5)3数均不相等

(6)2数之和不大于第3数,比如最大数是A

(7)2数之和不大于第3数,比如最大数是B

(8)2数之和不大于第3数,比如最大数是C

无效等价类:

(9)含有零数据

(10)含有负整数

(11)少于3个整数

(12)含有非整数

(13)含有非数字符

<

边界值法:

(14)2数之和等于第3数

猜错法:

(15)输入3个零

(16)输入3个负数

!

第三步:提出一组初步的测试用例,如下表所示:

请分别用弱健壮和强一般分别设计测试用例!

{

$

实验二步骤:

(1)列出原因和结果

原因:

1.售货机有零钱找

2.投入1元硬币

3.投入5角硬币

4.押下橙汁按钮

.

5.押下啤酒按钮

结果:

21.售货机〖零钱找完〗灯亮

22.退还1元硬币

23.退还5角硬币

!

24.送出橙汁饮料

25.送出啤酒饮料

(2)画出因果图,如图2示。所有原因结点列在左边,所有结果结点列在右边。建立中

间结点,表示处理的中间状态。中间结点:

11. 投入1元硬币且押下饮料按钮

12. 押下〖橙汁〗或〖啤酒〗的按钮

"

13. 应当找5角零钱并且售货机有零钱找

14. 钱已付清

图2

(3)转换成判定表

(4)在判定表中,阴影部分表示因违反约束条件的不可能出现的情况,删去。第16列与第32列因什么动作也没做,也删去。最后可根据剩下的16列作为确定测试用例的依据。,

5、实验思考

(1)如何确定等价类

(2)如何使用判定表设计测试

附录:NextData问题黑盒测试用例设计一、问题描述

程序有三个输入变量month、day、year(month、day和year均为整数值,并且满足:1≤month≤12、1≤day≤31、1900≤year ≤2050。),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上下一天的日期。例如,输入为2005年11月29日,则该程序的输出为2005年11月30日。请用黑盒测试方法设计测试用例。

三、设计测试用例

1. 用边界值测试方法设计测试用例

%

用健壮性测试法设计测试用例,按照下列步骤进行:

(1)分析各变量的取值

健壮性测试时,各变量分别取:略小于最小值、最小值、略高于最小值、正常值、略低于最大值、最大值和略大于最大值。

month:-1,1,2,11,12,13;

day:-1,1,2,30,31,32

~

year:1899,1900,1901,1975,2049,2050,2051;

(2)测试用例数

有n个变量的程序,其边界值分析会产生6n+1个测试用例。这里有3个变量,因此会产生19个测试用例。

(3)设计测试用例,见表1-1。

NextDate函数的复杂性来源于两个方面:一是输入域的复杂性(即输入变量之间逻辑关系的复杂性),二是确定闰年的规则。但是在进行健壮性测试时,没有考虑输入变量之间的逻辑关系,也没有考虑和闰年相关的问题,因此在设计测试用例时存在遗漏问题,比如和判断闰年相关的日期:、等。

表1-1NextDate函数测试用例

2. 用基于判定表的方法设计测试用例

%

(1)分析各种输入情况,列出为输入变量month、day、year划分的有效等价类。

month变量的有效等价类:

M1 = { month = 4,6,9,11 }

M2 = { month = 1,3,5,7,8,10 }

M3 = { month = 12 }

{

M4 = { month = 2 }

day变量的有效等价类:

D1={日期:1≤日期≤27}

D2={日期:日期=28}

D3={日期:日期=29}

]

D4={日期:日期=30}

D5={日期:日期=31}

year变量的有效等价类:

Y1 = { year是闰年}

Y2 = { year不是闰年}

<

(2)分析程序规格说明,结合以上等价类划分的情况给出问题规定的可能采取的操作(即列出所有的动作桩)。考虑各种有效的输入情况,程序中可能采取的操作有以下六种:

a1:不可能

a2:日期增1

a3:日期复位

a4:月份增1

a5:月份复位

a6:年增1

(3)根据步骤(1)和(2),画出判定表。对判定表进行化简。简化后的判定表,如表1-2所示。

彪1-2 NextDate问题的判定表

表1-2续)

(4)对判定表进行化简。简化后的判定表,如表1-3所示。

表1-3 NextDate函数判定表的精简表

表1-3(续)

(5)设计测试用例

为判定表中的每一列设计一个测试用例,见表1-4。

表1-4 NextDate测试用例

相关文档