摘抄:
1,一般软件开发人员和测试人员对白盒测试和黑盒测试的感念都有一定的认识,但认为是编代码所做的测试是白盒测试,黑盒测试不用编写代码,这其实是一种误解
2,首先说一下概念,任何工程产品(注意是任何工程产品)都可以使用以下两种方法之一进行测试。
黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。
软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。
软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。
4.举一个例子,如果我们对MSN的客户端进行测试,可以认为是黑盒测试,而如果微软公司提供一个可以做二次开发函数库,我们来进行测试的话,就只能通过编程,调用他提供的接口来进行测试,虽然是编写代码而进行的测试,但这也是黑盒测试
5,白盒测试,一般是程序员自己所做的测试,白盒测试测试用例一般采用逻辑覆盖法和基本路径法进行设计