功能测试之黑盒测试

功能测试之黑盒测试本文详细介绍了测试用例的基础知识 包括其定义和构成要素 以及黑盒测试中的各种设计方法 如等价类 边界值 判定表 因果图 状态迁移图 场景法和正交实验法

大家好,欢迎来到IT知识分享网。

一、测试用例的基本知识

1、测试用例的定义

举个例子:如下图中为邮箱登录界面进行测试

功能测试之黑盒测试

为了特定目的是指用例名称

测试输入是指测试数据

执行条件是指预置条件

预期结果是指预期结果

测试用例的定义是为了特定的目的而设计的一组由测试输入、执行条件、预期结果的案例(文档)

2、测试用例的构成要素

测试用例构成的8大要素:

功能测试之黑盒测试

测试用例样例图:

功能测试之黑盒测试

备注:在实际工作中根据项目要求对用例设计要素可做调整,上述要素几乎覆盖常见用例设计模板

二、黑盒测试用例设计方法 

1、什么是黑盒测试

功能测试之黑盒测试

黑盒测试是一种软件测试方法,它着重于检查软件的功能性,而不考虑内部结构、逻辑或代码。在黑盒测试中,测试人员将软件视为一个黑盒子,只关注输入和输出之间的关系,而不关心内部是如何处理输入的。 

2、黑盒测试用例设计方法 

功能测试之黑盒测试

2.1、测试设计方法—等价类

等价类概念:在所有测试的数据中,找到具有某种共同特征的数据子集

功能测试之黑盒测试

功能测试之黑盒测试

2.1.1、等价类设计测试用例的步骤

功能测试之黑盒测试

2.1.2、等价类设计测试用例的案例

例:固定电话号码测试——地区码(3/4位)+电话号码(7/8位)

第一步:分析需求,确定输入数据类型

输入

输入

数据类型

固定电话号码

地区码

3/4位数字

电话号码

7/8位数字

第二步:根据输入的规则划分有效和无效等价类

输入的规则:

输入

输入

长度

集合

组成规则

固定电话号码

地区码

3/4位数字

数字

以0开头

电话号码

7/8位数字

数字

以非0非1开头

划分有效等价类和无效等价类:

输入

输入

有效等价类

无效等价类

固定电话号码

地区码

1.以0开头的3位数字

2.以0开头的4位数字

3.以0开头的小于3位的数字

4.以0开头的大于4位的数字

5.以0开头的包含非数字的3位字符串

6.以0开头的包含非数字的4位字符串

7.以非0开头的3位数字

8.以非0开头的4位数字

电话号码

9.以非0非1开头的7位数字

10.以非0非1开头的8位数字

11.以非0非1开头的小于7位的数字

12.以非0非1开头的大于8位的数字

13.以非0非1开头的包含非数字的7位字符串

14.以非0非1开头的包含非数字的8位字符串

15.以0开头的7位数字

16.以0开头的8位数字

17.以1开头的7位数字

18.以1开头的8位数字

第三、四步:编写测试用例,覆盖有效和无效等价类:

输入

有效等价类

无效等价类

测试用例

012       覆盖1,9

012     覆盖1,10

0123     覆盖2,9

0123  覆盖2,10

01          覆盖3

01234   覆盖4

01a        覆盖5

01ab      覆盖6

123        覆盖7

1234      覆盖8

012          覆盖11

012   覆盖12

012 a45678         覆盖13

012 a   覆盖14

012 0       覆盖15

012 0     覆盖16

012        覆盖17

012      覆盖18

2.2、测试设计方法—边界值

功能测试之黑盒测试

2.2.1、边界值的上点离点内点 

例:取出两个数进行加法运算,两数的范围在0-100之间

离点:-1,1,99,101

上点:0,100

内点:0-100中任意一个数,除了0和100本身

功能测试之黑盒测试

1.如图例中要求闭区间,两数的范围为[0,100]

离点为:-1,101

上点为:0,100

内点:0-100中任意一个数,除了0和100本身

闭区间中离点没有1和99的原因:在闭区间中,有效范围是>=0且<=100,当输入有效位数0时,条件成立,1大于0,必然条件成立,同理,当输入有效位数100时,条件成立,99小于100,必然条件成立,所以离点不需要在继续验证1和99

2.如图例中要求半开半闭区间,两数的范围为(0,100]

离点为:1,101

上点为:0,100

内点:0-100中任意一个数,除了0和100本身

半开半闭区间中离点没有-1和99的原因:在半开半闭区间中,有效范围是>0且<=100,当输入有效位数0时,条件不成立,-1小于0,必然条件不成立,同理,当输入有效位数100时,条件成立,100大于99,必然条件成立,所以离点不需要在继续验证-1和99

3.如图例中要求开区间,两数的范围为(0,100)

离点为:1,99

上点为:0,100

内点:0-100中任意一个数,除了0和100本身

开区间中离点没有-1101的原因:在开区间中,有效范围是>0且<100,当输入有效位数0时,条件不成立,-1小于0,必然条件不成立,同理,当输入有效位数100时,条件不成立,101大于100,必然条件不成立,所以离点不需要在继续验证-1和101

2.2.2、边界值法设计测试用例的步骤 

功能测试之黑盒测试

2.2.3、边界值设计测试用例的案例 

例:固定电话号码测试——地区码(3/4位)+电话号码(7/8位)

第一步:分析需求,确定输入数据类型

输入

输入

数据类型

固定电话号码

地区码

3/4位数字

电话号码

7/8位数字

第二步:根据输入的规则划分有效和无效等价类

输入的规则:

输入

输入

长度

集合

组成规则

固定电话号码

地区码

3/4位数字

数字

以0开头

电话号码

7/8位数字

数字

以非0非1开头

划分有效等价类和无效等价类:

输入

输入

有效等价类

无效等价类

固定电话号码

地区码

1.以0开头的3位数字

2.以0开头的4位数字

3.以0开头的小于3位的数字

4.以0开头的大于4位的数字

5.以0开头的包含非数字的3位字符串

6.以0开头的包含非数字的4位字符串

7.以非0开头的3位数字

8.以非0开头的4位数字

电话号码

9.以非0非1开头的7位数字

10.以非0非1开头的8位数字

11.以非0非1开头的小于7位的数字

12.以非0非1开头的大于8位的数字

13.以非0非1开头的包含非数字的7位字符串

14.以非0非1开头的包含非数字的8位字符串

15.以0开头的7位数字

16.以0开头的8位数字

17.以1开头的7位数字

18.以1开头的8位数字

第三步:确定上点、离点、内点

上点:以0开头的3位数字(3位)

以0开头的4位数字(4位)

以非0非1开头的7位数字(7位)

以非0非1开头的8位数字(8位)

离点:以0开头的小于3位的数字(2位)

以0开头的大于4位的数字(5位)

以非0非1开头的小于7位的数字(6位)

以非0非1开头的大于8位的数字(9位)

第四、五步:编写测试用例,覆盖有效和无效等价类:

输入

有效等价类

无效等价类

测试用例

012       覆盖1,9

012     覆盖1,10

0123     覆盖2,9

0123  覆盖2,10

01          覆盖3

01234   覆盖4

01a        覆盖5

01ab      覆盖6

123        覆盖7

1234      覆盖8

012          覆盖11

012   覆盖12

012 a45678         覆盖13

012 a   覆盖14

012 0       覆盖15

012 0     覆盖16

012        覆盖17

012      覆盖18

2.3、测试设计方法—判定表法 

使用等价类方法时对于输入域及输入域存在关联时无法覆盖

例:在移动通信中,有这样的需求:若用户欠费或停机,则不允许打电话与接听电话。

功能测试之黑盒测试

提取测试用例如下:

有效用例:A01A02:用户欠费且停机,不允许打电话与接听电话;

无效用例:B01:用户未欠费但停机,不允许打电话与接听电话;

                  B02:用户欠费但未停机,不允许打电话与接听电话;

通过该需求可以得到如上3条测试用例,但是如果用户未出现欠费和停机情况呢?这条用例将不会被覆盖,无法测试。

这就需要使用到判定表的方法:

功能测试之黑盒测试

功能测试之黑盒测试

2.3.1、判定表法设计测试用例的步骤 

功能测试之黑盒测试

2.3.2、等价类设计测试用例的案例 

功能测试之黑盒测试

条件桩

1

2

3

4

5

6

7

8

第一项输入手机号

1

1

1

1

0

0

0

0

第一项输入邮箱

1

1

0

0

1

1

0

0

第二项输入正确验证码

1

0

1

0

1

0

1

0

动作桩

报错L

N

N

N

N

T

T

报错M

N

T

N

T

N

T

填写账户信息

T

N

T

N

N

N

2.4、测试设计方法—因果图法 

功能测试之黑盒测试

使用判定表法时,当用例的条件数递增时,规则数的递增会越来越大,这时使用判定表法会非常的复杂,所以当碰到复杂的条件时,可以先使用因果图法来解决。

条件与结果之间的关系:

功能测试之黑盒测试

条件与条件之间的依赖关系:

功能测试之黑盒测试

判定表与因果图的区别:

1、判定表:分析条件桩与动作桩后,使用全组合获取条件项

2、因果图:分析因和果,先考虑条件与结果,条件与条件之间的关系,再转换成判定表

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

功能测试之黑盒测试

该案例使用因果图法:

功能测试之黑盒测试

将因果图转换为判定表:

功能测试之黑盒测试

注:X代表任意结果

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

1、分析需求,获取条件和动作

2、分析条件与动作、条件与条件之间的关系

3、通过关系图画出因果图

4、将因果图转换为判定表

2.5、测试设计方法—状态迁移图法 

状态迁移图:首先要找出所有的状态,然后再分析各个状态之间的转换条件和转换路径。然后从其状态迁移路径覆盖的角度来设计测试用例。(多用于协议测试)

2.5.1、状态迁移图法设计测试用例的步骤 

功能测试之黑盒测试

1、分析需求,找到状态结点

2、画出状态迁移图

3、根据状态迁移图画出状态迁移树

4、转化为用例(找到状态迁移树的路径)

2.5.2、等价类设计测试用例的案例 

功能测试之黑盒测试

将案例中的信息转变成状态迁移图:

功能测试之黑盒测试

将状态迁移图转变成状态迁移树:

功能测试之黑盒测试

抽取状态迁移树的路径(用例):

功能测试之黑盒测试

注:从根节点出发,到叶子结点结束

2.6、测试设计方法—场景法 

软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。

场景法分为:基本流,备选流,(异常流(异常流有时可以算在备选流当中))

基本流:从系统某个初始态开始,经一系列状态后到达终止状态的过程中最主要的一个业务流程。

事件流:以基本流为基础,在经过的每个判定节点处满足不同的触发条件而导致的其他事件流。

功能测试之黑盒测试

2.6.1、场景法设计测试用例的步骤 

功能测试之黑盒测试

2个要求:

1、要求从开始到结束算一个场景

2、找全场景标准:所有的路径均被覆盖

2.6.2、等价类设计测试用例的案例 

功能测试之黑盒测试

基本流:输入正确用户名,输入正确的验证码,填写账户信息

备选流1:用户名填写错误,报错 L

备选流2:输入的验证码错误,报错M

根据场景法生成场景:

功能测试之黑盒测试

设计用例如下:

用例1:第一项输入手机号,第二项验证码正确,进入填写账户信息页面

用例2:第一项输入电子邮箱,第二项验证码正确,进入填写账户信息页面

用例3:第一项输入不是手机号或者电子邮箱,报错L(输入手机号或电子邮箱格式错误)

用例4:第一项输入手机号或者电子邮箱,第二项验证码错误,报错M(验证码输入错误)

步骤:1、分析需求,找到基本流和备选流(画出)

           2、根据基本流和备选流找到场景(2个要求)

           3、每个场景就是一条用例

2.7、测试设计方法—正交实验法 

正交实验设计方法:是由数理统计学科中正交实验方法进化出的一种测试多条件多输入的用例设计方法,从大量的(实验)数据(测试例)中挑选适量的,有代表性的点(例),从而合理地安排实验(测试)的一种科学实验设计方法。

条件:因子(需求中的输入项个数)

取值:水平(输入项有多少取值就有多少水平)

功能测试之黑盒测试

2.7.1、等价类设计测试用例的案例 

功能测试之黑盒测试

根据以上案例可以得出:因子=4,水平=3(水平方向上3个数据)

查4因子3水平的正交表:

功能测试之黑盒测试

注:列中的1,2,3,4代表案例中因子1,2,3,4,Number代表用例数,中间部分的1,2,3代表每个因子水平方向能取的数据所对应的1,2,3

替换因子和水平:

功能测试之黑盒测试

上边的案例准确凑到存在的正交表(存在的正交表有3因子2水平,7因子2水平,4因子3水平等等),如果得到的因子数和水平数得不到存在的正交表怎么办呢?如下面这个案例,5因子2水平,是一个不存在的正交表,那么要想凑到正交表我们就需要往大的方向找存在的正交表,如7因子2水平。

功能测试之黑盒测试

2.8、测试设计方法—错误推测法 

功能测试之黑盒测试

三、总结 

功能测试之黑盒测试

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/115172.html

(0)
上一篇 2025-12-04 15:15
下一篇 2025-12-04 15:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信