灰盒(GreyBox)测试是一种软件测试方法,用于部分了解内部工作结构来测试软件应用程序。它是黑盒子和白盒测试的组合,因为它涉及访问内部编码以设计测试用例,因为白盒测试和测试实践在功能级别作为黑盒测试完成。
灰盒(GreyBox)测试通常识别属于Web系统的特定于上下文的错误。例如; 在测试时,如果测试人员遇到任何缺陷,那么他会对代码进行更改以解决缺陷,然后再次实时测试。它专注于任何复杂软件系统的所有层,以提高测试覆盖率。它提供了测试表示层和内部编码结构的能力。它主要用于集成测试和渗透测试。
选择灰盒测试的原因如下:
测试人员必须从源代码设计测试用例时没有必要使用灰盒测试。为了执行此测试,可以基于体系结构,算法,内部状态或程序行为的其他高级描述的知识来设计测试用例。它使用所有简单的黑盒测试技术进行功能测试。测试用例生成基于要求并在通过断言方法测试程序之前预设所有条件。
执行灰盒测试的一般步骤是:
灰盒测试设计的测试用例包括安全相关,浏览器相关,GUI相关,操作系统相关和数据库相关测试。
矩阵测试
这种测试技术属于灰盒测试。它定义了特定程序的所有已使用变量。在任何程序中,变量都是值可以在程序内传播的元素。它应该按照要求,否则会降低程序的可读性和软件的速度。矩阵技术是一种通过识别程序中使用的变量来删除未使用和未初始化变量的方法。
回归测试
回归测试用于验证软件任何部分的修改是否未对软件的任何其他部分造成任何不利或无意的副作用。在确认测试期间,任何缺陷都得到修复,并且该部分软件开始按预期工作,但固定缺陷可能会在软件中的其他位置引入不同的缺陷。因此,回归测试通过测试重新测试风险用例,在防火墙内重新测试,重新测试所有等策略来处理这些类型的缺陷。
正交阵列测试或OAT
此测试的目的是用最少的测试用例覆盖最大代码。测试用例的设计方式可以覆盖最大代码以及具有较少测试用例的GUI功能。
模式测试
模式测试适用于通过遵循先前软件的相同模式而开发的这种类型的软件。在这些类型的软件中可能会出现相同类型的缺陷。模式测试确定失败的原因,以便可以在下一个软件中修复它们。
通常,灰盒方法中使用自动化软件测试工具来执行测试过程。提供给测试人员的存根和模块驱动程序可以减轻手动代码生成的负担。