灰盒测试是一种常用于计算机软件的专业测试,它结合了黑盒测试和白盒测试的某些方面,其总体思路是将这两种测试结合起来,发挥各自的优势,灰盒测试基本上由专业测试组成,测试人员了解软件的一些工作方式,但是他们并不是无所不...
灰盒测试是一种常用于计算机软件的专业测试,它结合了黑盒测试和白盒测试的某些方面,其总体思路是将这两种测试结合起来,发挥各自的优势,灰盒测试基本上由专业测试组成,测试人员了解软件的一些工作方式,但是他们并不是无所不知的。

灰盒测试可以在新操作系统的软件上进行在开发和测试计算机软件时,经常使用两种常见的测试模型,即黑盒测试和白盒测试,灰盒测试基本上是两者的结合。黑盒测试是指测试人员不理解或无法访问运行软件的代码的测试。例如,有人可能利用黑盒测试,允许外部公司开发软件,使其与计算机操作系统(OS)一起运行,而不需要在灰盒测试中,测试人员了解软件的一些工作方式,但他们并不了解软件的所有内容这种类型的测试通常被许多不同的软件公司使用,可以用于内部测试和外部测试。然而,这种测试的最大缺点之一是,测试人员有限的知识可能会妨碍他们的测试。这通常需要由第三方来分析结果,该第三方既了解正在运行的测试,也了解正在测试的软件背后的代码。灰盒测试通过将这种类型的测试与特定的白盒测试的要素。白盒测试是由完全理解被测软件并有权访问软件源代码的人进行的软件测试。这通常是在软件开发人员内部完成的以确保程序正常运行,并允许测试人员直接与程序背后的代码进行交互。但是,这种类型的测试存在潜在的安全问题,因此灰盒测试通常用于以高效和安全的方式组合这两种类型在灰盒测试中,测试人员了解正在使用的软件的某些方面,可能能够看到源代码的某些部分,但不是全部。这使得测试人员能够比黑盒测试允许的(但没有)更充分地与他们正在测试的程序进行交互和理解白盒测试可能产生的完全访问和安全问题例如,对新操作系统的软件执行灰盒测试的人可能能够看到与他或她测试程序相关的操作系统方面的代码,但不是所有的源代码。