黑盒测试与白盒测试
黑盒测试
黑盒测试是一种重要的测试策略,又称为数据驱动的测试或输入/输出驱动的测试。使用这种测试方法时,将程序视为一个黑盒子,测试的目标与程序内部机制和结构完全无关,而是将重点集中放在发现程序不按其规范正确运行的环境条件。测试的数据完全来源于软件规范(换句话说,不需要了解程序的内部结构)
黑盒测试主要是为了发现以下几类错误:
1.是否有不正确或遗漏的功能?
2.在接口上,输入能否正确的接受?能否输出正确的结果?
3.是否有数据结构错误或外部信息访问错误?
4.性能上能否满足要求?
5.是否有初始化或终止性错误?
黑盒测试常用的技术有:没有用户参与的黑盒测试和有用户介入的黑盒测试
黑盒测试适用于专业的测试人员
白盒测试
这种测试策略称为逻辑驱动的测试,允许我们检查程序的内部结构,这种测试策略对程序的逻辑结构进行检查,从中获取测试数据。
白盒测试主要是对程序模块进行如下检查:
1.对程序模块的所有独立的执行路径至少测试一遍
2.对所有的逻辑判定,取真与假的两种情况都能至少测试一遍
3.在循环边界和运行界限内执行循环体
4.测试内部数据结构的有效性,等
白盒测试常用的技术有静态分析技术,动态分析技术、测试数据生成、覆盖率(语句覆盖、判定覆盖、条件覆盖、路径覆盖)
白盒测试告诉我们要从代码层次去做测试,这种模式适合开发者(程序员)自己。