灰盒测试


灰盒测试

灰盒测试是一种软件测试方法,用于测试软件应用程序的内部工作结构的部分知识。它是黑盒测试和白盒测试结合,因为它涉及访问内部编码来设计测试用例,因为白盒测试和测试实践是在功能级别作为黑盒测试完成的。

灰盒测试

GreyBox 测试通常识别属于 Web 系统的特定于上下文的错误。例如; 在测试时,如果测试人员遇到任何缺陷,那么他会更改代码以解决缺陷,然后实时再次测试。它专注于任何复杂软件系统的所有层,以增加测试覆盖率。它提供了测试表示层和内部编码结构的能力。它主要用于集成测试和渗透测试。

为什么要进行 GreyBox 测试?

GreyBox 测试的原因如下

  • 它提供了黑盒测试和白盒测试的综合优势。
  • 它同时包含开发人员和测试人员的输入值,以提高产品的整体质量。
  • 它减少了长时间的功能和非功能测试过程的时间消耗。
  • 它为开发人员提供了足够的时间来修复产品缺陷。
  • 它包括用户的观点,而不是设计者或测试者的观点。
  • 它涉及从用户的角度深入地检查需求和确定规格。

灰盒测试

灰盒测试策略

灰盒测试不需要测试人员必须从源代码设计测试用例。为了执行此测试,可以基于架构、算法、内部状态或程序行为的其他高级描述的知识来设计测试用例。它使用所有简单的黑盒测试技术进行功能测试。测试用例的生成是根据需求,在通过断言方法测试程序之前预设所有条件。

执行灰盒测试的一般步骤是:

  1. 首先,从 BlackBox 和 WhiteBox 测试输入中选择并识别输入。
  2. 其次,从这些选定的输入中确定预期输出。
  3. 第三,确定测试期间要经过的所有主要路径。
  4. 第四个任务是确定子功能,这些子功能是执行深层测试的主要功能的一部分。
  5. 第五个任务是确定子功能的输入。
  6. 第六个任务是确定子功能的预期输出。
  7. 第七个任务包括为子功能执行测试用例。
  8. 第八个任务包括验证结果的正确性。

为 Greybox 测试设计的测试用例包括安全相关、浏览器相关、GUI 相关、操作系统相关和数据库相关测试。

灰盒测试技术

矩阵测试

这种测试技术属于灰盒测试。它定义了特定程序的所有使用变量。在任何程序中,变量是值可以在程序内部传播的元素。应按要求进行,否则会降低程序的可读性和软件的速度。矩阵技术是一种通过识别程序中使用的变量来删除未使用和未初始化的变量的方法。

回归测试

回归测试用于验证软件任何部分的修改未对软件的任何其他部分造成任何不利或意外的副作用。在确认测试期间,任何缺陷都得到修复,软件的那部分开始按预期工作,但修复的缺陷可能会在软件的其他地方引入不同的缺陷。因此,回归测试通过测试策略来处理这些类型的缺陷,例如重新测试有风险的用例、在防火墙内重新测试、重新测试全部等。

正交阵列测试或 OAT

此测试的目的是用最少的测试用例覆盖最多的代码。测试用例的设计方式可以用较少的测试用例覆盖最多的代码和 GUI 功能。

模式测试

模式测试适用于遵循与以前软件相同的模式开发的此类软件。在这些类型的软件中可能会出现相同类型的缺陷。模式测试确定失败的原因,以便在下一个软件中修复它们。

通常,在 Greybox 方法中使用自动化软件测试工具来执行测试过程。存根和模块驱动程序提供给测试人员,以减轻手动代码生成的负担。