软件测试5白盒测试2”.pptVIP

  • 1
  • 0
  • 约1.62千字
  • 约 21页
  • 2017-06-10 发布于北京
  • 举报
软件测试5白盒测试2”

软件测试测试方法(四) 一、 上节回顾-6种逻辑覆盖 二、循环覆盖 在逻辑覆盖的测试技术中,以上只讨论了程序内部有判定存在的逻辑结构的测试用例设计技术。而循环也是程序的主要逻辑结构,要覆盖含有循环结构的所有路径是不可能的, 但可通过限制循环次数来测试,下面给出设计原则供参考。 二、循环覆盖-单循环 设n为可允许执行循环的最大次数。 设计以下情况的测试用例:  (1) 跳过循环。 (2) 只执行循环一次。 (3) 执行循环m次, 其中m<n。 (4) 执行循环n-1次, n次, n+1次。 二、循环覆盖-嵌套循环 嵌套循环步骤为: (1) 置外循环处于最小循环计数值, 对内层进行单循环测试。 (2) 由里向外, 进行下一层的循环测试。 三、基本路径测试 三、基本路径测试 上图中只有 4 条路径。但在实际问题中, 一个不太复杂的程序其路径是一个庞大的数字。为了解决这一难题,只得把覆盖的路径数压缩到一定的限度内,例如,循环体只执行一次。基本路径测试是在程序流程图的基础上,通过分析由控制构造的环路复杂性,导出基本路径集合,从而设计测试用例, 保证这些路径至少通过一次。 三、基本路径测试-步骤1 三、基本路径测试-程序图 三、基本路径测试-程序图要点 (a)是一个程序流程图,可以将它转换成图(b)的程序图(假设菱形框表示的判断内设有复合的条件)。 在转换时注意: 一条边必须终止于一个结点,在选择结构中的分支汇聚处即使无语句也应有汇聚结点; 三、基本路径测试-程序图要点 三、基本路径测试-步骤2, 计算程序图G的环路复杂性V(G)。 McCabe定义程序图的环路复杂性为此平面图中区域的个数。 区域个数为边和结点圈定的封闭区域数加上图形外的区域数1。 例如图(b)的V(G)=4, 也可按另一种方法计算, 即V(G)=判定结点数+1。 三、基本路径测试-步骤3 确定只包含独立路径的基本路径集 环路复杂性可导出程序基本路径集合中的独立路径条数, 这是确保程序中每个执行语句至少执行一次所必需的测试用例数目的上界。 三、基本路径测试-步骤3 独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条在其他独立路径中未有过的边的路径,例如,在图(b)所示的图中,一组独立的路径是: path1: 1-11 path2: 1-2-3-4-5-10-1-11 path3: 1-2-3-6-8-9-10-1-11 path4: 1-2-3-6-7-9-10-1-11 三、基本路径测试-小结 从例中可知,一条新的路径必须包含有一条新边。这 4 条路径组成了图(b)所示的程序图的一个基本路径集,4是构成这个基本路径集的独立路径数的上界,这也是设计测试用例的数目。只要测试用例确保这些基本路径的执行,就可以使程序中每个可执行语句至少执行一次,每个条件的取“真”和取“假”分支也能得到测试。 基本路径集不是唯一的,对于给定的程序图,可以得到不同的基本路径集。  三、基本路径测试实例 1 画流程图和程序图 2 计算圈复杂度 V(G)=4 3 确定路径 路径1:4-14 路径2:4-6-7-14 路径3:4-6-8-10-13-4-14 路径4:4-6-8-11-13-4-14 4 测试用例举例 * * 以详细设计或源程序为基础, 导出程序流程图的拓朴结构——程序图。 程序图是退化了的程序流程图,它是反映控制流程的有向图,其中小圆圈称为结点,代表了流程图中每个处理符号(矩形、菱形框),有箭头的连线表示控制流向,称为程序图中的边或路径。 (a) 程序流程图; (b) 程序图 若判断中的逻辑表达式是复合条件,应分解为一系列只有单个条件的嵌套判断, 如对于图(a)的复合条件的判定应画成图(b)所示的程序图。

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档