白盒测试和黑盒测试的区别

article/2025/11/1 14:12:48

白盒测试和黑盒测试的区别白盒测试和黑盒测试都是计算机领域行业用以检查程序的状态,确定实际运行状态与预期状态是否一致的重要环节,来看看他们有什么不一样吧。

在这里插入图片描述
白盒测试技术 (White Box Testing) : 深入到代码一级的测试,使用这种技术发现问题最早,效果也是最好的。该技术主要的特征是测试对象进入了代码内部,根据开发人员对代码和对程序的熟悉程度,对有需要的部分进行在软件编码阶段,开发人员根据自己对代码的理解和接触所进行的软件测试叫做白盒测试。这一阶段测试以软件开发人员为主,在 JAVA 平台使用 Xunit 系列工具进行测试, Xunit 测试工具是类一级的测试工具对每一个类和该类的方法进行测试。

黑盒测试技术( Black Box Testing ):黑盒测试的内容主要有以下几个方面,但是主要还是功能部分。主要是覆盖全部的功能,可以结合兼容,性能测试等方面进行,根据软件需求,设计文档,模拟客户场景随系统进行实际的测试,这种测试技术是使用最多的测试技术涵盖了测试的方方面面,可以考虑以下方面:

1.正确性 (Correctness) :计算结果,命名等方面。

2.可用性 (Usability) :是否可以满足软件的需求说明。

3.边界条件 (Boundary Condition) :输入部分的边界值,就是使用一般书中说的等价类划分,试试最大最小和非法数据等。

4.性能 (Performance) : 正常使用的时间内系统完成一个任务需要的时间,多人同时使用的时候响应时间在可以接受范围内。 J2EE 技术实现的系统在性能方面更是需要照顾的,一般原则是 3 秒以下接受, 3-5 秒可以接受, 5 秒以上就影响易用性了。如果在测试过程中发现性能问题,修复起来是非常艰难的,因为这常常意味着程序的算法不好,结构不好,或者设计有问题。因此在产品开发的开始阶段,就要考虑到软件的性能问题。

5.压力测试(Stress) : 多用户情况可以考虑使用压力测试工具,建议将压力和性能测试结合起来进行。如果有负载平衡的话还要在服务器端打开监测工具 , 查看服务器 CPU使用率,内存占用情况,如果有必要可以模拟大量数据输入,对硬盘的影响等等信息。如果有必要的话必须进行性能优化( 软硬件都可以 ) 。这里的压力测试针对的是某几项功能。

6.错误恢复 (Error Recovery) :错误处理,页面数据验证,包括突然间断电,输入脏数据等。

7.安全性测试 (Security) :这个领域正在研究中,防火墙、补丁包、杀毒软件等的就不必说了,不过可以考虑。破坏性测试时任意看了一些资料后得知 , 这里面涉及到的知识、内容可以写本书了 , 不是一两句可以说清的,特别是一些商务网站,或者跟钱有关,或者和公司秘密有关的 web 更是需要这方面的测试,在外国有一种专门干这一行的人叫安全顾问,可以审核代码,提出安全建议,出现紧急事件时的处理办法等,在国内没有听说哪里有专门搞安全技术测试的内容。

8.兼容性(Compatibility) :不同浏览器,不同应用程序版本在实现功能时的表现不同的上网方式,如果你测试的是一个公共网站的话。

在北京,软件测试工程师的平均薪资高达16.4k,持续精进技术的话,更是可以达到50k!并且软件测试相关的薪资,即使是在疫情期间,也是年年上涨!
在这里插入图片描述

△ 截图来源职友集,如侵删

目前测试行业现状

软件越来越多,要靠质量取胜,就倒逼测试人员需求越来越大

使用软件产品的过程中,出现影响用户体验的问题,会大大减少用户的粘性和信心,给企业带来不可估量的损失。

通俗来说,软件测试,就是测试软件的过程,包括软件功能、易用性、性能、安全等质量维度的测试。

保障软件产品正式发布后的质量,提升用户对产品的体验和信心。

但软件给我们带来极大的便利的同时,也给人们带来各种各样的麻烦。有兴趣可以去搜一下软件业最著名的十大Bug,都是惊天动地。在我国,由于很多软件企业存在着“重开发、轻测试”的现象,造成日后软件产品质量问题频出。只要留心我们生活中的日常,就会发现软件bug导致的各种麻烦:比如红绿灯控制系统出bug,导致交通瘫痪;地铁控制系统出bug,导致人们上班迟到;关键时刻手机卡顿死机,导致很多正常的生活工作无法开展……

随着国内软件行业的深入发展,人们生活水平越来越高,这就导致人们对软件质量的要求也越来很高,这就倒逼软件企业要靠软件产品质量去占领市场,随之推动的就是企业对测试人员的需求越来越大。

测试人才缺口30万,最近两年薪资频频跳涨

与之相反,由于软件测试最近几年才引起重视,大学教育完全没有跟上,就算是培训机构,软件测试相关培训也是少之又少,软件测试人才严重短缺,导致很多企业只好退而求其次拿软件开发人员急用。据中华英才网显示,目前软件测试人才缺口在30万人以上。人才缺口必然导致的是薪资的跳涨。据职友集统计,软件测试人才在2015年和2017年这两年,行业薪资跳涨率分别达到了40%和33%。

当前自动化测试已成风口,人才奇缺

测试其实可以细分为很多种类。仅按照是否需要编程这个维度来分,可以分为手工测试,自动化测试,测试开发。目前测试领域存在突出矛盾:一方面企业需要技术层级稍高的测试人才,比如自动化测试,性能测试;另一方面却是目前测试从业人员因知识不成体系,只能从事简单的手工测试工作。所以自动化测试人才奇缺,只要掌握了一定的自动化测试技术,往往就会被市场争抢,当然也就能高薪资。

所以对于我们新人来说,首先选择了正确的行业,就要考虑如何坚持下去。做好自己的职业规划可能是我们想要在这个行业快速成长的重要事情。

天下程序员苦bug久矣!

而如今,程序员的这一天敌,终于也有了天敌——软件测试工程师。

但是坊间传闻,软件测试工程师每天的工作就是摸鱼?小编不信,要知道现在软件测试的工资可高了,老板们怎么会允许他们摸鱼呢?

下面来一波实地考察,看看软件测试工程师们到底是真摸鱼还是假摸鱼。

考察对象:小王,某互联网公司的一名新晋软件测试,虽然刚来公司不久,但是凭着超强的业务能力,已经提前转正了。在某次聊天中偶然得知,他的薪资18k。

当我来到小王工位时,他正在悠闲的喝着一杯带有茉莉清香的绿茶,时不时的还玩弄下最新入手的华为Mate Xs2(此处真的不是在打广告)。

工作时间这么悠闲还玩手机?被我抓了个正着吧,这回看他怎么说。

“啥,我们摸鱼?可别瞎说了,我们这是在靠技术工作,如果非要说,那也是我们的本事。不是我跟你吹,一般人还真摸不了这样的鱼。”

靠技术实现“摸鱼”自由的打工人?你要这么说,那我可就更感兴趣了。

“那你给我说说,你是怎么靠技术实现摸鱼的”

小王抿了一口手中的绿茶,悠闲的给我说起了他的日常工作……

“就拿今天来说吧,你看我是在喝茶玩手机,其实在这之前,我已经开了个会,把需求分析弄清楚了,然后根据这个制定了计划方案,搭建了测试环境……现在我正在进行自动化测试,就是让程序自动执行一些重复但必要测试工作。我在这喝茶的功夫就是等着检测出bug后和开发区沟通了。”

“原来如此,那看来你这真是靠技术‘摸鱼’”。

“那可不,自动化测试就是有这个好处,只要功夫学到家,想悠闲喝喝茶,蹲蹲坑的时间还是可以有的~”
……
所以,大家明白了吗?软件测试看似在悠闲喝茶的背后是得掌握技术。

据了解,现在企业为了软件的安全,还就得花着钱让软件测试工程师来公司摸鱼,还非自动化测试的人才不可!并且给出的薪水都非常高!
在这里插入图片描述

△ 截图来源Boss直聘,如侵删

但是如果想在工作时间“摸鱼”,还能拿到小王这样的高薪水,除了掌握自动化测试之外,还需要精通功能测试、接口测试、性能测试,这些都是现在软件测试工程师“吃饭”的本领

如果真的想入行软件测试,可以看看下面这个学习路线~

第一阶段 功能测试

学前导读:学习本阶段内容,可全流程功能测试解决方案、Web自动化测试解决方案、数据分离解决方案、自动化测试报告解决方案、日志收集解决方案。

1.2022全网首发、最适合新手的软件测入门到实战教程上线啦!

真正的从入门到精通,包含了基础+项目实战,所有案例实战操作均图文并茂,真正实现一套全通关!

软件测试2022最新视频教程,软件测试基础入门到项目实战(涵盖软件测试基础+黑马头条项目实战)

2.软件测试入门到精通

软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。本课程共5天,针对零基础小白录制。零基础入门的必学课。

软件测试从入门到精通_软件测试基础教程

3. Linux系统2天快速入门

本视频包含Linux操作系统介绍、Linux的常用命令、vi编辑器。学习掌握本阶段内容,可具备Linux项目搭建能力。

Linux系统操作教程2天快速入门linux项目搭建

4. 软件测试MySQL数据库知识精讲+项目实战

本视频包含数据安装,数据表操作、数据操作-增删改查、条件查询、排序、聚合函数、分组、分页、连接查询、自关联、子查询、子查询演练。学习本课程内容,可具备数据库校验能力;还可以快速、规范的掌握数据库增删改查操作。

软件测试工程师必备MySQL数据库,mysql系统精讲+课后练习

第二阶段 Python编程

学前导读:学习本阶段内容,可掌握Python语法, 具备编程能力; 能建立编程思维以及面向对象程序设计思想; 能掌握UnitTest框架管理测试用例。

10天玩转Python软件测试

学习本阶段内容,可掌握Python语法, 具备编程能力; 能建立编程思维以及面向对象程序设计思想; 能掌握UnitTest框架管理测试用例。

Python自动测试教程,python从基础到UnitTest框架管理测试用例

第三阶段 UI自动化

学前导读:ui自动化大体分为web自动化和App自动化,在自动化测试领域中占比很大,经常使用。

1. 软件测试web自动化测试精讲与实战

本课程将教会大家搭建Web自动化和移动自动化测试环境;掌握Web自动化测试流程和脚本编写;掌握移动自动化测试中元素的定位方法、元素操作和手势操作;熟练掌握ADB工具的使用; 掌握PO模式的设计思想,并能够对页面进行封装;掌握数据驱动的实现方式; 能够在实际项目灵活运用自动化的相关技术。

软件测试web自动化测试,Web自动化流程精讲和移动自动化测试环境

2.零基础入门移动自动化——Appium框架

本课程会详细讲解Appium框架,Appium是一个开源的、跨平台的自动化测试框架,该框架适用于Native Application、Mobile Web Application或Hybrid Application的自动化测试。

零基础入门移动自动化测试——Appium框架

3. 轻松教你使用Appium进行IOS真机自动化测试

本套课程,将环境安装的步骤和注意事项呈现给学员,模拟器到真机实操,都进行演示讲解。内容丰富,生动形象,学完即可完成IOS端环境安装及实操。

轻松教你使用Appium进行IOS真机自动化测试

第四阶段 接口自动化

学前导读:接口测试是所有自动化测试应用频率最高部分。此阶段共分成14个部分进行详讲。

接口测试精讲+传智健康实战教程

本教程会涉及HTTP,Postman,Pymysql,requests库,集成UnitTes,Dubbo等诸多工具,最后用传智健康项目进行本阶段项目实战。

4天玩转接口测试,接口重点全解析+传智健康项目实战(包含requests库,集成UnitTes,Dubbo等诸多工具)

第五阶段 性能测试

学前导读:性能测试属于高级测试范畴,对于薪资的提升帮助很大,本阶段视频讲解性能测试环境搭建,JMeter工具的使用,性能测试监控、分析和调优方法。

4天快速入门性能测试

本视频通过性能测试基础理论及JMeter工具的学习;通过轻商城项目实战,带学员掌握性能测试需求分析、性能测试计划、测试用例设计、测试脚本开发、性能监控、性能分析和调优、性能测试报告总结。

性能测试全套教程,4天快速入门性能测试+项目商城实战(含JMeter工具等)

第六阶段 综合项目强化

学前导读:通过微信小程序、金融项目两个实战项目综合强化功能测试、接口测试、性能测试。

1. 微信小程序自动化测试实战

本视频涵盖:微信小程序基础介绍、Ego微商项目介绍、Ego微商项目部署、Ego微商小程序计划篇、Ego微商小程序设计篇、Ego微商小程序执行总结篇、Ego微商小程序接口测试篇、持续集成。

软件测试微信小程序自动化测试实战

2. 软件测试4天搞定金融项目

本视频讲解金融项目功能测试解决方案、真实项目测试体验解决方案、复杂业务接口测试解决方案 接口加解密测试解决方案、数据分离解决方案 持续集成解决方案、自动化测试报告解决方案、高并发测试解决方案。

软件测试4天快速搞定金融项目功能测试实战教程


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

相关文章

测试用例设计方法——黑盒测试和白盒测试

目录 一、黑盒测试 1、什么是黑盒测试? 2、黑盒测试用例设计方法 ☆等价类划分 ☆边界值分析 二、白盒测试 1、什么是白盒测试? 2、白盒测试用例设计方法 三、灰盒测试 一条完整的测试用例应包括: 用例编号、项目名称、用例标题、优…

DNF游戏多开虚拟机,过TP过三方,过制裁,DNF虚拟机同步

DNF虚拟机游戏交流群:5448030(群内免费虚拟机使用) 虚拟机下载https://pan.baidu.com/s/169VvEyZ0zIGfrCjAUcRCjw 提取码: ruax

dnf游戏多开虚拟机,过检测过制裁,dnf同步

dnf虚拟机交流群372834206(群内安装虚拟机) **dnf虚拟机交流群372834206(群内安装虚拟机)

DNF源码2020-10-26

1.源码如图 2.源码链接 源码链接 3.编译和运行所需文件如下 4.其他问题请私信我 5.效果视频 百度网盘链接:https://pan.baidu.com/s/1qat846REsxwPxIIkmrHIgw 提取码:4em4

DNF脚本完整源码编辑可用

DNF脚本完整源码编辑可用 1.以下是源码相关截图,完整的,不缺东西,编辑可用 源码属于未开发完的,只有钢铁之臂和特伦斯可用 由于各种原因,此源码不再继续开发,后续会不断分享新的DNF源码 2. 3. 4. 5. …

Linux系统之dnf包管理器的基本使用

Linux系统之dnf包管理器的基本使用 一、dnf工具介绍1. dnf工具简介2. dnf的功能 二、DNF的安装1. 检查本地操作系统版本2. 安装epel3. 检查本地yum仓库状态4. 安装dnf包 三、dnf的使用帮助1. 查看dnf版本2. 查看dnf命令的帮助信息3. dnf命令的选项解释 四、dnf命令的基本使用1.…

游戏同步

早上在翻个人博客文件夹的时候,发现这篇18年10月30日写完的,再去翻了个人博客里,确实没发出来。随便把当时写的手稿也发上来。 游戏同步:帧同步和状态同步 帧同步:服务器负责转化客户端的操作,每个客户端在…

DNF端游服务器搭建流程

DNF端游服务器搭建流程 搭载工具:链接:搭载工具 提取码:oszp 第一步、购买云服务器 https://cloud.tencent.com/ 根据你的需求购买合适的配置,自己玩的话2核2G的就够用 买好服务器后,找到添加规则,将U…

Linux yum/dnf工具

yum/dnf工具 1、yum/dnf工具简介 yum工具(yellowdog update manager)基于RPM进行开发。最大的优势就是能够解决rpm包的依赖问题;yum能够自动解决软件安装时的依赖关系。有优势就有劣势;yum工具也有缺点,如果在未完成…

FME+YOLOV7写DNF自动刷图脚本

目录 前言 一、难点分析 二、实现流程 1.DNF窗口位置获取 2.获取训练数据 3.数据标注 4.数据格式转换 5.数据训练 5.刷图逻辑编写 前言 这是一篇不务正业的研究,首先说明,这不是外挂!这不是外挂!这不是外挂!这只是用a…

虚拟同步机

虚拟同步机是基于微网技术提出的一种电力电子技术,传统的电力电子发电设备多采用PQ控制,动态响应快,缺少类似同步电机的阻尼特性,从而引起电网波动等问题。故为了迎合电网特性,使得逆变器具有同步电机阻尼特性的技术&a…

DNF单机版搭建(局域网、外网)

【小白手册】DNF单机版搭建(局域网、外网) 前言单机版和局域网版教程外网搭建教程上传等级补丁上传版本文件登录器秘钥上传运行服务端(跑五国)登录游戏 前言 疫情居家隔离,闲着没事搞了一下单机版的搭建和朋友刷刷图&…

DNF游戏拆解(上)

DNF(地下城与勇士)是一款2D横版格斗游戏,由韩国游戏公司Neople开发,于2005年首次在韩国推出。游戏在全球范围内拥有庞大的玩家社区,其游戏玩法以挑战副本和战斗为主。玩家可选择不同的职业角色,并通过升级和…

DNF自动启停服务端备份数据

开发文档: 需求1:实现自动启停服务端,并判断是否成功。 需求2:停止服务端备份MYSQL数据,实现数据备份,为什么要停止服务端备份,因为热备份偶尔会出问题。 需求3:数据备份完成启动…

DNF台版云服务器搭建(非商用,可联机)

DNF台版云服务器搭建 该教程结合网上大佬的教程和自己搭建过程中遇到的问题所写 文章中出现的文件都将通过百度网盘分享,各个版本的pvf及其配套客户端需要自己寻找哦 百度网盘链接:链接:https://pan.baidu.com/s/14Az9oRvtQwWWoGv7SI0KIQ?pw…

简单的dnf增幅模拟器

简单的DNF增幅模拟器 package com.xxx;import java.util.Random;public class Equipmet {int level;int level_max;public Equipmet(){level_max0;level12;};public Equipmet(int level,int level_max){this.levellevel;this.level_maxlevel_max;};public boolean Strengthen…

脉冲同步器

verilog实现上面的电路: module pulse_syc( input sclk_1, input sclk_2, input p_in, output p_out, output p_out1 ); reg p_in_reg0; reg delay0,delay1,delay2; wire mux_2; assign mux_2(p_in1b1)?~p_in_reg:p_in_reg; a…

c语言答案系统,c语言练习和答案

广告 提供50多种云计算产品c语言入门经典 第5版 习题答案,包括云服务器和云. 创建一站式云产品试用服务,以帮助开发人员和企业以零门槛进入云环境. 有很多解决方法. 这只是参考. 这是一个非常经典的C编程语言输入问题. 可以通过刚才提到的循环嵌套来实现…

李含光《C语言程序设计教程》答案第六章

选择题 1-5 BBDDC 6-10 CCACD 11-15 CBCDA 16 C 填空题 常量(0或数组名),变量地址 指针(或地址常量) 2 12,12 a[0],a[3] 程序阅读题 3 6 abcdefglkjih 976531 5,9 将数组a中的元素值首尾交换并存储在数组中 string_a…

郭晓利c语言答案,急求:c语言编程答案!!!

满意答案 zuoyangood 2013.08.24 采纳率:48% 等级:12 已帮助:12544人 1、fun(char a[],int n) //a[]中为返回的字符串 { int i0,k0; while(n>0) { kk*10n%10; nn\10; } while(k>0) { a[i]k%100; kk\10; } return; } 2、 struct N{ i…