商学院
白盒测试、黑盒测试、灰盒测试的概念与区别
   
 
商书策管理咨询
  被约:0
实名认证
策马神州,商书策
  查看专辑《信息化知识》的全部文章  

一、白盒测试

白盒测试又称结构测试或逻辑驱动测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。

采用什么方法对软件进行测试呢?常用的软件测试方法有两大类:静态测试方法和动态测试方法。其中软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试;而软件的动态测试是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。在动态分析技术中,最重要的技术是路径和分支测试。下面要介绍的六种覆盖测试方法属于动态分析方法。

白盒测试的主要测试方法

白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异。

白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖


 二、黑盒测试

黑盒测试也称功能测试、数据驱动测试或基于规格说明书的测试。

它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。

黑盒测试的作用:

黑盒测试注重于测试软件的功能需求,主要试图发现下列几类错误

功能不正确或遗漏

界面错误

输入和输出错误

数据库访问错误

初始化和终止错误等

黑盒测试的主要测试方法

等价类划分法;边界值分析法;因果图法;场景法;正交实验设计法;判定表驱动分析法;错误推测法;功能图分析法。

黑盒测试的流程

1.测试计划

首先,根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,即制订黑盒测试的最高标准,以后所有的测试工作都将围绕着测试需求来进行,符合测试需求的应用程序即是合格的,反之即是不合格的;同时,还要适当选择测试内容,合理安排测试人员、测试时间及测试资源等。

2.测试设计与开发

将测试计划阶段制订的测试需求分解、细化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例(测试用例选择的好坏将直接影响到测试结果的有效性)。

3.测试执行

执行测试开发阶段建立的自动测试过程,并对所发现的缺陷进行跟踪管理。测试执行一般由单元测试、组合测试、集成测试、系统联调及回归测试等步骤组成,测试人员应本着科学负责的态度,一步一个脚印地进行测试。

4.测试评估

结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件的质量和开发团队的工作进度及工作效率进行综合评价。


三、灰盒测试

灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑,常常是通过一些表征性的现象、事件、标志来判断内部的运行状态。 

灰盒测试由方法和工具组成,这些方法和工具取材于应用程序的内部知识和与之交互的环境,能够用于黑盒测试以增强测试效率、错误发现和错误分析的效率。


四、三者的区别

从测试目标和依据来说:黑盒面对的是产品设计,白盒针对的是程序功能的实现,灰盒针对兼而有之,既要考虑产品设计要求,又考虑到功能实现的效果

从实现者而言:黑盒在意的是客户的角度,白盒测试针对的研发人员。

从测试模块颗粒度而言:白盒在意的是代码实现层面,而灰盒更加侧重模块之间,而黑盒更在于用户层面

注:文章整理自网络文件,如有侵权,请告知!


声明:该文及以下回复观点仅代表作者本人,五略商书系信息发布平台,仅提供信息存储空间服务。
转载请注明作者和出处:转自《五略商书》,作者商书策管理咨询!
0人评论,点击参与
  相关阅读
Windows 11隐藏资源管理
文件夹鼠标右键无反应的最简单解决
白盒测试、黑盒测试、灰盒测试的概
信息化发展趋势
信息化七大平台
约课
讲师
学院
发现
我的