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