关闭

白盒测试之基本路径测试法

发表于:2008-3-06 17:30

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:网络转载

 画出其程序流程图和对应的控制流图如下

           sss

第二步:计算圈复杂度

  圈复杂度是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量用于计算程序的基本的独立路径数目,为确保所有语句至少执行一次的测试数量的上界。独立路径必须包含一条在定义之前不曾用到的边。

  有以下三种方法计算圈复杂度:

  流图中区域的数量对应于环型的复杂性;

  给定流图G的圈复杂度V(G),定义为V(G)=E-N+2,E是流图中边的数量,N是流图中结点的数量;

  给定流图G的圈复杂度V(G),定义为V(G)=P+1,P是流图G中判定结点的数量。

            ssss

第三步:导出测试用例

  根据上面的计算方法,可得出四个独立的路径。(一条独立路径是指,和其他的独立路径相比,至少引入一个新处理语句或一个新判断的程序通路。V(G)值正好等于该程序的独立路径的条数。)

  ü 路径1:4-14

  ü 路径2:4-6-7-14

  ü 路径3:4-6-8-10-13-4-14

  ü 路径4:4-6-8-11-13-4-14

  根据上面的独立路径,去设计输入数据,使程序分别执行到上面四条路径。

  o 第四步:准备测试用例

  为了确保基本路径集中的每一条路径的执行,根据判断结点给出的条件,选择适当的数据以保证某一条路径可以被测试到,满足上面例子基本路径集的测试用例是:

          ddd

53/5<12345>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • 风雪满江山
    2009-5-28 05:15:06

    针对xxfjxw的问题, 我的理解:
    基本路径方法是要保证每个语句都能覆盖到,又要求用例最少。
    所以1->2->3->9->11->12路径上的几个节点可以被前面路径1、2、3所覆盖。
    也就是说路径1、2、3执行完毕后,此路径上所有语句都执行过了。
    因此该路径不作为独立路径。
    另外,我的理解,独立路径可以是多簇,上面的例子中6个路径构成一簇,也应该可以选择其他6个构成另外一簇。在于你的选择。

  • xxfjxw
    2009-3-07 14:15:22

    我有一个问题,请教:
    为什么1->2->3->9-说>11->12不是基本路径呢

  • VisualUnit
    2008-4-04 00:18:16

    基路径法的设计者很有水平,本文的作者也写得很好。
    早几年,我们曾想将此方法用于实际测试,但发现太费时了。本文的第一个例子,十行代码(不算{}),第二个例子好象不到二十行,分支还不算太多,做起来已经很难很费时了,实际项目中,四五十行代码的函数比比皆是,分支和路径数量可能会多得多,更不用说上百行的,分支多了,难度会呈几何级数上升。
    不能对付几十行代码的方法,本低手认为是不实用的,不知道高手们怎么看。

  • Jolin_zhou
    2008-3-28 12:56:32

    good!!
    赫赫,就是有点看不懂。

  • y_test
    2008-3-13 15:17:40

    不错 支持一下

  • renf
    2008-3-07 20:23:20

    写的很详细,长了不少见识,谢谢

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号