问题的历史
“灰箱”方法作为“黑箱”和“白箱”之间的折中出现,旨在消除这些方法的局限性。它假设对系统内部结构有部分了解,同时检查输入和输出数据,从而获得两种技术的优势。
问题
许多任务要求了解更多信息,而用户界面所允许的了解有限,但没有完全的源代码访问权限。风险在于未能测试与内部机制相关的重要场景,但与此同时又不深入到“白箱”方法的架构细节中。
解决方案
在有部分访问文档、架构、API或服务的情况下使用。这使得能够识别前后端之间的错误,并研究模块内部的数据处理。
关键特性:
如果您完全没有文档或代码的访问权限,可以进行“灰箱”测试吗?
不可以。“灰箱”方法假设测试人员至少对应用的内部结构有部分信息。如果您完全“盲测”,则更倾向于使用“黑箱”方法。
查看日志是否算作“灰箱”测试的一种形式?
是的,如果您查看日志以了解系统如何处理输入数据,则可以视为“灰箱”方法的一个元素,因为您不局限于用户界面。
可以将“灰箱”方法用于单元测试吗?
不可以。单元测试通常是“白箱”的领域,需要对代码的完全访问,而测试人员在此层面上工作,关注的是内部功能。
测试人员试图仅基于假设和用户界面测试来应用“灰箱”,而没有研究API或请求架构图。
优点:
缺点:
在测试集成场景之前,测试人员请求团队提供架构图,研究API端点,进行日志分析,能够在后端和前端的交互层发现问题。
优点:
缺点: