黑盒、白盒、灰盒测试
点击查看代码
白盒测试:
白盒测试也称为结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试。
它根据程序的控制结构设计测试用例,主要用于软件或程序验证。白盒测试法检查程序内部
逻辑结构,对所有的逻辑路径进行测试,是一种穷举路径的测试方法,但即使每条路径都测
试过了,但仍然有可能存在错误。因为:穷举路径测试无法检查出程序本身是否违反了设计
规范,即程序是否是一个错误的程序;穷举路径测试不可能检查出程序因为遗漏路径而出错;
穷举路径测试发现不了一些与数据相关的错误。
白盒测试需要遵循的原则有:
1. 保证一个模块中的所有独立路径至少被测试一次;
2. 所有逻辑值均需要测试真(true)和假(false);两种情况;
3. 检查程序的内部数据结构,保证其结构的有效性;
4. 在上下边界及可操作范围内运行所有循环。
白盒测试方法有:
静态测试、动态测试、单元测试、代码检查、同行评审、技术评审
黑盒测试:
黑盒测试又称为功能测试、数据驱动测试或基于规格说明书的测试,是一种从用户观点
出发的测试。测试人员一般把被测程序当作一个黑盒子。
黑盒测试主要测到的错误类型有:不正确或遗漏的功能;接口、界面错误;性能错误;
数据结构或外部数据访问错误;初始化或终止条件错误等等。
常用的黑盒测试方法有:等价类划分法;边界值分析法;因果图法;场景法;正交实验
设计法;判定表驱动分析法;错误推测法;功能图分析法。
两者之间的区别:
黑盒测试着重测试软件功能
黑盒测试并不能取代白盒测试,它是与白盒测试互补的测试方法,它很可能发现白盒测
试不易发现的其他类型错误。
灰盒测试 (Gray-Box Testing)
灰盒测试更像是白盒测试和黑盒测试的混合测试,现阶段对灰盒测试没有更明确的定义,
但更多的时候,我们的测试做的就是灰盒测试,即既会做黑盒测试又会做白盒测试