📜  灰盒测试

📅  最后修改于: 2021-01-08 08:52:48             🧑  作者: Mango

GreyBox测试

Greybox测试是一种软件测试方法,用于在不了解内部工作结构的情况下测试软件应用程序。它是黑盒测试和白盒测试的组合,因为它需要访问内部编码来设计测试用例,因为白盒测试和测试实践是在黑盒测试的功能级别上完成的。

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

为什么进行GreyBox测试?

GreyBox测试的原因如下

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

GreyBox测试策略

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

执行灰箱测试的通用步骤是:

  • 首先,从BlackBox和WhiteBox测试输入中选择并标识输入。
  • 其次,确定这些选定输入的预期输出。
  • 第三,确定在测试期间要经过的所有主要路径。
  • 第四项任务是确定子功能,这些子功能是执行深度测试的主要功能的一部分。
  • 第五项任务是识别子功能的输入。
  • 第六项任务是确定子功能的预期输出。
  • 第七项任务包括执行子功能测试用例。
  • 第八项任务是验证结果的正确性。

专为Greybox测试而设计的测试用例包括与安全有关,与浏览器有关,与GUI有关,与操作系统有关以及与数据库有关的测试。

灰箱测试技术

矩阵测试

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

回归测试

回归测试用于验证软件任何部分的修改没有对软件任何其他部分造成任何不利或意外的副作用。在确认测试期间,所有缺陷都已得到修复,并且该软件的该部分已按预期开始工作,但是已修复的缺陷可能会在软件中的其他位置引入另一个缺陷。因此,回归测试通过测试策略(例如重新测试有风险的用例,在防火墙内重新测试,全部重新测试等)来解决这些类型的缺陷。

正交阵列测试或OAT

该测试的目的是用最少的测试用例覆盖最大的代码。测试用例的设计方式可以覆盖最多的代码以及使用较少数量的测试用例的GUI功能。

模式测试

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

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