zoukankan      html  css  js  c++  java
  • 怎么做独立路径的测试

    从上面的例子还看出尽管做了语句覆盖,但是程序仍然可能存在错误。语句覆盖是一种最弱的覆盖测试,但却是一种必须做的最低限度的白盒测试。独立路径测试可以保证所有语句被执行至少一次,同时排除上述(x=0,y=5/x)组合没有被执行的情况。在进行独立路径测试(基本路径测试)之前,先介绍流图符号:

    clip_image002

    如上图所示,每一个圆,称为流图的节点,代表一个或多个语句,流程图中的处理方框序列和菱形决策框可映射为一个节点,流图中的箭头,称为边或连接,代表控制流,类似于流程图中的箭头。一条边必须终止于一个节点,即使该节点并不代表任何语句,例如,下图中两个处理方框交汇处是一个节点,边和节点限定的范围称为区域。

    clip_image004

    任何过程设计表示法都可被翻译成流图,下面显示了一段流程图以及相应的流图。

    clip_image006

    (a)流程图

    clip_image008

    (b)流图

    注意,程序设计中遇到复合条件时(逻辑or, and, nor等),生成的流图变得更为复杂,如(c)流图所示。此时必须为语句IF a OR b中的每一个a和b创建一个独立的节点。

    clip_image010

    独立路径是指程序中至少引进一个新的处理语句集合,采用流图的术语,即独立路径必须至少包含一条在定义路径之前不曾用到的边。例如图(b)中所示流图的一个独立路径集合为:

    路径1:1-11

    路径2:1-2-3-4-5-10-1-11

    路径3:1-2-3-6-8-9-10-11

    路径4:1-2-3-6-7-9-10-1-11

    上面定义的路径1,2,3和4包含了(b)流图的一个基本集,如果能将测试设计为强迫运行这些路径,那么程序中的每一条语句将至少被执行一次,每一个条件执行时都将分别取true和false(分支覆盖)。应该注意到基本集并不唯一,实际上,给定的过程设计可派生出任意数量的不同基本集。如何才能知道需要寻找多少条路径呢?可以通过如下三种方法之一来计算独立路径的上界:

    1. V=E-N+2,E是流图中边的数量,N是流图节点数量。

    2. V=P+1,P是流图G中判定节点的数量

    3. V=R,R是流图中区域的数量

    例如,(b)流图可以采用上述任意一种算法来计算独立路径的数量

    1. 流图有4个区域,所以V=4

    2. V=11条边-9个节点+2=4

    3. V=3个判定节点+1=4

    由此为了覆盖所有程序语句,必须设计至少4个测试用例使程序运行于这4条路径。

  • 相关阅读:
    骑行318、 2016.7.22
    骑行318、 2016.7.21
    自定义的cell上面有图片时,如果产生了重用,图片可能会错乱问题
    当前View的坐标相对其他View的位置坐标
    自定义UIButton 实现图片和文字 之间距离和不同样式
    自定义导航栏 标题视图 返回按钮
    IOS 隐藏tabBar
    ShareSDK集成遇到问题
    导航栏相关设置
    根据字符内容计算宽高度
  • 原文地址:https://www.cnblogs.com/whylaughing/p/5822006.html
Copyright © 2011-2022 走看看