首页 > 电脑网络 > 软件知识 > 软件测试方法之黑盒测试与白盒测试

软件测试方法之黑盒测试与白盒测试
2008-11-12 12:50:23   来源:   点击:

    常用的软件测试方法

        1.黑盒测试

        黑盒测试顾名思义就是将被测系统看成一个黑盒,从外界取得输入,然后再输出。整个测试基于需求文档,看是否能满足需求文档中的所有要求。黑盒测试要求测试者在测试时不能使用与被测系统内部结构相关的知识或经验,它适用于对系统的功能进行测试。

        黑盒测试的优点有:
        1)比较简单,不需要了解程序内部的代码及实现;

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

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

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

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

        黑盒测试的缺点有:
        1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;

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

        2.白盒测试

        白盒测试是指在测试时能够了解被测对象的结构,可以查阅被测代码内容的测试工作。它需要知道程序内部的设计结构及具体的代码实现,并以此为基础来设计测试用例。如下例程序代码:


    HRESULT Play( char* pszFileName )

    {

    if ( NULL == pszFileName )

    return;

    if ( STATE_OPENED == currentState )

    {

    PlayTheFile();

    }

    return;

    }


        读了代码之后可以知道,先要检查一个字符串是否为空,然后再根据播放器当前的状态来执行相应的动作。可以这样设计一些测试用例:比如字符串(文件)为空的话会出现什么情况;如果此时播放器的状态是文件刚打开,会是什么情况;如果文件已经在播放,再调用这个函数会是什么情况。也就是说,根据播放器内部状态的不同,可以设计很多不同的测试用例。这些是在纯粹做黑盒测试时不一定能做到的事情。

        白盒测试的直接好处就是知道所设计的测试用例在代码级上哪些地方被忽略掉,它的优点是帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。

        白盒测试的缺点有:

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

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

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

相关热词搜索:软件测试方法 黑盒测试 白盒测试

上一篇:软件测试人员在开发过程中的任务
下一篇:海通证券大智慧2008下载