黑盒测试
概念及特点:
黑盒测试:又被称为功能测试、数据驱动测试或基于规格说明的测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,着眼于程序外部结构,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。
常用方法
黑盒测试方法主要有:等价类划分、边值分析、因—果图、错误推测等。
黑盒测试主要是为了发现以下几类错误:
1、是否有不正确或遗漏的功能?
2、在接口上,输入是否能正确的接受?能否输出正确的结果?
3、是否有数据结构错误或外部信息(例如数据文件)访问错误?
4、性能上是否能够满足要求?
5、是否有初始化或终止性错误?
优缺点
优点:能站在用户的立场上进行测试。
缺点:不能测试程序内部特定位置,如果程序有错误,无法发现错误处。
白盒测试
概念及特点:
白盒测试:也称结构测试或逻辑驱动测试,是通过程序的源代码进行测试而不使用用户界面,把测试对象看做一个打开的盒子,从内部逻辑着手,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据
常用方法
白盒测试方法主要有:逻辑覆盖、基路测试等。
1、逻辑覆盖:是以程序内在逻辑结构为基础的测试技术,要求测试人员对程序逻辑结构很了解;
2、基路测试:在程序控制流程图的基础上,通过分析控制构造的环路复杂性,导出基本可执行的路径集合。
白盒测试主要是为了发现以下几类错误:
1、对程序模块的所有独立的执行路径至少测试一遍。
2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。
3、在循环的边界和运行的界限内执行循环体。
4、测试内部数据结构的有效性等。
优缺点
优点:能对程序内部特定位置进行覆盖测试
缺点:不能检验程序的外部特性
灰盒测试
介于黑盒测试和白盒测试之间的一种测试,既关注输出对于输入的正确性,同时也关注内部结构,只是没那么详细,是两种测试在效率和准确性上的一种折中。