51Testing软件测试论坛

标题: 路径测试用例 [打印本页]

作者: 楠族开心果    时间: 2010-8-4 16:13
标题: 路径测试用例
最近在复习准备考试。。。看到这个不明白了,望高手指教
作者: Jackc    时间: 2010-8-4 16:19
长长一大篇,只说了一句话:覆盖所有路径。

比如例子中,有两个2选项的判断节点,那么路径数为:2*2,所以最终用例数为4。
作者: 楠族开心果    时间: 2010-8-4 16:29
能具体说说么?怎么算出来的呢?
作者: Jackc    时间: 2010-8-4 16:31
http://bbs.51testing.com/viewthread.php?tid=170435
这个文档要详细些。
你先看看
作者: 楠族开心果    时间: 2010-8-4 16:33
好的 谢谢 不过对这块学习有没有更好的建议呢?嘿嘿
作者: Jackc    时间: 2010-8-4 16:38
至于刚才我提到的算法,不是标准路径算法。

我套用了判定表用例数计算的方法,当流程图中无循环的时候,就可以使用。其实就是节点选项数之和。而当各个节点选项数相等时,也就是节点数*选项数。

只有最简单的流程图才能使用这种公式,而像上面我提到那篇文档中的流程,往往都带有循环结构,就只能用文档中的公式来计算路径数了。
作者: 楠族开心果    时间: 2010-8-4 16:39
对于这种白盒测试我就开始头晕了~~~~~~~~
作者: Jackc    时间: 2010-8-4 16:44
其实就像学习“因果法”一样,还是得先熟悉基本结构。

分支结构最简单,一般看看就能懂;难点是循环结构。

首先要将“图 10-4-7 控制流图的各种图形符号”中的基本机构弄熟,然后就可以在实际的流程图中套用结构来分解流程图。
作者: 楠族开心果    时间: 2010-8-4 16:45
符号什么倒能看懂 具体算法有点迷糊了~
作者: Jackc    时间: 2010-8-4 16:46
不要怕撒,因果法的与啊、非啊、或啊这些还不是看着复杂,熟悉后就简单了嘛。加油~~
作者: 楠族开心果    时间: 2010-8-4 16:47
恩 谢谢啦~挺佩服你的,懂的真多
作者: Jackc    时间: 2010-8-4 16:47
你说的是这一块内容?

  通常环路复杂性可用以下3种方法求得。
  (1) 将环路复杂性定义为控制流图中的区域数。
  (2) 设E为控制流图的边数,N为图的结点数,则定义环路复杂性为V(G)=E-N+2。
  (3) 若设P为控制流图中的判定结点数,则有V(G)=P+1。
  因为图 10-4-9(b)所示控制流图有4个区域。其环路复杂性为4。它是构成基本路径集的独立路径数的上界。可以据此得到应该设计的测试用例的数目。
作者: Jackc    时间: 2010-8-4 16:48
其实测试就是机器猫,啥都会点,啥都不精……
作者: 楠族开心果    时间: 2010-8-4 16:50
标题: 回复 12# 的帖子
恩 对的
作者: 楠族开心果    时间: 2010-8-4 16:51
标题: 回复 13# 的帖子
那也不错啦~什么都拿得起
作者: Jackc    时间: 2010-8-4 17:07
原帖由 Jackc 于 2010-8-4 16:47 发表
你说的是这一块内容?

  通常环路复杂性可用以下3种方法求得。
  (1) 将环路复杂性定义为控制流图中的区域数。
  (2) 设E为控制流图的边数,N为图的结点数,则定义环路复杂性为V(G)=E-N+2。
  ...



首先,实例将标准流程图化简,化简的重点在于:整合非判断节点。
比如图 10-4-9 (a)图中的节点2,它不具备判断功能,所以在(b)图中,就将节点2和3整合为一个判断节点,判断条件也变成了2+3。

然后,化简为b图后,可以数出B图中有多少条边E(边的定义是两个节点间的线段为1条边,b图中有10条边);多少个区域P(边分割出的区域,b图中有4个区域);多少个节点N(b图中头9个节点),判定节点数P(这一点我理解的不是很透彻,我不清楚判定节点是否包括初始点,文档说是3,我数出来是4……)

所以,环路复杂性为V(G)=E-N+2= 10 - 9 +2 = 4

这个4就是覆盖每条语句需要的最少路径数。
作者: Jackc    时间: 2010-8-4 17:23
另外,推荐另一篇路径覆盖的文章,有时间也可以看看。

[attach]64253[/attach]
作者: 楠族开心果    时间: 2010-8-4 17:43
好的 谢谢啦~关于这方面我还是很欠缺的 哎




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2