开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第12天,点击查看活动详情
黑盒测试
1)定义:把测试对象看成是一个黑盒,只考虑其整体特性,不考虑其内部具体实现过程。即已知产品的需求规格,但不知其内部实现,可以进行测试证明每个需求是否实现。也可以说现代黑盒测试是从一种从软件外部对软件实施的测试,也称基于规格说明的测试,黑盒测试是从用户观点出发的测试,其目的是尽可能发现软件的外部行为错误。
2)思想:基于规格的测试,测试类型都来源于质量模型。
3)测试对象:系统、子系统、模块、子模块、函数等。
4)常用的黑盒测试方法:等价类划分法、边界值分析法、因果图分析法、判定表法、状态迁移法等。
5)目的:检测软件功能能否按照需求规格说明书的规定正常工作,是否有功能遗漏;
检测是否有人机交互错误,是否有数据结构和外部数据库访问错误,是否能恰当地接收数据并保持外部信息(如数据库或文件)等的完整性;
检测行为、性能等特性是否满足要求等;
检测程序初始化和终止方面的错误等。
6)黑盒测试的特点
(1)对于更大的代码单元来说(子系统甚至系统级)比白盒测试效率要高;
(2)测试人员不需要了解软件的实现细节,包括特定的编程语言;
(3)从用户的视角进行测试,很容易被理解和接受;
(4)有助于暴露任何规格不一致或有歧义的问题;
(5)没有清洗和简明的规格,测试用例很难设计;
(6)不能控制内部执行路径,会有很多内部程序路径没有被测试到;
(7)不能直接针对特定的程序段,这些程序可能非常复杂(因此可能隐藏更多的问题)