黑盒测试方法实例-新闻详情

黑盒测试方法实例


发布时间:2019-12-31责任编辑:满帅 浏览:2471


等价类划分法:

1、设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。现用等价类划分法设计测试用例,来测试程序的"日期检查功能"。(不考虑2月的问题)

1)划分等价类并编号,下表等价类划分的结果

输入等价类

有效等价类

无效等价类

日期的类型及长度

6位数字字符

有非数字字符

少于6位数字字符

多于6位数字字符

年份范围

1990~2049之间

小于1990

大于2049

月份范围

01~12之间

等于00

大于12

2)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价类,编号分别为①、⑤、⑧,设计的测试用例如下:

测试数据    期望结果      覆盖的有效等价类
200211     
输入有效      、⑤、⑧
3)
为每一个无效等价类设计一个测试用例,设计结果如下:
   
测试数据   期望结果     覆盖的无效等价类
    95June     无效输入         
    20036     
无效输入          
    2001006   
无效输入         
    198912    
无效输入         
    200401    
无效输入         
    200100    
无效输入         
    200113    
无效输入         

 

边界值分析法:

1、测试计算平方根的函数

--输入:实数

--输出:实数

--需求说明:当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时,显示错误信息"平方根非法-输入值小于0"并返回0;库函数Print-Line可以用来输出错误信息。

A.     等价类划分:
     I.
可以考虑作出如下划分:
                 a
、输入 (i)<0 (ii)>=0
                 b
、输出 (a)>=0 (b) Error
          II.
测试用例有两个:
                 a
、输入4,输出2。对应于 (ii) (a)
                   b
、输入-10,输出0和错误提示。对应于 (i) (b)

B.     边界值分析:

划分(ii)的边界为0和最大正实数;划分(i)的边界为最小负实数和0。由此得到以下测试用例:
             a
、输入 {最小负实数}
              b
、输入 {绝对值很小的负数}
             
c、输入 0
              d
、输入 {绝对值很小的正数}
             e
、输入 {最大正实数}

 

2现有一个学生标准化考试批阅试卷,产生成绩报告的程序。其规格说明如下:程序的输入文件由一些有80个字符的记录组成,如右图所示,所有记录分为3组:

01.png

 

 

1)     标题:这一组只有一个记录,其内容为输出成绩报告的名字。

2)     试卷各题标准答案记录:每个记录均在第80个字符处标以数字"2"。该组的第一个记录的第1至第3个字符为题目编号(取值为1999)。第10至第59个字符给出第1至第50题的答案(每个合法字符表示一个答案)。该组的第2,第3……个记录相应为第51至第100,第101至第150题的答案。

3)     每个学生的答卷描述:该组中每个记录的第80个字符均为数字"3"。每个学生的答卷在若干个记录中给出。如甲的首记录第1至第9字符给出学生姓名及学号,第10至第59字符列出的是甲所做的第1至第50题的答案。若试题数超过50,则第2,第3……纪录分别给出他的第51至第100,第101至第150……题的解答。然后是学生乙的答卷记录。

4)     学生人数不超过200,试题数不超过999

5)     程序的输出有4个报告:
    a)
按学号排列的成绩单,列出每个学生的成绩、名次。
    b)
按学生成绩排序的成绩单。
    c)
平均分数及标准偏差的报告。
    d)
试题分析报告。按试题号排序,列出各题学生答对的百分比。

解答:分别考虑输入条件和输出条件,以及边界条件。给出下表所示的输入条件及相应的测试用例。

02.png

 
   
输出条件及相应的测试用例表。

03.png

 

因果图法:

1、          某软件规格说明书包含这样的要求:第一列字符必须是AB,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M

解答:

1)     根据题意,原因和结果如下:

          原因:

          c1——第一列字符是A

          c2——第一列字符是B

          c3——第二列字符是一数字。

          结果:

          E1/21——修改文件;

                 E2/22 ——给出信息L

          E3/23——给出信息M

2)     其对应的因果图如下:

11为中间节点;考虑到原因1和原因2不可能同时为1,因此在因果图上施加E约束。

04.png

3)     根据因果图建立判定表。

05.png

                    表中8种情况的左面两列情况中,原因①和原因②同时为1,这是不可能出现的,故应排除这两种情况。表的最下一栏给出了6种情况的测试用例,这是我们所需要的数据。

 

判定表:

1.     问题要求:”……对功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应给予优先的维修处理……” 。这里假定,“维修记录不全”和“优先维修处理”均已在别处有更严格的定义 。请建立判定表。

解答:

1)     确定规则的个数:这里有3个条件,每个条件有两个取值,故应有2*2*2=8种规则。

2)     列出所有的条件茬和动作桩:

06.png

3)     填入条件项。可从最后1行条件项开始,逐行向上填满。如第三行是: Y N Y N Y N Y N,第二行是: Y Y N N Y Y N N等等。 

4)     填入动作桩和动作顶。这样便得到形如图的初始判定表。


1

2

3

4

5

6

7

8

条件

功率大于50马力吗?

Y

Y

Y

Y

N

N

N

N

维修记录不全吗?

Y

Y

N

N

Y

Y

N

N

运行超过10年吗?

Y

N

Y

N

Y

N

Y

N

动作

进行优先处理

x

x

X


X


X


作其他处理




X


x


x

初始判定表

5)     化简,合并相似规则后得到图。


1

2

3

4

5

条件

功率大于50马力吗?

Y

Y

Y

N

N

维修记录不全吗?

Y

N

N

-

-

运行超过10年吗?

-

Y

N

Y

N

动作

进行优先处理

x

x


X


作其他处理



x


x

 

正交分析法:

假设查询某个人时有三个查询条件:

1、根据“姓名”进行查询

2、根据“身份证号码”查询

3、根据“手机号码”查询

07.png

考虑查询条件要么不填写,要么填写,此时可用正交表进行设计变量映射

姓      名:0à填写,1à不填写

身份证号:0à填写,1à不填写

手机号码: 0à填写,1à不填写

 

选择合适正交表L4(2 3)

 

08.png09.png

 

编写测试用例:

   1:填写姓名、填写身份证号、填写手机号;

 2:填写姓名、不填身份证号、不填手机号;

 3:不填姓名、填写身份证号、不填手机号;

 4:不填姓名、不填身份证号、填写手机号;

 

增补测试用例

5:不填姓名、不填身份证号、不填手机号

 

测试用例减少数: 8 -> 5

 

例2:再拿PowerPoint软件打印功能作为例子,希望能为大家更好地理解给方法的具体应用

假设功能描述如下:

· 打印范围分:全部、当前幻灯片、给定范围 共三种情况;

· 打印内容分:幻灯片、讲义、备注页、大纲视图 共四种方式;

· 打印颜色/灰度分: 颜色、灰度、黑白 共三种设置;

· 打印效果分:幻灯片加框和幻灯片不加框两种方式。

因素状态表:3*4*3*2

状态/因素

A打印范围

B打印内容

C打印颜色/灰度

D打印效果

0

全部

幻灯片

颜色

幻灯片加框

1

当前幻灯片

讲义

灰度

幻灯片不加框

2

给定范围

备注页

黑白


3


大纲视图



我们先将中文字转换成字母,便于设计。得到:

因素状态表:

状态/因素

A

B

C

D

0

A1

B1

C1

D1

1

A2

B2

C2

D2

2

A3

B3

C3


3


B4



我们分析一下:

被测项目中一共有四个被测对象,每个被测对象的状态都不一样。

选择正交表:

1、表中的因素数>=4

2、表中至少有4个因素的水平数>=2

3、行数取最少的一个

最后选中正交表公式:

L16(45)

正交矩阵为:


1

2

3

4

5

1

0

0

0

0

0

2

0

1

1

1

1

3

0

2

2

2

2

4

0

3

3

3

3

5

1

0

1

2

3

6

1

1

0

3

2

7

1

2

3

0

1

8

1

3

2

1

0

9

2

0

2

3

1

10

2

1

3

2

0

11

2

2

0

1

3

12

2

3

1

0

2

13

3

0

3

1

2

14

3

1

2

0

3

15

3

2

1

3

0

16

3

3

0

2

1

用字母替代正交矩阵:


1

2

3

4

5

1

A1

B1

C1

D1

0

2

A1

B2

C2

D2

1

3

A1

B3

C3

2

2

4

A1

B4

3

3

3

5

A2

B1

C2

2

3

6

A2

B2

C1

3

2

7

A2

B3

3

D1

1

8

A2

B4

C3

D2

0

9

A3

B1

C3

3

1

10

A3

B2

3

2

0

11

A3

B3

C1

D2

3

12

A3

B4

C2

D1

2

13

3

B1

3

D2

2

14

3

B2

C3

D1

3

15

3

B3

C2

3

0

16

3

B4

C1

2

1

我们看到:

第一列水平值为3、第三列水平值为3、第四列水平值3、2都需要由各自的字母替代。


1

2

3

4

5

1

A1

B1

C1

D1

0

2

A1

B2

C2

D2

1

3

A1

B3

C3

D1

2

4

A1

B4

C1

D2

3

5

A2

B1

C2

D1

3

6

A2

B2

C1

D2

2

7

A2

B3

C2

D1

1

8

A2

B4

C3

D2

0

9

A3

B1

C3

D2

1

10

A3

B2

C3

D1

0

11

A3

B3

C1

D2

3

12

A3

B4

C2

D1

2

13

A1

B1

C1

D2

2

14

A2

B2

C3

D1

3

15

A3

B3

C2

D2

0

16

A1

B4

C1

D1

1

第五列去掉没有意义。通过分析,由于四个因素里有三个的水平值小于3,所以从第13行到16行的测试用例可以忽略。

那么这样的话,就可以有12个测试用例了:

1

测试用例编号

PPTSTFUNCTIONPRINT001

测试项目

测试powerpoint打印功能

测试标题

打印PowerPoint文件A全部的幻灯片,有颜色,加框

重要级别

预置条件

PowerPoint文件A已被打开,电脑主机已连接有效打印机

输入

文件AD:系统测试.ppt

操作步骤

1、打开打印界面;

2、打印范围选择“全部”;

3、打印内容选择“幻灯片”;

4、颜色/灰度选择“颜色”;

5、在“幻灯片加框”前打勾;

6、点击“确定”。                          

预期输出

打印出全部幻灯片,有颜色且已加框。

2

测试用例编号

PPTST FUNCTIONPRINT002

测试项目

测试powerpoint打印功能

测试标题

打印PowerPoint文件A全部的幻灯片为讲义,灰度,不加框

重要级别

预置条件

PowerPoint文件A已被打开,电脑主机已连接有效打印机

输入

文件AD:系统测试.ppt

操作步骤

1、打开打印界面;

2、打印范围选择“全部”;

3、打印内容选择“讲义”;

4、颜色/灰度选择“灰度”;

5、点击“确定”。      

预期输出

打印出全部幻灯片为讲义,灰度且不加框。

3

测试用例编号

PPTSTFUNCTIONPRINT003

测试项目

测试powerpoint打印功能

测试标题

打印PowerPoint文件A全部的备注页,黑白,加框

重要级别

预置条件

PowerPoint文件A已被打开,电脑主机已连接有效打印机

输入

文件AD:系统测试.ppt

操作步骤

1、打开打印界面;

2、打印范围选择“全部”;

3、打印内容选择“备注页”;

4、颜色/灰度选择“黑白”;

5、在“幻灯片加框”前打勾;

6、点击“确定”。                          

预期输出

打印出全部备注页,黑白且已加框。

4

测试用例编号

PPTSTFUNCTIONPRINT004

测试项目

测试powerpoint打印功能

测试标题

打印PowerPoint文件A全部的大纲视图,黑白

重要级别

预置条件

PowerPoint文件A已被打开,电脑主机已连接有效打印机

输入

文件AD:系统测试.ppt

操作步骤

1、打开打印界面;

2、打印范围选择“全部”;

3、打印内容选择“大纲视图”;

4、颜色/灰度选择“黑白”;

5、点击“确定”。                          

预期输出

打印出全部大纲视图,黑白

5

测试用例编号

PPTSTFUNCTIONPRINT005

测试项目

测试powerpoint打印功能

测试标题

打印PowerPoint文件A当前幻灯片,灰度,加框

重要级别

预置条件

PowerPoint文件A已被打开,电脑主机已连接有效打印机

输入

文件AD:系统测试.ppt

操作步骤

1、打开打印界面;

2、打印范围选择“当前幻灯片”;

3、打印内容选择“幻灯片”;

4、颜色/灰度选择“灰度”;

5、在“幻灯片加框”前打勾;

6、点击“确定”。                          

预期输出

打印出当前幻灯片,灰度且已加框。

6

测试用例编号

PPTSTFUNCTIONPRINT006

测试项目

测试powerpoint打印功能

测试标题

打印PowerPoint文件A当前幻灯片为讲义,黑白,加框

重要级别

预置条件

PowerPoint文件A已被打开,电脑主机已连接有效打印机

输入

文件AD:系统测试.ppt

操作步骤

1、打开打印界面;

2、打印范围选择“当前幻灯片”;

3、打印内容选择“讲义”;

4、颜色/灰度选择“黑白”;

5、在“幻灯片加框”前打勾;

6、点击“确定”。                          

预期输出

打印出当前幻灯片为讲义,黑白且已加框。

7

测试用例编号

PPTSTFUNCTIONPRINT007

测试项目

测试powerpoint打印功能

测试标题

打印PowerPoint文件A当前幻灯片的备注页,有颜色,不加框

重要级别

预置条件

PowerPoint文件A已被打开,电脑主机已连接有效打印机

输入

文件AD:系统测试.ppt

操作步骤

1、打开打印界面;

2、打印范围选择“当前幻灯片”;

3、打印内容选择“备注页”;

4、颜色/灰度选择“颜色”;

5、点击“确定”。                          

预期输出

打印出当前幻灯片的备注页,有颜色且不加框。

8

测试用例编号

PPTSTFUNCTIONPRINT008

测试项目

测试powerpoint打印功能

测试标题

打印PowerPoint文件A当前幻灯片的大纲视图,有颜色

重要级别

预置条件

PowerPoint文件A已被打开,电脑主机已连接有效打印机

输入

文件AD:系统测试.ppt

操作步骤

1、打开打印界面;

2、打印范围选择“当前幻灯片”;

3、打印内容选择“大纲视图”;

4、颜色/灰度选择“颜色”;

5、点击“确定”。                          

预期输出

打印出当前幻灯片为讲义,黑白且已加框。

9

测试用例编号

PPTSTFUNCTIONPRINT009

测试项目

测试powerpoint打印功能

测试标题

打印PowerPoint文件A给定范围的幻灯片,黑白,不加框

重要级别

预置条件

PowerPoint文件A已被打开,电脑主机已连接有效打印机

输入

文件AD:系统测试.ppt

操作步骤

1、打开打印界面;

2、打印范围选择“幻灯片”;

3、打印内容选择“幻灯片”;

4、颜色/灰度选择“黑白”;

5、点击“确定”。                          

预期输出

打印出给定范围的幻灯片,黑白且不加框。

10

测试用例编号

PPTSTFUNCTIONPRINT010

测试项目

测试powerpoint打印功能

测试标题

打印PowerPoint文件A给定范围的幻灯片为讲义,有颜色,加框

重要级别

预置条件

PowerPoint文件A已被打开,电脑主机已连接有效打印机

输入

文件AD:系统测试.ppt

操作步骤

1、打开打印界面;

2、打印范围选择“幻灯片”;

3、打印内容选择“幻灯片”;

4、颜色/灰度选择“颜色”;

5、点击“确定”。                          

预期输出

打印出给定范围的幻灯片为讲义,有颜色且加框。

11

测试用例编号

PPTSTFUNCTIONPRINT011

测试项目

测试powerpoint打印功能

测试标题

打印PowerPoint文件A给定范围的幻灯片的备注页,灰度,加框

重要级别

预置条件

PowerPoint文件A已被打开,电脑主机已连接有效打印机

输入

文件AD:系统测试.ppt

操作步骤

1、打开打印界面;

2、打印范围选择“幻灯片”;

3、打印内容选择“备注页”;

4、颜色/灰度选择“灰度”;

5、在“幻灯片加框”前打勾;

6、点击“确定”。                          

预期输出

打印出给定范围的幻灯片的备注页,灰度且加框。

12

测试用例编号

PPTSTFUNCTIONPRINT012

测试项目

测试powerpoint打印功能

测试标题

打印PowerPoint文件A给定范围的幻灯片的大纲视图,灰度

重要级别

预置条件

PowerPoint文件A已被打开,电脑主机已连接有效打印机

输入

文件AD:系统测试.ppt

操作步骤

1、打开打印界面;

2、打印范围选择“幻灯片”;

3、打印内容选择“大纲视图”;

4、颜色/灰度选择“灰度”;

5、点击“确定”。                          

预期输出

打印出给定范围的幻灯片的大纲视图,灰度

 

 

场景法:

下图所示是ATM例子的流程示意图。

010.png

 

 

 

1.    场景设计:下表所示是生成的场景。

场景1——成功提款

基本流


场景2——ATM内没有现金

基本流

备选流2

场景3——ATM内现金不足

基本流

备选流3

场景4——PIN有误(还有输入机会)

基本流

备选流4

场景5——PIN有误(不再有输入机会)

基本流

备选流4

场景6——账户不存在/账户类型有误

基本流

备选流5

场景7——账户余额不足

基本流

备选流6

 

3.    用例设计

对于这7个场景中的每一个场景都需要确定测试用例。可以采用矩阵或决策表来确定和管理测试用例。下面显示了一种通用格式,其中各行代表各个测试用例,而各列则代表测试用例的信息。本示例中,对于每个测试用例,存在一个测试用例ID、条件(或说明)、测试用例中涉及的所有数据元素(作为输入或已经存在于数据库中)以及预期结果。

TCID

场景/条件

PIN

账号

输入(或选择)的金额

账面

金额

ATM内的金额

预期结果

CW1

场景1:成功提款

V

V

V

V

V

成功提款

CW2

场景2ATM内没有现金

V

V

V

V

I

提款选项不可用,用例结束

CW3

场景3ATM内现金不足

V

V

V

V

I

警告消息,返回基本流步骤6,输入金额

CW4

场景4PIN有误(还有不止一次输入机会)

I

V

n/a

V

V

警告消息,返回基本流步骤 4,输入 PIN

CW5

场景4PIN有误(还有一次输入机会)

I

V

n/a

V

V

警告消息,返回基本流步骤 4,输入 PIN

CW6

场景4PIN有误(不再有输入机会)

I

V

n/a

V

V

警告消息,卡予保留,用例结束

4.    数据设计

一旦确定了所有的测试用例,则应对这些用例进行复审和验证以确保其准确且适度,并取消多余或等效的测试用例。

测试用例一经认可,就可以确定实际数据值(在测试用例实施矩阵中)并且设定测试数据,如下表所示:

TCID

场景/条件

PIN

账号

输入(或选择)的金额(元)

账面
  金额(元)

ATM内的金额(元)

预期结果

CW1

场景1:成功提款

4987

809-498

50.00

500.00

2 000

成功提款。账户余额被更新为450.00

CW2

场景2:ATM内没有现金

4987

809-498

100.00

500.00

0.00

提款选项不可用,用例结束

CW3

场景3:ATM内现金不足

4987

809-498

100.00

500.00

70.00

警告消息,返回基本流步骤6,输入金额

CW4

场景4:PIN有误(还有不止一次输入机会)

4978

809-498

n/a

500.00

2 000

警告消息,返回基本流步骤4,输入PIN

CW5

场景4:PIN有误(还有一次输入机会)

4978

809-498

n/a

500.00

2 000

警告消息,返回基本流步骤4,输入PIN

CW6

场景4:PIN有误(不再有输入机会)

4978

809-498

n/a

500.00

2 000

警告消息,卡予保留,用例结束

 

外包组供稿