什么是灰盒
灰盒是对软件的测试,其内部工作知识有限。 灰匣子测试是一种道德的黑客技术,黑客必须使用有限的信息来确定目标安全网络的优势和劣势。
分解灰色框
灰盒测试是白盒测试的混合形式,其中测试者检查软件代码的内部逻辑和结构,而黑盒测试则混合了黑盒测试,测试者对该软件的代码一无所知。要了解灰盒测试,我们必须首先了解黑盒盒测试和白盒测试。
黑盒和白盒测试
黑匣子测试只关注用户的输入以及给定这些输入的软件产生的输出。 黑匣子测试不需要任何编程语言知识或其他技术细节。 这是一种用于系统测试和验收测试的高级测试。 软件工程师需要软件需求规范(SRS)文档来执行黑盒测试。 此测试从最终用户的角度出发,黑匣子测试仪不知道如何从输入生成输出。
白盒测试需要深入了解用于构建软件的技术和平台,包括相关的编程语言。 它是单元测试和指示测试中使用的一种低级测试。 软件工程师需要了解用于创建应用程序的编程语言,以便他们可以了解其源代码。 白盒测试的主要目的是增强安全性,检查输入和输出如何在应用程序中流动以及改善设计和可用性。 如果白盒测试器无法从给定的输入中获得预期的输出,则认为结果是需要修复的错误。
灰箱测试
灰盒测试包括黑盒测试和白盒测试的重要组成部分,以获得比单独获得的更好的结果。 最终用户和开发人员都使用对应用程序源代码的有限(部分)知识来执行灰盒测试。 灰盒测试可以是手动的也可以是自动的。 它比黑盒测试更全面,更耗时,但不像白盒测试那样全面或耗时。 灰盒测试仪需要详细的设计文档。
灰盒测试涉及识别输入,识别输出,识别主要路径和识别子功能。 然后,它继续为子功能开发输入和输出,为子功能执行测试用例,并验证那些结果。
灰箱示例
灰盒测试器可能会检查并修复网站上的链接。 如果链接不起作用,则测试人员将更改HTML代码以尝试使该链接起作用,然后重新检查用户界面以查看该链接是否起作用。 灰盒测试仪可能还会测试在线计算器。 测试人员将定义输入(例如1 + 1、2 * 2、5-4和15/3等数学公式),然后检查以确保计算器在给定这些输入的情况下提供正确的输出。 灰色框测试器可以访问计算器的HTML代码,并且如果发现任何错误,可以对其进行更改。
灰盒测试同时查看应用程序的用户界面或表示层及其内部工作或代码。 它主要用于集成测试和渗透测试,但不适用于算法测试。 灰盒测试通常用于通过矩阵测试,回归测试,正交数组测试和模式测试等技术来测试应用程序的用户界面,安全性或在线功能。 灰盒测试员最有可能发现特定于上下文的问题。
“灰色”是指测试人员看到应用程序内部工作的部分能力。 “白色”是指能够通过软件的界面查看其内部运行情况,而“黑色”是指无法查看软件的内部运行情况。 灰盒测试有时称为半透明测试,而白盒测试有时称为透明测试,黑盒测试也可能称为不透明测试。