• 白盒测试综述 - [测试(Testing)]

    2009-08-12 | Tag:测试 白盒 软件工程 方法

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://anthonychan.blogbus.com/logs/44022533.html

    如有讲得不正确的地方,请指出。

     

    白盒测试是针对程序的内部结构进行测试,发现程序在内部结构上存在的错误。白盒测试的内容包括基本分支测试(Basis Path Testing)和控制结构测试(Control Structure Testing)

     

    基本分支测试

    基本分支测试着重于覆盖程序所有可能“路径”。所谓程序的“路径”是指程序执行过程中所对应的代码段,简单地讲就是程序从开始到结束,走了哪一条路。为了使这个抽象概念具体化,有人提出了一种量化的方法。首先把程序分成若干个节点,每一个节点代表的是一段条件选择的代码或者一段没有涉及条件选择的代码,比如if的条件和if后面跟随的语句就是两个连接的节点。然后计算圈复杂度(Cyclomatic Complexity),有三种计算方法,不详细介绍。这个圈复杂度就反映了需测试的最少分支数目。然后就可以根据这个数目,找出所有的基本分支,测试程序在这些分支上的正确性。

     

    控制结构测试

    控制结构测试是更细化的测试,主要可以分为条件测试(Condition Testing)、数据流测试(Data Flow Testing)和循环测试(Loop Testing)

     

    条件测试是对于布尔运算和关系运算的测试。布尔运算就是能判定一个简单表达式的真假,比如x==0。关系运算是若干个简单表达式进行与、或、非运算之后的真假判断。

     

    数据流测试是基于数据从定义到被使用的测试,可以理解为是另一种选择“路径”的方法。简单地讲,数据流测试就是从一个变量被定义,到它被使用,直到最后一次被使用,一路地测试过去,保证它在每一处都呈现出正确的值。

     

    循环测试是针对循环结构进行测试,保证在循环本身也具有正确性。循环的种类可以大致分为简单的循环、复合的循环、连接的循环和未结构化的循环。对于未结构化的循环,任何测试人员都应当拒绝予以测试。


    历史上的今天:


    收藏到:Del.icio.us




    引用地址: