黑盒测试方法

article/2025/8/22 4:43:32

什么是黑盒测试

  黑盒测试又称功能测试,是在不了解程序内部结构和内部特性的情况下进行的测试方法,黑盒测试只验证程序是否能按照需求规格说明书的规定正常使用,是否能适当的接收数据并给出适当的输出结果,如错误提示,或正确的界面等。

  常用黑盒测试方法有等价类划分法、边界值分析法、正交实验法、流程分析法(场景法)、因图法、判定表法、输入域覆盖法、输出域覆盖法、猜错法(异常分析法)。

一、 等价类划分法

1.1简介

  等价类划分法是指将程序的输入值的集合划分为若干等价类,等价类又分为有效等价类和无效等价类,从每一类中选取少量数据进行测试。

1.2构造测试用例方法

① 根据需求文档明确需求

② 分析需求中的每一个功能数

③ 确定每一个功能有多少个输入

④ 确定每个输入有多少规则

⑤ 针对输入规则划分输入的等价类

⑥ 根据等价类设计测试用例

1.3举例

1.在输入条件中确立一个范围时可分为一个有效等价类和两个无效等价类如成绩的输入,要求分数在[0,100]之间,划分等价类如下:

有效等价类:分数在[0,100]之间

无效等价类:分数小于0

分数大于100

2.确定输入取值为n个 值中的一个的时候,可划分为n个有效等价类和1个无效等价类,如学历的输入,要求只能输入专科、本科、硕士、博士四种,划分等价类如下:

有效等价类:输入专科、本科、硕士、博士其中的一个

无效等价类:输入除四种学历之外的数据

3.在输入条件是真假值时可确立为一个有效等价类(真)和一个无效等价类(假),如一个判断题的对错,划分等价类如下:

有效等价类:对

无效等价类:错

4.在输入数据确定了只有一种符合条件的情况下可确立为一个无效等价类和多个有效等价类如填空题1+1=?,划分等价类如下:

有效等价类:2

无效等价类:除2之外的数字

空格

汉字

字母

特殊字符

5.在输入数据确定了个数的时候,可分为一个有效等价类和两个无效等价类,如一天必须上2-10节课,等价类划分如下;

有效等价类:一天上2-10节课

无效等价类:一天上课的节数小于2

一天上课的节数大于10

6.在输入数据确定了格式的时候可分为一个有效等价类和多个无效等价类如设置密码时要求为字符、数字、特殊字符的组合,可划分等价类如下:

有效等价类:字符、数字、特殊字符的组合

无效等价类:纯字符

纯数字

三者两两组合

……

7.在输入值是一个路径的时候可分为一个有效等价类和多个无效等价类如输入图片的路径,可划分等价类如下:

有效等价类:存在的图片路径

无效等价类:除图片之外的其他文件的路径

超出深度要求的路径

格式错误的路径(区分/和\,区分大小写的时候)

不存在的图片路径

不存在的其他文件路径

路径中存在空格或其他特殊字符

……

二、 边界值分析法

2.1简介

  边界值分析法是针对输入数据的边界值的测试,一般情况下与等价类划分法结合使用,根据各个等价类的边界值设计测试用例。

 

2.2构造测试用例方法

  ① 根据每个输入的等价类设计边界值测试用例,包括等价类的上点和离点(上点:边界值上的点;离点距离边界最近的点)

 

2.3举例

1.成绩的输入分为三个等价类

有效等价类:输入分数在[0,100]

无效等价类:分数小于0

分数大于100

可根据这三个等价类的边界值设计测试用例如下:

等价类

边界值测试用例

预期结果

[0,100]

0

正确

[0,100]

100

正确

小于0

-1

错误

大于100

101

错误

2.除去对等价类的边界值进行分析,还需对输入数据的类型以及各种场景的边界值进行测试,如:

a:整型数据的边界值:-32767和32768

b:布尔值的边界值:真和假

c:循环的边界值:第一轮循环和最后一轮循环

d:报表的第一行和最后一行

e:浏览器的左上角和右下角

f:数组里的第一个元素和最后一个元素

三、 判定表法

3.1简介

  是根据判定条件列出所有可能的组合,当有n个条件时,就需要列出相应的2n个测试用例。

3.2构造测试用例方法

① 在需求中找到输入参数要满足的条件

② 在需求中找到满足条件后得到的结果

③ 将所有的n个输入条件进行全排列组合,形成2n组测试用例,

④ 查看是否可以合并测试用例

⑤ 设计测试用例时可以忽略没有数据可取的不存在的结果

3.3举例

  如下是对闰年判定的测试用例,其中闰年的判定条件为能被4整除但不能被100整除或者能被400整除。

 

条件

能被4整除

Y

Y

Y

Y

N

N

N

N

不能被100整除

Y

Y

N

N

Y

Y

N

N

能被400整除

Y

N

Y

N

Y

N

Y

N

 

结果

是闰年

不是闰年

不存在

四、 正交实验法

4.1简介

  正交实验法是利用正交表来对程序进行测试,用较少的测试用例进行较全面的测试。根据正交表的正交性,从全面试验中挑选出适量的、有代表性的点进行试验。

  正交表是一种特制的表格,一般用Ln(mk)来表示,其中L表示正交表,n表示测试用例数,k表示最多可安排影响指标因素的个数或正交表的列数,m表示每个因素的水平数即状态,n=k*(m-1)-1,即最少的测试用例数。

4.2构造测试用例方法

① 从需求中找出所有的因素(输入参数)

② 从需求中找出所有的水平(因素状态)并编号,画出因素状态表

③ 通过因素状态表绘制出正交表

④ 根据正交表,设计测试用例,一行是一条用例

4.3举例

1.因素数和水平数刚好符合正交表

  如测试一个登陆,需要输入用户名、密码和验证码,则用户名、密码和验证码是因素,每个因素都有填和不填两种水平(状态),则n= k*(m-1)-1=3*(2-1)+1=4组测试用例,根据正交实验法设计正交表如下

状态\因素

用户名

密码

验证码

1

不填

2

不填

3

不填

4

不填

不填

不填

2.因素的水平数不相符

如一个功能需要一个用户提交性别、学历、政治面貌3个数据,每个数据要求如下:

性别:取值为男、女2种

学历:取值为大专、本科、硕士、博士4种

政治面貌:取值为群众、共青团员、中共党员3种

因素状态表

状态\因素

性别

学历

政治面貌

1

大专

群众

2

本科

共青团员

3

硕士

中共党员

4

博士

正交表如下

测试用例

性别

学历

政治面貌

1

大专

群众

2

本科

共青团员

3

硕士

中共党员

4

博士

共青团员

5

硕士

群众

6

博士

中共党员

7

本科

中共党员

8

大专

共青团员

9

本科

群众

10

大专

中共党员

11

博士

群众

12

硕士

共青团员

 

五、 流程图分析法

5.1简介

  当一个事件触发时,就形成了一个场景,而同一事件的不同触发顺序和处理结果就形成了事件流。在测试一个软件的时候,在场景法中,测试流程是软件功能按照正确的事件流实现的一条正确的流程,即基本流,而凡是出现故障或缺陷的过程,就称为备选流,备选流是可以从基本流来的,或是由备选流引出的。

5.2构造测试用例方法

① 根据业务流程绘制出流程图,流程图包含基本流和备选流

② 根据基本流和备选流生成不同的场景

③ 对每一个场景生成相应的测试用例

④ 对生成的测试用例重新评审,去掉多余的测试用例,测试用例确定后,对每一个测试用例确定测试数据值

5.3举例

  1.例如一个需要输入用户名和密码的登陆并付款购物功能,其中如果密码错误3次会锁定用户的事件流如下:

 

 

 

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

测试用例ID

场景

用户名

密码

有钱购物

预期结果

1

场景1:购物成功

V

V

V

成功购物

2

场景2:用户名错误

I

n/a

n/a

提示用户名错误

3

场景3:密码错误

V

I

n/a

提示密码错误

4

场景4:密码错3次锁定

V

I

n/a

提示密码错误3次锁定用户

5

场景5:没钱付款

V

V

I

提示余额不足

六、 因果图法

6.1简介

因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,适用于检查程序输入的各种组合条件。

因果图法比较合适输入条件比较多的情况,测试所有的输入条件的排列组合,所谓的原因就是输入,所谓的结果就是输出。

因果图的“因”—输入条件

因果图的“果”—输出结果

因果图法要注意考虑:

1.所有输入/输出条件的相互制约关系以及组合关系

2.输入条件的依赖关系,也就是什么样的输入组合会产生怎么样的输出结果,即“因果关系”

因果图中的基本符号:

 

 

 

 

6.2构造测试用例方法

① 分析需求中描述的原因和结果,给每个原因和结果赋予一个编号。

② 根据这些关系画出因果图

③ 因果图上用一些记号表明约束条件或限制条件

④ 把因果图转换成判定表

⑤ 将判定表的每一列作为依据设计测试用例

 

6.3举例

1.一个交通卡充值系统的需求:

系统只接收100元,只能选择充值100

若输入100元并选择充值100元,提示充值成功并退卡

若输入纸币后一定时间不选择充值按钮,退回输入的纸币并提示错误

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

输入条件

① 输入100元纸币

② 点击充值100元

输出:

① 提示充值成功

② 完成充值,退卡

③ 提示错误

因果图如下

  输入                                                                                             输出:

 

 

根据因果图判定表如下

 

 

1

2

3

输入

输入100元纸币

1

1

选择充值按钮

1

1

输出

提示充值成功

1

充值成功并退卡

1

提示错误

1

1

七、 输入域覆盖法

7.1简介

  输入域覆盖是指根据SRS(需求分析文档)结合等价类划分法和边界值分析法的一种测试方法,主要是对输入的特殊值和类型边界补充测试用例。

八、 输出域覆盖法

8.1简介

  输出域覆盖是指在了解程序功能的所有输出后,查看测试用例中所有的输入产生的输出结果是否能够涵盖所有输出结果,如果不完善,则根据输出结果推导出相应的输入数据,将其补充到测试用例中。

九、 猜错法

9.1简介

  猜错法是基于经验和直觉,以及参考以往测试结果中出现较频繁及较隐蔽的错误,从而推测出程序所有可能出现的错误或异常,选择这些情况下的用例进行测试。


http://chatgpt.dhexx.cn/article/lcaKfIXB.shtml

相关文章

常用黑盒测试方法

定义:黑盒测试又称功能测试。黑盒测试就是把测试对象看成一个不能打开的黑盒子,在完全不考虑程序的内部结构和处理过程的情况下,只依据程序的需求规格说明书,检查程序的功能是否符合他的功能说明。 黑盒测试主要发现的缺陷类型&a…

数据库安装教程

自用记录,参考链接:mysql数据库安装(详细)_体会!的博客-CSDN博客_mysql安装教程 mysql安装:“rootlocalhost is created with an empty password !”,而非A temporary password is generated f…

数据库的安装过程

SQL Server 是 Microsoft 开发的一个关系数据库管理系统(RDBMS),现在是世界上最为常用的数,据库之一; SQL Server 是一个高度可扩展的产品,可以从一个单一的笔记本电脑上运行的任何东西或以高倍云服务器网络,或在两者之…

数据库入门——手把手教你安装数据库

1,网上搜索 SQL server 下载数据库 2,点击setup,安装--全新SQL server独立安装 3,勾选使用检查更新,点击下一步 4,默认选项不用管,直接点击下一步 5,点击下一步 6,选择接…

数据库——sql server安装教程

1.双击sql server 的setup.exe安装文件,进入【SQL Server 安装中心】 2.点击界面左侧的【安装】,然后点击右侧的【全新SQL Server 独立安装或向现有安装添加功能】 3.产品密钥,默认选择即可,直接下一步操作 4.勾选接受条款复选框 …

安装my sql数据库安装详细教程

安装my sql数据库安装详细教程 安装my sql数据库安装详细教程一、安装二、环境变量配置三、验证安装 安装my sql数据库安装详细教程 一、安装 1、双击打开上面我们下载好的安装包,进行如下所示操作: 2.这里我们需要将左侧我们需要安装的功能选择移到右…

数据库的安装

数据库的安装步骤详情 第一步:下载MySQL第二步:初始化第三步:配置文件第四步:安装服务第五步:启动服务第六步:登录MySQL第七步:修改密码第七步:删除服务 第一步:下载MySQ…

SQL Server数据库 - 安装教程

开发中个人没有使用过SQL Server,这次安装是因为公司新项目要使用Oracle数据库,而提供框架是使用SQL Server的,所以安装玩玩。 1,下载 第一步:官网下载安装包 网址:SQL Server 下载 | Microsoft 第二步…

SQL数据库的安装

初见数据库-安装SQL SQL数据库的安装第0章:环境搭建本章重点:1. MySQL 8.0 的安装1.1 windows 下 MySQL 8.0 的下载安装1.1.1 下载1.1.2 安装 1.2 Linux 下 MySQL 8.0 的下载安装1.2.1 安装步骤:1.2.2 MySQL 数据库设置1.2.3 设置远程连接: 2. 连接 MySQL 并执行 SQ…

mysql数据库下载及安装教程

目录 一、官网下载安装包二、开始安装三、检查是否安装成功 一、官网下载安装包 官网链接: https://dev.mysql.com/downloads/ 1、进入官网,点击下载 2、选择适合自己的下载方式,点击【download】 3、这里直接选择【NO,thanks…

数据库:如何安装SQL,手把手教你

如何安装SQL,手把手教你 我们只选择两个: SQLEXPR_x64_CHS.exe SQLManagementStudio_x64_CHS.exe 如果你是32位系统就选择x86的(9102年了,应该都是64位的了吧)选中后下载到你经常保存文件的地方即可(这个地…

Linux 安装Nginx详细图解教程

文章目录 概述:安装步骤:1. 安装依赖(安装过的跳过)2. 下载nginx安装包3. 解压nginx安装包4. 安装安装nginx5. 启动nginx服务6. 配置nginx.conf7. 防火墙开端口8. 浏览器输入 概述: nginx作为轻量http服务器&#xff…

centos8如何安装nginx

Nginx是一个web服务器也可以用来做负载均衡及反向代理使用,目前使用最多的就是负载均衡,这篇文章主要介绍了centos8 安装 nginx ,需要的朋友可以参考下 nginx是一种开源的高性能http和反向代理服务器,负责处理internet上一些最大站点的负载。…

Mac下安装Nginx

Mac下安装Nginx 当前环境 10.13 安装工具: homebrew(还没用过的小伙伴可以点链接进行了解或者自行百度) 安装步骤: 1、打开终端,习惯性命令: Bash brew update // 更新brew2、终端继续执行命令&a…

Linux安装Nginx

目录 安装包下载 1.安装Nginx 2.配置环境变量 3.开机启动配置 4.配置HTTPS 安装包下载 nginx: download 1.安装Nginx 1.1 安装依赖:压缩包一般放在/opt/software目录下,没有则创建 [rootlocalhost software]# yum -y install gcc zlib zlib-dev…

CentOS如何安装nginx

默认情况Centos7中无Nginx的源,最近发现Nginx官网提供了Centos的源地址。因此可以如下执行命令添加源: sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 2、安装Nginx 通过yum search ng…

ubuntu系统安装nginx

目录 一、安装nginx之前,安装一下工具 二、安装anginx 1.下载anginx 2.安装步骤 3.开放访问端口 4.测试 三、nginx重启错误解决: nginx: [alert] kill(8478, 1) failed (3: No such process) 1.查看nginx相关进程 2. 杀死nginx相关进程 3.重新指定配置环境 4.重启 n…

CentOS7安装Nginx详细步骤

1.首先,先去nginx官网下载压缩包:官网地址 2.然后把压缩包上传到我们CentOS7上。 上传完后接下来我们要安装一些依赖环境: 3.安装gcc环境(因为我们nginx底层其实是C语言开发的):yum install gcc-c 如果有弹出Is this ok这种提示…

Windows下安装Nginx

前言 Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔赛索耶夫为俄罗斯访问量第二的Rambler.ru 站 点(俄文:Рамблер)开发的    它也是一种轻量级的Web服务器&…

Linux安装nginx完整步骤

一、安装依赖(安装过的跳过) yum -y install gcc gcc-c automake pcre pcre-devel zlib zlib-devel openssl-devel二、下载nginx稳定版 方法一:在目标linux服务上执行 wget http://nginx.org/download/nginx-1.16.1.tar.gz 方法二&#xf…