软件测试面试真题 | 黑盒测试和白盒测试的基本概念是什么?

news2025/7/11 7:29:37

在软件测试的面试中,什么是黑盒测试,什么是白盒测试是特别容易被问到的一个问题。

面试官问出这个问题,其实考察的是大家对于软件测试基础理论的掌握程度。下面来梳理一下这个问题的回答思路。

黑盒测试

黑盒测试会把被测的软件看作是一个黑盒子,测试时不去关心盒子里面的代码结构和逻辑是什么样子的,只需要关心盒子的输入数据和输出结果。

在这里插入图片描述

在黑盒测试当中,测试工程师会模拟用户的行为去使用产品,检查软件产品是否达到了用户的需求。

黑盒测试方法能够真实地从用户角度来考察被测系统的功能性需求实现情况。在软件测试的各个阶段,如单元测试、集成测试、系统测试及验收测试等阶段中,黑盒测试都发挥着重要作用。尤其在系统测试和验收测试中,它的作用是其他测试方法无法取代的。

比较常用的黑盒测试方法有等价类划分法、边界值分析法、因果图法、判定表法、场景法、正交法等等。

白盒测试

白盒测试也把被测的软件看作是一个盒子,但是需要考虑盒子的内部结构和逻辑。所以根据待测产品的内部实现细节来去设计测试用例的方法称为白盒测试。

白盒测试是可以看到内部代码如何运作的,可通过测试来检测产品内部是否符合规定正常运行。

在这里插入图片描述

它执行手段其实是不限的。既可以使用静态测试的方式,比如代码审查,代码扫描工具等等。也可以使用动态测试的方式,比如语句覆盖、判断覆盖、条件覆盖、路径覆盖等等。

总结

1、总结来说,黑盒测试和白盒测试都是测试设计的方法。

2、黑盒测试一般用来确认软件功能的正确性和可操作性,目的是检测软件的各个功能是否能得以实现。它把被测试的程序当作一个黑盒子,不考虑其内部结构,在知道该程序的输入和输出之间的关系或程序功能的情况下,依靠软件规格说明书来确定测试用例和推断测试结果的正确性。

3、白盒测试需要根据软件内部的逻辑结构分析来进行测试,是基于代码的测试。把被测程序当作盒子的话,它需要考虑盒子的内部结构和逻辑。测试人员通过阅读程序代码或者通过编写测试代码的方式来判断软件的质量。

4、两种测试方法分别适用与不同的测试场景。黑盒测试更多使用在系统测试和验收测试中。而白盒测试则是针对代码本身的测试,所以更多用在单元测试或者集成测试中。

如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以加入我们的QQ群:746506216,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。


资源分享

下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

只会加班的项目经理,迟早被淘汰

早上好,我是老原。 最近看到一个文章的标题「废掉一个人最好的方式,就是让他忙到没时间学习」,具体内容是什么我还没有细读,只看完标题,有一丝心酸和自豪: 有那么一群人,在玻璃渣里找糖吃&…

皮带跑偏检测系统

皮带跑偏检测系统对皮带运行状态进行全天候实时监测,一旦皮带跑偏检测系统监测到现场皮带跑偏、撕裂、堆煤、异物等异常情况时,系统马上开展警报,通知后台,并提醒相关人员及时处置。皮带跑偏检测系统并把警报截屏和视频储存到数据…

附参考文献丨艾美捷Cholesterol胆固醇说明书

Cholesterol胆固醇以固体形式提供。可以通过将胆固醇溶解在所选择的溶剂中来制备储备溶液,该溶剂应使用惰性气体吹扫。胆固醇以约30mg/ml的浓度溶于有机溶剂氯-仿中。 艾美捷Cholesterol胆固醇参数: CAS号:57-88-5 正式名称:&am…

自动驾驶入门:预测

目录 概念 预测方式 障碍物预测 递归神经网络在预测中的应用 轨迹生成 概念 无人车是在许多物体间穿梭行驶,其中许多物体本身就是一直在移动的,比如像其他汽车、自行车、行人。无人车需要预测这些物体的行为,这样才能确保做出最佳决策。…

工作中对InheritableThreadLocal使用的思考

最近在工作中结合线程池使用 InheritableThreadLocal 出现了获取线程变量“错误”的问题,看了相关的文档和源码后在此记录。 1. 先说结论 InheritableThreadLocal 只有在父线程创建子线程时,在子线程中才能获取到父线程中的线程变量;当配合…

coding持续集成

先看看官网的一些操作提示 1、创建SSH密钥对 2、创建制品仓库 看完官网的介绍,持续集成需要提前准备好SSH凭证和制品仓库,下面将让我们动手开始吧 一、创建SSH密钥对 登录服务器控制台,创建 SSH 密钥对。获取私钥对后将其录入至 CODING 中…

Netty源码阅读(2)之——服务端源码梗概

上文我们把客户端源码梗概大致了解了一下,这样再了解服务端源码就轻松一点,我们将从服务端和客户端的区别着手去解析。 目录 区别 ④ ③ ① ⑤ 区别 ④ 客户端:.option(ChannelOption.TCP_NODELAY, true) 在TCP/IP协议中,无论…

贪心算法小结

A-金银岛 某天KID利用飞行器飞到了一个金银岛上,上面有许多珍贵的金属,KID虽然更喜欢各种宝石的艺术品,可是也不拒绝这样珍贵的金属。但是他只带着一个口袋,口袋至多只能装重量为w的物品。岛上金属有s个种类, 每种金属重量不同&am…

ffmpeg视频编解码 demo初探(一)(包含下载指定windows版本ffmpeg)分离视频文件中的视频流每一帧YUV图片

参考文章1:YUV数据流编码成H264 参考文章2:【FFmpeg编码实战】(1)将YUV420P图片集编码成H264视频文件 文章目录第一个项目:分离视频文件中的视频流每一张图片弯路步入正轨下载官方编译的ffmpeg4.3(win64-g…

SpringFramework:SpringBean的生命周期

SpringFramework:SpringBean的生命周期 文章目录SpringFramework:SpringBean的生命周期一、SpringBean的生命周期1. 实例化 Bean2. 填充属性(DI)3. 初始化4. 销毁二、BeanDefinition1. 基本概念2. 大致结构3. Spring 构建它的优势…

深度学习必备Python基础知识充电2

一、python中的类 1.1 python中是有内置的数据类型的 intstr 1.2 创建新的数据类型 自定义类来实现这样的功能 二、年轻人的第一个python类 2.1 来尝试一下 # 年轻人的第一个自定义python类class Man:def __init__(self, name):self.name nameprint(initialized Succes…

【优雅的参数验证@Validated】@Validated参数校验的使用及注解详解——你还在用if做条件验证?

Validated参数校验的使用及注解详解你还在用if做条件验证吗?一、优雅的参数验证Validated1.Valid和Validated的用法(区别)2.引入并使用Validated参数验证二、javax.validation.constraints下参数条件注解详解三、自定义条件注解你还在用if做条件验证吗? …

【云原生之K8s】 Pod控制器

文章目录一、Pod控制器及其功用二、控制器的类型1.Deployment2.StatefulSet2.1 StatefulSet的组成2.2 常规service和无头服务区别2.3 示例小结3.DaemonSet4.Job5.CronJob一、Pod控制器及其功用 Pod控制器,又称之为工作负载(workload)&#x…

【毕业设计】机器视觉火车票识别系统 - python 深度学习

文章目录0 前言1 课题意义1.1 课题难点:2 实现方法2.1 图像预处理2.2 字符分割2.3 字符识别2.3.1 部分实现代码3 实现效果4 最后0 前言 🔥 Hi,大家好,这里是丹成学长的毕设系列文章! 🔥 对毕设有任何疑问…

疑似大厂泄露!阿里内部Redis教程笔记,细节点满/效率翻倍

Redis是一个key-value存储系统,是当下互联网公司广泛采用的NoSQL数据库之一,也是Java程序员应知应会的必备技术。 这套笔记教程采用Redis 6.2.1版本,内容由浅入深,循序渐进,从Redis的基本概念开启讲解,内容…

React核心技术浅析

1. JSX与虚拟DOM 我们从React官方文档开头最基本的一段Hello World代码入手: ReactDOM.render(<h1>Hello, world!</h1>,document.getElementById(root) );这段代码的意思是通过 ReactDOM.render() 方法将 h1 包裹的JSX元素渲染到id为“root”的HTML元素上. 除了在…

NVIDIA Grace Hopper架构深度解析

NVIDIA Grace Hopper架构深度解析 NVIDIA Grace Hopper Superchip 架构是第一个真正的异构加速平台&#xff0c;适用于高性能计算 (HPC) 和 AI 工作负载。 它利用 GPU 和 CPU 的优势加速应用程序&#xff0c;同时提供迄今为止最简单、最高效的分布式异构编程模型。 科学家和工程…

Python~Pandas 小白避坑之常用笔记

Python~Pandas 小白避坑之常用笔记 提示&#xff1a;该文章仅适合小白同学&#xff0c;如有错误的地方欢迎大佬在评论处赐教 文章目录Python~Pandas 小白避坑之常用笔记前言一、pandas安装二、数据读取1.读取xlsx文件2.读取csv文件三、重复值、缺失值、异常值处理、按行、按列剔…

pytest allure 生成报告过程

allure 下载地址&#xff1a;Releases allure-framework/allure2 GitHub 下载好后配置环境变量执行&#xff1a; allure --version 看见版本号就算配置成功了 pytest allure 生成报告过程 allure添加测试类名&#xff0c;方法名&#xff0c;步骤&#xff1a; allure.fea…

【附源码】计算机毕业设计JAVA教学成果管理平台录像演示

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; Springboot mybatis Maven Vue 等等组成&#xff0c;B/…