黑盒测试
黑盒测试是在不知道内部代码结构、实现细节和内部路径的情况下对软件应用程序的功能进行测试的一种软件测试方法。它也被称为行为测试。

上面的黑盒可以是想要测试的任何软件系统。例如,像Windows这样的操作系统,像百度网站。
如何进行黑盒测试
以下是执行任何类型的黑盒测试所遵循的一般步骤。
- 首先,检查系统的需求和规格。
- 测试人员选择有效输入(正测试场景)以检查SUT是否正确处理。此外,还选择一些无效输入(负测试场景)来验证SUT是否能够检测到它们。
- 测试人员确定所有这些输入的预期输出。
- 软件测试人员使用选定的输入构建测试用例。
- 执行测试用例。
- 软件测试人员将实际输出与预期输出进行比较。
- 已修复缺陷重新测试。
黑盒测试的类型
黑盒测试的类型很多,但以下是最重要的几种:
- 功能测试–这种黑盒测试类型与系统的功能需求相关;由软件测试人员完成。
- 非功能测试–这种类型的黑盒测试与特定功能的测试无关,而是与性能、可伸缩性、可用性等非功能需求相关。
- 回归测试-回归测试是在代码修复、升级或任何系统维护之后进行的,以检查新代码没有影响现有代码。
用于黑盒测试的工具:
用于黑盒测试的工具在很大程度上取决于正在进行的黑盒测试的类型。
- 对于功能/回归测试,可以使用-QTP、Selenium
- 对于非功能测试,可以使用-LoadRunner、Jeter
黑盒测试技术
以下是在黑盒测试中使用的众多测试策略中的主要测试策略
- 等价类测试:用于将可能的测试用例数量最小化到最好水平,同时保持合理的测试覆盖率。
- 边界值测试:边界值测试的重点是边界上的值。该技术最适用于输入在一定范围内的系统。
- 决策表测试:决策表将原因及其结果放入矩阵中。每列中都有唯一的组合。
黑盒和白盒测试比较:
黑盒测试 | 白盒测试 |
---|---|
黑盒测试的主要焦点是验证功能需求 | 白盒测试(Unit Testing)验证软件代码的内部结构和工作情况 |
黑盒测试提供对代码的抽象,并将重点放在对软件系统行为的测试工作上。 | 要进行白盒测试,底层编程语言的知识是必不可少的。当今的软件系统使用各种编程语言和技术,不可能了解所有的编程语言和技术。 |
黑盒测试简化了模块之间的测试通信 | 白盒测试不利于模块之间的测试通信 |
黑盒测试和软件开发生命周期(SDLC)
黑盒测试有自己的生命周期,称为软件测试生命周期(Software Testing Life Cycle,STLC),它与软件工程软件开发生命周期的各个阶段相关。
- 需求-这是SDLC的初始阶段,在此阶段收集需求。软件测试人员也参与这一阶段。
- 测试计划和分析-确定适用于项目的测试类型。创建一个测试计划,确定可能的项目风险及其缓解。
- 设计-在此阶段,根据软件需求文档创建测试用例/脚本
- 测试执行-在此阶段执行准备好的测试用例。已修复错误重新测试。