2024年4月16日发(作者:)
黑盒测试与白盒测试的区别
黑盒测试
黑盒测试注重于测试软件的功能性需求,也即黑盒测试使软件工程师派生出执行程序所有功
能需求的输入条件。黑盒测试并不是白盒测试的替代品,而是用于辅助白盒测试发现其他类
型的错误。黑盒测试试图发现以下类型的错误:
1 )功能错误或遗漏;
2 )界面错误;
3 )数据结构或外部数据库访问错误;
4 )性能错误;
5 )初始化和终止错误。
白盒测试在测试的早期采用,而黑盒测试主要用于测试的后期。黑盒测试故意不考虑控制结
构,而是注意信息域。黑盒测试用于回答以下问题:
1 )如何测试功能的有效性?
2 )何种类型的输入会产生好的测试用例?
3 )系统是否对特定的输入值尤其敏感?
4 )如何分隔数据类的边界?
5 )系统能够承受何种数据率和数据量?
6 )特定类型的数据组合会对系统产生何种影响?
运用黑盒测试方法,可以导出满足以下标准的测试用例集:
1 )所设计的测试用例能够减少达到合理测试所需的附加测试用例数;
2 )所设计的测试用例能够告知某些类型错误的存在或不存在,而不是仅仅与特定测试相关
的错误。
黑盒测试
一. 黑盒测试概述
1.定义
1)也称功能测试,它是通过测试来检测每个功能是否都能正常使用
2)把程序看成一个黑盒子,完全不考虑程序内部结构和内部特性,着眼于程序外部结
构,不考虑内部逻辑结构
3)在程序接口进行测试,只检查程序功能是否按照需求说明书的规定正常使用,程序
是否能适当地接收输入数据而产生正确的输出信息
4)主要针对软件界面和软件功能进行测试
2.试图发现的错误类型
1)功能不正确或遗漏
2)界面错误(输入能否正确的接收?能否输出正确的结果)
3)数据库访问错误(如数据结构定义错误或外部信息(如数据文件)访问错误)
4)性能错误
5)初始化和终止错误
3.黑盒测试用例设计方法
(1) 等价类划分法:把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性
数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类的其他值
(2) 边界值分析法:通过选择等价类边界的测试用例。不仅重视输入条件边界,而且也必
须考虑输出域边界
(3) 错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地
设计测试用例的方法
(4) 因果图法:从用自然语言书写的程序规格说明的描述中找出因(输入条件)和果(输
入或程序状态的改变),可以通过因果图转换成判定表
(5) 判定表驱动法:利用判定表进行测试用例的设计
(6) 正交试验设计法:使用已设计好的正交表格来安排试验,并进行数据分析的一种方法,
目的是用最少的测试用例达到最高的测试覆盖率
(7) 功能图法:用功能图形象地表示程序的功能说明,并机械地生成功能图的测试用例。
功能图模型由状态迁移图和逻辑功能模型构成
白盒测试
Rex Black
白盒测试,也称为结构化测试、基于代码的测试,是一种测试用例设计方法,它从程序
的控制结构导出测试用例。
用白盒测试产生的测试用例能够:
1 )保证一个模块中的所有独立路径至少被使用一次;
2 )对所有逻辑值均需测试 true 和 false ;
3 )在上下边界及可操作范围内运行所有循环;
4 )检查内部数据结构以确保其有效性。
我们应该更注重于保证程序需求的实现,为什么要花费时间和精力来担心(和测试)逻
辑细节? 答案在于软件自身的缺陷:
1 、逻辑错误和不正确假设与一条程序路径被运行的可能性成反比。当我们设计和实现主流
之外的功能、条件或控制时,错误往往开始出现在我们工作中。日常处理往往被很好地了解,
而特殊情况的处理则难于发现。
2 、我们经常相信某逻辑路径不可能被执行,而事实上,它可能在正常的基础上被执行。程
序的逻辑流有时是违反直觉的,这意味着我们关于控制流和数据流的一些无意识的假设可能
导致设计错误,只有路径测试才能发现这些错误。
3 、笔误是随机的。当一个程序被翻译为程序设计语言源代码时,有可能产生某些笔误,很
多将被语法检查机制发现,但是,其他的会在测试开始时才会被发现。笔误出现在主流上和
不明显的逻辑路径上的机率是一样的。
正如 Beizer 所说的: 错误潜伏在角落里,聚集在边界上,而白盒测试更可能发现它。
一.白盒测试概述
1. 定义
也称结构测试或逻辑驱动测试,按照程序内部的结构对程序进行测试,通过测试来检查产品
内部动作是否按照设计规格说明书的规定正常进行,检查程序中的每条通路是否能按照预定
要求正确工作
2. 测试内容
把测试对象看成是一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择
测试用例,对程序的所有逻辑路径进行测试,通过不同点检查程序的状态,确定实际的状态
与预期的状态一致
3. 测试基本技术
(1)词法分析与语法分析 (2)静态错误分析 (3)程序插桩技术
4. 测试方法
(1)代码检查法 (2)静态结构分析法 (3)静态质量度量法 (4)逻辑覆盖法 (5)基
本路径测试法 (6)域测试 (7)符号测试 (8)Z路径覆盖 (8) 程序变异
5.黑盒测试与白盒测试
黑盒测试 白盒测试


发布评论