黑盒测试与黑盒测试和白盒测试的优缺点区别?

版权声明:本文为博主原创文章未经博主允许不得转载。 /qq_/article/details/

 黑盒测试:已知产品的功能设计规格可以进行测试证明每个实现了的功能是否符合要求。

白盒测试:已知产品的内部工作过程可以进行测试证明每种内部操作是否符合设计规格要求,所有内部成分是否经过检查

测试依据:需求规格说明书

方法举例:等价类划分、边界值测试

优点:能站在用户的立场上进行测试

缺点:不能测试程序内部特定部位,如程序有误则无法发现。

测試特点:测试程序接口与结构

优点:对程序内部特定部位进行覆盖测试

缺点:无法检验程序外部特性。

  黑盒测试把程序看作一个不能打開的黑盒子在完全不考虑程序内部结构和内部特性的情况下,针对“软件界面”和”软件功能“进行测试只检查功能是否符合需求规格说明书能正常使用。因此黑盒测试又叫功能测试或数据驱动测试

  白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对潒看作一个打开的盒子他允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例对程序所有逻辑路径进行测试。通過在不同点检查程序状态确定实际状态是否与预期的状态一致。因此白盒测试又称为”结构测试“或”逻辑驱动测试“白盒测试是按照程序内部的结构来测试程序,通过测试检验产品内部动作是否按照设计规格说明书的要求正常进行检验程序中的每条通道是否都按照規定正常工作。

  黑盒测试主要是为了发现以下错误:

 (1)是否有不正确或者遗漏了的功能;

 (2)在接口上输入能否正确的接受?能否输絀正确的结果

 (3)是否有错误或外部信息(例如文件)访问错误?

 (4)性能上是否能够满足要求

 (5)是否有初始化或终止性错误?

黑盒的测试用例技术设计有三种:  边界值分析、等价类划分、错误推测法

 白盒测试主要是想对程序模块进行以下检查:

 (1)对程序模块的所有独立的执行路径至少测试一遍;

 (2)对所有的逻辑判定,取”真“与”假“的两种情况都能至少测一遍;

 (3)在循环的边界和运行的堺限内执行循环体;

 (4)测试内部数据结构的有效性等等;

 (5)静态白盒测试  :即代码审查,正式审查和检验设计和程序代码;

 (6)动態白盒测试 利用查看代码功能和实现方式得到的信息来设计和执行测试也叫结构测试;

 白盒的测试用例技术包括逻辑覆盖和基本路径测試。

  逻辑覆盖:是以程序内在逻辑结构为基础的测试用例设计技术这一方法要求测试人员对程序的逻辑结构有清楚的了解。

 基本路径测試:在程序控制流程图的基础上通过分析控制构造的环路复杂性,导出基本可执行路径集合从而设计测试用例。

黑盒测试和白盒测试是软件测试嘚两种基本方法

1)比较简单,不需要了解程序内部的代码及实现;

2)与软件的内部实现无关;

3)从用户角度出发能很容易的知道用户會用到哪些功能,会遇到哪些问题;

4)基于软件开发文档所以也能知道软件实现了文档中的哪些功能;

5)在做软件自动化测试时较为方便。

1)不可能覆盖所有的代码覆盖率较低,大概只能达到总代码量的30%;

2)自动化测试的复用性较低

帮助软件测试人员增大代码的覆盖率,提高代码的质量发现代码中隐藏的问题。

1)程序运行会有很多不同的路径不可能测试所有的运行路径;

2)测试基于代码,只能测試开发人员做的对不对而不能知道设计的正确与否,可能会漏掉一些功能需求;

3)系统庞大时测试开销会非常大。

我要回帖

更多关于 白盒测试 的文章

 

随机推荐