白盒测试
白盒测试(White-box Testing, 又称逻辑驱动测试,结构测试),它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能。
对开发语言的支持:白盒测试工具是对源代码进行的测试,测试的主要内容包括词法分析与语法分析、静态错误分析、动态检测等。目前测试工具主要支持的开发语言包括:标准C、C++、visual C++、 Java、 visual J++等。
白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。“白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。〞白盒"法是穷举路径测试。
软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试叉称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查:
- 对程序模块的所有独立的执行路径至少测试一遍。
- 对所有的遇辑判定,取“真"与取"假"的两种情况都能至少测一遍。
3.在循环的边界和运行的界限内执行循环体。
4、测试内部数据结构的有效性,等等。
黑盒测试
定义:黑盒测试法把程序看成一个黑盒子,完全不考虑程序内部结构和处理过程;黑盒测试是在程序外部进行测试,他只是检查程序功能是否按照规格说明书的规定正常使用。黑盒测试又称功能测试。
软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:
- 是否有不正确或遗漏的功能?
- 在接口上,输入是否能正确的接受?能否输出正确的结果?
- 是否有数据结构错误或外部信息(例如数据文件)访问错误?
- 性能上是否能够满足要求?
- 是否有初始化或终止性错误?
白盒与黑盒的区别
任何工程产品都可以使用以下两种方法之一进行测试。
黑盒测试:己知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。
白盒与黑盒的用处
初始测试集中在每个模块上,保证源代码的正确性,该阶段成为单元测试,主要用白盒测试方法。