测试设计有两类方法:黑箱(Black Box)和白箱(White Box)。这是每个接触过软件测试的人都会给出的答案,但这只是整个软件测试的入门知识。所谓黑箱/白箱,是指软件测试设计的方法,不是软件测试的方法!注意"设计"二字。
黑箱:指的是在设计测试的过程中,把软件系统当作一个"黑箱",无法了解或使用系统的内部结构及知识。一个更准确的说法是行为测试设计(Be-havioralTest Design),即从软件的行为,而不是从内部结构出发来设计测试。
白箱:指的是在设计测试的过程中,设计者可以"看到"软件系统的内部结构,并使用软件的内部结构和知识来选择测试数据及具体的测试方法。
"白箱"并不是一个精确的说法,因为把箱子涂成白色,同样也看不见箱子里的东西。有人建议用"玻璃箱"来表示。在实际工作中,我们不应画地为牢,严格只用某一种测试设计方法。我们对系统的了解当然是越多越好。所谓"灰箱"的提法,正反映了这一点。有些测试专家甚至希望我们忘记全部的"箱子"及其颜色。进一步说,我们并不是要禁止懂得程序内部结构的人员来进行黑箱测试设计,只不过是在设计时有意不考虑软件的内部结构。例如,在测试程序内部基本模块时(单元测试),通常要求由对程序结构非常了解的程序员来设计,这是因为内部模块的"行为"和程序的外部功能并没有直接的关系,而且对内部基本模块的"行为"通常没有明确的定义。另一个例子是软件的"易用性测试",在设计此类测试时,没必要纠缠于程序的内部结构,而是应着重于软件的界面和行为。但是软件易用性测试也需要很多专业知识。这也从一个侧面表明"黑箱"和"白箱"没有简单的难度高低之分。测试用例写出来之后,大家可以忘了它们是从哪种颜色的箱子里出来的,使用就行了。
问:有人说"黑箱",有人说"黑盒",到底是"箱子"还是"盒子"?
答:在网上搜索了一下,"黑箱测试"有超过100万个记录,"黑盒测试"只有70多万。所以"箱子"赢了。
问:但是我听小飞说他刚进公司实习时只能做"黑箱测试",这是什么意思?
小飞:我刚进公司实习的时候,两眼一摸黑,看到啥都是"黑箱",即使测试用例是由懂得程序结构的开发人员写出来的,我也还是只会机械地运行。我是知其然,不知其所以然,箱子当然是黑的。后来看得多了,学了一些东西,了解了程序的结构和算法,箱子的颜色就变浅了,好像能看到箱子里的东西一样。
按测试设计的方法分类
张小明
前端开发工程师
基于SpringBoot的茶文化推广网站的源码设计与文档
前言在茶文化传承与数字化传播需求下,传统茶文化推广存在 “内容形式单一、互动性弱、地域覆盖有限” 的痛点,基于 SpringBoot 构建的茶文化推广网站,适配茶文化爱好者、茶企、茶艺师、平台管理员等角色,实现茶文化内容展示、茶品…
Potree点云可视化:解决大规模三维数据展示难题的专业方案
Potree点云可视化:解决大规模三维数据展示难题的专业方案 【免费下载链接】potree WebGL point cloud viewer for large datasets 项目地址: https://gitcode.com/gh_mirrors/po/potree Potree是一款基于WebGL技术的免费开源点云渲染器,专门用于处…
革命性屏幕录制体验:QuickRecorder如何重塑macOS创作工作流
革命性屏幕录制体验:QuickRecorder如何重塑macOS创作工作流 【免费下载链接】QuickRecorder A lightweight screen recorder based on ScreenCapture Kit for macOS / 基于 ScreenCapture Kit 的轻量化多功能 macOS 录屏工具 项目地址: https://gitcode.com/GitHu…
Proteus电子仿真教学:新手入门必看指南
从零开始玩转Proteus:电子仿真入门实战全攻略你有没有过这样的经历?想做个单片机小项目,刚把电路焊好,通电一试——冒烟了。或者调试时发现LED不亮、串口没输出,手头又只有万用表,根本看不出时序问题出在哪…
基于Dify构建舆情分析系统的数据流设计
基于Dify构建舆情分析系统的数据流设计 在社交媒体信息爆炸的今天,一条负面评论可能在几小时内演变为品牌危机。企业对舆情响应速度和判断准确性的要求,已经从“天级”压缩到“分钟级”。传统的关键词匹配、规则引擎或简单分类模型,在面对语义…
掌握ADBKeyBoard:Android设备自动化输入的终极解决方案
ADBKeyBoard是一款基于ADB(Android Debug Bridge)的虚拟键盘输入工具,专门为Android自动化测试和设备控制场景设计。通过ADB命令实现远程键盘输入,大幅提升测试效率和设备管理能力。这款工具为开发者和测试人员提供了强大的自动化…