什么是灰色 Box 测试?技术,示例

灰色 Box 测试与验证

灰色 Box 测试与验证 或灰盒测试是一种软件测试技术,用于在不完全了解应用程序内部结构的情况下测试软件产品或应用程序。灰盒测试的目的是搜索和识别由于代码结构不当或应用程序使用不当而导致的缺陷。

在此过程中,通常会识别与 Web 系统相关的上下文特定错误。通过集中于任何复杂系统的所有层,可以增加测试覆盖率。

灰色 Box 测试是一种软件测试方法,它是两者的结合 白色 Box 测试与验证 和黑色 Box 测试方法。

  • 白色 Box 测试内部结构(代码)已知
  • 黑色 Box 测试内部结构(代码)未知
  • 灰色 Box 测试内部结构(代码)部分已知

灰色 Box 测试与验证

在软件工程领域,Gray Box 测试可以测试应用程序的两面,即表示层以及代码部分。它主要用于 整合测试渗透测试.

灰色示例 Box 测试: 在测试网站功能(如链接或孤立链接)时,如果测试人员遇到这些链接的任何问题,那么他可以直接在 HTML 代码中进行更改并实时检查。

为什么是灰色 Box 测试与验证

灰色 Box 进行测试的原因如下,

  • 它结合了黑盒测试和白盒测试的优点
  • 它结合了开发人员和测试人员的投入,提高了整体产品质量
  • 它减少了测试功能和非功能类型的漫长过程的开销
  • 它为开发人员提供了足够的空闲时间来修复缺陷
  • 测试是从用户的角度而不是设计师的角度进行的

灰色 Box 测试策略

要执行灰盒测试,测试人员不必访问源代码。测试是根据算法、架构、内部状态或程序行为的其他高级描述的知识设计的。

执行灰盒测试

  • 它采用了一种简单的黑盒测试技术
  • 它基于需求测试用例生成,因此,它在用断言方法测试程序之前预设了所有条件。

灰盒测试使用的技术包括:

  • 矩阵测试: 这种测试技术涉及定义程序中存在的所有变量。
  • 迭代测试:检查上一版本中的更改是否影响了新版本中程序的其他方面。这将通过重新测试所有内容、重新测试有风险的用例、在防火墙内重新测试等测试策略来完成。
  • 正交阵列测试 或 OAT:它以最少的测试用例提供最大的代码覆盖率。
  • 模式测试: 此测试基于先前系统缺陷的历史数据执行。与黑盒测试不同,灰盒测试深入代码并确定故障发生的原因

通常,灰盒方法使用 自动化软件测试工具 进行测试。创建存根和模块驱动程序是为了减轻测试人员手动生成代码的负担。

执行灰盒测试的步骤如下:

  • 第一步:识别输入
  • 第一步:确定输出
  • 第一步:识别主要路径
  • 第一步:识别子功能
  • 第一步: 开发子功能的输入
  • 第一步: 开发子功能的输出
  • 第一步:执行子函数测试用例
  • 第一步:验证子函数的结果是否正确
  • 第一步:对其他子函数重复步骤 4 和 8
  • 第一步:对其他子函数重复步骤 7 和 8

灰盒测试的测试用例可能包括:GUI 相关、安全相关、数据库相关、浏览器相关, Opera国家制度相关等

灰色 Box 测试挑战

  • 当被测组件发生某种故障时,可能会导致正在进行的操作中止
  • 当测试完整执行但结果内容不正确时。

结语

  • 通过灰盒测试可以降低系统缺陷的总体成本,并防止其进一步扩散
  • 灰盒测试更适合GUI, 功能测试、安全评估、网络应用、网络服务等。
  • 灰盒测试使用的技术
    • 矩阵测试
    • 迭代测试
    • OAT 或正交阵列测试
    • 模式测试