1. 黑盒测试

news2024/12/23 16:18:49

黑盒测试

在这里插入图片描述

1. 黑盒测试定义

黑盒测试是一种软件测试技术,它可以检查软件的功能,而不会窥视其内部结构或编码。黑盒测试的主要来源是客户声明的要求规范。

黑盒测试的特点

  • 黑盒测试与软件的具体实现过程无关,如果实现过程发生了变化,测试用例与数据仍然可以正常使用。
  • 黑盒测试的测试用例设计可以与软件的开发工作同时进行,可以压缩项目的总开发时间。

在此方法中,测试人员选择一个函数并提供输入值以检查它的功能,并检查该函数是否给出了预期的输出。如果函数产生正确的输出,则在测试中传递,否则测试失败。测试团队将结果报告给开发团队,然后测试下一个功能。如果出现严重问题,在完成所有功能的测试后,会将测试结果返回给开发团队进行更正。

image-20240713164034636

黑盒测试的测试过程是测试人员对软件工作有特定知识的一种过程,它开发测试用例以检查软件功能的准确性。

它不需要软件的编程知识。所有测试用例都是通过考虑特定函数的输入和输出来设计的。测试人员知道特定输入的确定输出,但不知道结果是如何产生的。黑盒测试中使用各种技术进行测试,如决策表技术,边界值分析技术,状态转换,全对测试,因果图技术,等价划分技术,错误猜测技术,用例技术和用户故事技术。所有这些技术都已在本教程中详细解释。

以下是黑盒测试使用的技术

编号技术描述说明
1决策表技术决策表技术是一种系统方法,以表形式捕获各种输入组合及其各自的系统行为。它适用于在两个和两个以上输入之间具有逻辑关系的函数。
2边界值问题技术边界值技术用于测试边界值,边界值是包含变量上限和下限的边界值。它在输入边界值时测试软件是否产生正确的输出。
3状态转换技术状态转换技术用于在向同一功能提供不同的输入值时捕获软件应用程序的行为。它适用于那些提供访问应用程序的特定尝试次数的应用程序类型。
4成对测试技术成对测试技术用于测试所有可能的离散值组合。这种组合方法用于测试使用复选框输入,单选按钮输入,列表框,文本框等的应用程序。
5因果技术因果技术强调了给定结果与影响结果的所有因素之间的关系。它基于一系列要求。
6等价类划分技术等价类划分是一种软件测试技术,其输入数据被划分为有效值和无效值的分区,并且所有分区必须表现出相同的行为。
7错误猜测技术错误猜测是一种没有用于识别错误的特定方法的技术。它基于测试分析师的经验,测试人员使用该经验来猜测软件的有问题区域。
8用例技术用例技术用于根据系统的使用情况从系统的开头到结尾识别测试用例。通过使用这种技术,测试团队创建了一个测试场景,可以从头到尾根据每个功能的功能运行整个软件。

2. 决策表技术

决策表技术是用于黑盒测试的广泛使用的用例设计技术之一。这是一种系统方法,它以表格形式捕获各种输入组合及其各自的系统行为。

它也称为因果表。该技术用于系统地选择测试用例; 它节省了测试时间,并为软件应用程序的测试区域提供了良好的覆盖。

决策表技术适用于在两个和两个以上输入之间具有逻辑关系的函数。

该技术与输入的正确组合有关,并确定各种输入组合的结果。要通过决策表技术设计测试用例,需要将条件视为输入,将操作视为输出。

案例:

邮箱登陆,输入邮箱号与密码

如果电子邮件和密码都正确匹配,则将用户定向到电子邮件帐户的主页; 否则,它将返回登录页面,并显示错误消息“电子邮件不正确”或“密码不正确”。

条件1条件2结果
邮箱号正确密码正确成功登陆
邮箱号不正确密码正确提示邮箱号错误
邮箱号正确密码不正确提示密码错误
邮箱号不正确密码不正确提示密码或邮箱号错误

3. 边界值分析

边界值分析是广泛使用的黑盒测试用例设计技术之一。它用于测试边界值,因为边界附近的输入值具有较高的误差机会。

每当我们通过边界值分析进行测试时,测试人员会在输入边界值时关注软件是否产生正确的输出。

边界值是包含变量上限和下限的值。假设age是任何函数的变量,其最小值为18,最大值为30,18和30都将被视为边界值。

边界值分析的基本假设是,使用边界值创建的测试用例最有可能导致错误。

使用边界值划分法的步骤

  1. 如果软件需求中对输入数据规定了范围,则在实施测试时应当选择范围的边界 [1]略微超出边界 [2]略微低于边界 [3] 的三种值作为软件测试的输入数据。
    • 示例:待测试软件为一个可以计算 0 - 100 之间的两整数相加结果的计算器。当使用边界值划分法进行测试时,可以选择 0、100、1、101、-1、99 作为加数的主要测试输入数据,而不必测试例如 “30 + 45” 一类的结果。
  2. 如果软件需求中对输入数据规定了个数,则在实施测试时应当选择最大个数 [1]最小个数 [2]最大个数 +1 [3]、最小个数 -1 [4] 的四种值作为软件测试的输入数据。
    • 示例:待测试软件为一个可以计算 4 - 7 个数字相加结果的计算器。当使用边界值划分法进行测试时,可以选择 4 个、7 个、3 个、8 个数字作为加数个数的主要测试输入数据,而不必测试例如 “5 个数字” 或 “6 个数字” 相加时的结果。
  3. 如果软件需求中指出输入域或输出域是有序集合的话,则在实施测试时应当选择集合中的第一个与最后一个元素作为测试用例。如果软件中使用了内部数据结构的话,则应当选择内部数据结构的边界上的值作为测试用例。

边界值数据的总体选择原则:刚刚等于、刚刚大于、刚刚小于

4. 状态转化技术

状态转换的一般含义是,相同情况的不同形式,并且根据含义,状态转换方法也是如此。当不同的输入值赋予相同的函数时,它用于捕获软件应用程序的行为。 我们都使用过自动取款机,当从中取款时,它会显示帐户详细信息。现在再次进行另一次交易,然后再次显示帐户详细信息,但第二次交易后显示的详细信息与第一次交易不同,但两个详细信息都使用ATM的相同功能显示。所以这里使用了相同的函数,但每次输出不同时,这称为状态转换。在测试软件应用程序的情况下,此方法测试函数是否遵循进入不同输入的状态转换规范。 这适用于那些提供访问应用程序的特定尝试次数的应用程序类型,例如:在指定次数的错误尝试后会锁定应用程序的登录功能。在使用电子邮件和密码的登录功能中,它提供了特定次数的尝试来访问应用程序,在超过最大尝试次数后,它会锁定然后显示错误消息。

应用程序的登录功能提供最多三次尝试,并且在超过三次尝试之后,它将定向到错误页面。

5. 成对测试技术

成对测试技术也称为配对测试。它用于测试所有可能的离散值组合。这种组合方法用于测试使用复选框输入,单选按钮输入的应用程序(当必须选择一个选项时使用单选按钮,例如当选择性别男性或女性时,只能选择一个选项),列表框 ,文本框等

6. 因果测试技术

因果图来自黑盒测试技术,该技术强调了给定结果与影响结果的所有因素之间的关系。它用于编写动态测试用例。

当代码根据用户输入动态运行时,将使用动态测试用例。例如,在使用电子邮件帐户时,在输入有效的电子邮件时,系统会接受它,但是当您输入无效的电子邮件时,它会抛出错误消息。在这种技术中,输入条件被赋予原因,并且这些输入条件的结果具有效果。

因果图技术基于一系列需求,用于确定可覆盖软件最大测试区域的最小可能测试用例。

因果图测试的主要优点是,它减少了测试执行的时间和成本。

该技术旨在减少测试用例的数量,但仍覆盖所有必要的测试用例,覆盖范围最大,以达到所需的应用程序质量。

因果图技术通过使用AND,OR和NOT等逻辑运算符将需求规范转换为输入和输出条件之间的逻辑关系。

7.等价类法

等价类划分法:指的是依据软件需求对测试输入数据的范围进行细分,然后在每个细分区域中选取一个有代表性的测试数据,以此测试数据来开展测试工作。

等价类划分法摒弃了工作量繁重的穷举测试法,将测试输入数据进行合理的分类,形成对应的有代表性的测试用例,以此来减轻软件测试的工作量。

等价类分为以下两种:等价类 = 有效等价类 + 无效等价类

  1. 有效等价类符合需求说明的合理软件测试输入数据的集合。
  2. 无效等价类不符合需求说明的无意义软件测试输入数据的集合。

使用等价类划分法的步骤

  1. 依据常用方法来为软件的测试输入数据划分等价类
  2. 为列表中的每一个等价类规定唯一的编号
  3. 设计一个新的软件测试用例,使其可以覆盖尽可能多的尚未被覆盖的有效等价类
  4. 重复步骤 3,直至所有的有效等价类全部被测试用例覆盖
  5. 设计一个新的软件测试用例,使其仅覆盖一个尚未被覆盖的无效等价类
    覆盖尽可能多的尚未被覆盖的有效等价类
  6. 重复步骤 3,直至所有的有效等价类全部被测试用例覆盖
  7. 设计一个新的软件测试用例,使其仅覆盖一个尚未被覆盖的无效等价类
  8. 重复步骤 5,直至所有的无效等价类全部被测试用例覆盖

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1928100.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NetSuite RPA技术实践

近期有同学提出一个需求。 “需要存取的報表是存貨分類帳(stock ledger),將查到的各個[Item|Location]作為一組key,分別將報表中的「期末庫存量」「期末平均成本」「期末庫存量價值」這三欄的值,在每個月月底的時候自動將這個報表的這三欄數…

毕设项目springboot+vue实现的在线求职平台

一、前言 随着信息技术的飞速发展和互联网的普及,线上求职已成为众多求职者和企业招聘的重要渠道。为满足市场需求,我们利用Spring Boot和Vue技术栈,开发了一款功能全面、用户友好的在线求职平台。本文将对该平台的设计、实现及关键技术进行详…

轻量级CRM系统精选:10款免费在线工具

本文将分享10款国内外免费轻量级在线CRM系统管理工具:八百客CRM、用友CRM、金蝶CRM、浪潮CRM、简信CRM、Agile CRM、Capsule CRM、EngageBay、SuiteCRM、Insightly。 在选择CRM系统时,中小企业常常面临预算有限、功能需求多样的困境。许多企业希望找到一…

Ubuntu新系统的使用

1.安装显卡驱动 直接到软件与更新里面,就是一个A字图标的那个软件打开,到附加驱动里选择。要选择“server driver”的,选择后确认即可。 然后输入:nvidia-sim查看 别的方法太复杂,这个方法我亲测了两台电脑&#xff…

《SpringCloud》系列文章目录

Spring Cloud为开发人员提供了工具,可以快速构建分布式系统中的一些常见模式(例如配置管理、服务发现、断路器、智能路由、微代理、控制总线、短期微服务和合约测试)。使用Spring Cloud开发人员可以快速建立实现这些模式的服务和应用程序。它…

昇思25天学习打卡营第10天|NLP-RNN实现情感分类

打卡 目录 打卡 任务说明 流程 数据准备与加载 加载预训练词向量(分词) 数据集预处理 模型构建 Embedding RNN(循环神经网络) LSTM 全连接层 损失函数与优化器 训练逻辑 评估指标和逻辑 模型训练与保存 模型加载与测试 自定义输入测试 …

leetcode算法题(反转链表)

思路1: 创建新的链表,遍历原链表,将原链表的节点进行头插到新链表中。 struct ListNode* reverseList(struct ListNode* head) {struct ListNode* next NULL;struct ListNode* new_head NULL;if (head NULL ||head->next NULL) // 空…

医院云HIS系统,以数字化形式提供医疗卫生行业的数据收集、存储、传递和处理服务

医院云HIS系统是一个运用云计算、大数据、物联网等新兴信息技术的业务和技术平台,旨在按照现代医疗卫生管理要求,以数字化形式提供医疗卫生行业的数据收集、存储、传递和处理服务。 具体来说,医院云HIS系统具有以下几个方面的特点和功能&…

MySQL事务隔离级别+共享锁,排他锁,乐观锁,悲观锁

在操作数据库的时候,可能会由于并发问题而引起的数据的不一致性(数据冲突)。 MySQL事务隔离级别 一个事务的执行,本质上就是一条工作线程在执行,当出现多个事务同时执行时,这种情况则被称之为并发事务&am…

node 如何运行typescript

文章目录 node 如何运行typescript手工编译 TypeScript 然后运行 JavaScript使用 ts-node创建一个typescript node项目tsconfig.json node 如何运行typescript 在 Node.js 中运行 TypeScript 代码有几种常见的方法,以下是其中几种。 手工编译 TypeScript 然后运行 JavaScript…

Docker---最详细的服务部署案例

提供python服务的docker一键部署,示例已配置负载均衡,不需要的在nginx.conf和docker-compose注释相关代码即可 文件结构 1、dockerfile # 服务的dockerfile# 服务依赖的镜像 FROM python:3.7# 设置容器内服务的工作目录 WORKDIR /app# 复制当前文件夹所…

数据库-三范式

第一范式 1 数据库所有字段都只有单一属性。 2 单一属性由基本数据类型构成。 3 数据库的表都是二维的行与列。 例如上面的例子就不满足第一范式,因为是可以继续拆分的,拆分为更多的属性。 第二范式 1 符合第一范式 2 表必须有个主建 3 其它字段可以…

企业网络运维-给华为交换机配置sftp,浏览交换机文件并下载上传

文章目录 需求实验开户stelnet权限已完成stelnet账号下的sftp配置使用xshell-sftp访问 需求 浏览交换机文件并下载上传 实验 开户stelnet权限 参考https://blog.csdn.net/xzzteach/article/details/140419150 已完成stelnet账号下的sftp配置 服务类型all包括stelnet和sf…

SadTalker数字人服务器部署

一、单独SadTalker部署 git clone https://github.com/OpenTalker/SadTalker.gitcd SadTalker conda create -n sadtalker python3.8conda activate sadtalkerpip install torch1.12.1cu113 torchvision0.13.1cu113 torchaudio0.12.1 --extra-index-url https://download.pyto…

NSSCTF中24网安培训day2中web题目

[SWPUCTF 2021 新生赛]ez_unserialize 这道题目考察php反序列化的知识点 打开题目,发现没有提示,我们试着用御剑扫描目录文件,发现存在robots.txt的文件 接着访问这个文件,发现是一段php反序列化代码,我们需要进行序…

[Windows] 油.管视频下载神器 Gihosoft TubeGet Pro v9.3.88

描述 对于经常在互联网上进行操作的学生,白领等! 一款好用的软件总是能得心应手,事半功倍。 今天给大家带了一款高科技软件 管视频下载神器 无需额外付费,永久免费! 亲测可运行!! 内容 目前主…

【B树、B-树、B+树】

目录 一、B-树(即B树)的定义及操作1.1、定义1.2、操作1.2.1、查找1.2.2、插入1.2.3、删除 二、B树的定义及操作2.1、定义2.2、操作2.2.1、查找2.2.2、插入2.2.3、删除 一、B-树(即B树)的定义及操作 1.1、定义 B-tree即B树&#…

jmeter-beanshell学习10-字符串补齐位数

每天都遇到新问题,今天又一个场景,一个字符串,如果不足11位,则左边补0,补够11位。 先要获取字符串长度,然后计算差多少位,补齐。今天又发现一个Object类型,这个类型有点厉害&#x…

uniapp启动图延时效果,启动图的配置

今天阐述uniapp开发中给启动图做延迟效果,不然启动图太快了,一闪就过去了; 一:修改配置文件:manifest.json "app-plus" : {"splashscreen" : {"alwaysShowBeforeRender" : false,"…

dhtmlx-gantt甘特图数据展示

官网文档&#xff1a;甘特图文档 实现效果&#xff1a; 首先需要下载 dhtmlx-gantt组件 npm i dhtmlx-gantt //我项目中使用的是"dhtmlx-gantt": "^8.0.6" 这个版本&#xff0c;不同的版本api或是文档中存在的方法稍有差异 界面引用 <template>&l…