C/C++单元测试工具Visual Unit 4在线帮助


概念

    黑盒测试是指将被测试目标看作一个黑盒子,不考虑它的内部构造,只测试它的功能,也称为功能测试。

    白盒测试是指将被测试目标看作一个透明盒子,从内部构造的角度去测试。

    有些人将系统测试、性能测试称为黑盒测试,单元测试、集成测试称为白盒测试,这是错误的。

    黑盒与白盒是根据测试方法来分的,称为黑盒方法和白盒方法更合适些。单元测试、集成测试、系统测试、性能测试,这些是根据测试标的来分的:以代码单元为测试标的的是单元测试;以模块接口为测试标的的是集成测试;以整个系统为测试标的的是系统测试;以系统性能为测试标的的是性能测试。

    打个比方:人,根据性别可分为男的,女的;根据年龄可分为小孩子、青年人、中年人、老年人。不能说小孩子、青年人就是男的;中年人、老年人就是女的。同样,也不能说单元测试和集成测试是白盒测试;系统测试和性能测试是黑盒测试。

    系统测试、性能测试也可以使用白盒方法,例如,用一个工具对代码进行插装,插入的代码用于监视代码的执行和覆盖状况,然后进行系统或性能测试,我们就可以知道系统测试覆盖了哪些代码,或了解哪些代码导致了性能瓶颈。

    单元测试是以黑盒方法为主的,即首先考虑的是被测程序的设计功能,而不是它的内部结构,这是非常重要的一个观念。如果以为单元测试是以白盒方法为主,甚至只使用白盒方法,将产生方向性错误,结果是劳民伤财而达不到应用的效益。