网站大量收购独家精品文档,联系QQ:2885784924

《软件测试基础》课件_第5章.ppt

《软件测试基础》课件_第5章.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

图5.3控制流图的基本符号示意图(1)节点:以标有编号的圆圈表示,用于表示程序流程图中矩形框、菱形框的功能,是一个或多个无分支的语句或源程序语句。

(2)控制流线或弧:以箭头表示,与程序流程图中的流线功能一致,表示控制的顺序。

程序流程图简化成控制流图时,需注意以下情况:

(1)在选择或多分支结构中,分支的汇聚处应有一个汇聚结点。

(2)边和结点圈定的范围称为区域。需要注意,图形外的区域也应记为一个区域。

如图5.4所示,图(a)为程序流程图,图(b)表示图(a)转化的控制流图。图5.4程序流程图转化为控制流图示意图控制流图表示成矩阵的形式,称为控制流图矩阵。一个图形矩阵是一个方阵,其行列数目为控制流图中的结点数,行列依次对应到一个被标识的结点,矩阵元素对应到结点间的连接。控制流图的结点用数字标识,边用字母标识,第i结点到第j结点有x边相连接,则对应的图形矩阵中第i行与第j列有一个非空的元素x。为了评估程序的控制结构,控制流图矩阵项加入连接权值,连接权值为控制流提供了如下附加信息:

(1)执行连接(边)的概率;

(2)穿越连接的处理时间;

(3)穿越连接时所需的内存;

(4)穿越连接时所需的资源。

最简单情况是连接权值为1(存在连接)或0(不存在连接)。如图5.5所示,将图5.4(c)的控制流图矩阵转化为连接矩阵。字母替换为1,表示存在边(为表述清晰,0没有画在图中)。图5.5控制流图矩阵转化为连接矩阵5.3.2基本路径测试方法

基本路径是指所有程序路径作为一个集合,在这些路径当中必然存在一个最小路径的集合。基本路径测试通过确定测试用例是否完全覆盖基本路径而进行测试。

基本路径测试法是在程序控制流图的基础上,通过分析控制构造环路复杂性,导出基本可执行路径集合,设计测试用例。

基本路径测试法主要步骤如下所示。

步骤一:以详细设计或源代码作为基础,导出程序的控制流图。

步骤二:计算控制流图G的圈复杂度V(G)。圈复杂度为程序逻辑复杂性提供定量的测度,该度量用于计算程序的基本独立路径数目,确保所有语句至少执行一次的测试数量的上界。

步骤三:确定独立路径的集合,即确定线性无关的路径的基本集。

独立路径是指至少引入程序的一个新处理语句集合或一个新条件的路径,即独立路径必须包含一条在定义之前不曾使用的边。

步骤四:测试用例生成,确保基本路径集中每条路径的执行。下面介绍三种计算控制流图的圈复杂度的方法。

方法一:控制流图G的圈复杂度V(G)的定义为V(G)=

E-N+2,E是图中边的数量,N是图中结点的数量。

如图5.6所示,使用公式V(G)=E-N+2,其中E为10,N为7,则V(G)=10-7+2=5,则圈复杂度为5。图5.6控制流图G方法二:将圈复杂度定义为控制流图中的区域数。

图5.6中的区域数为5,故V(G)?=?5。

方法三:V(G)=P+1,P是控制流图G中判定(谓词)结点的数量。

图5.6中的判定结点为A、B、C、D,即P=4,则根据公式,V(G)=P+1=4+1=5。

方法四:将控制流图5.6转化为连接矩阵,根据图5.5原理,可得图5.6中的判定结点为4,故圈复杂度同样为5。5.4思?考?与?习?题

一、选择题

1.以下不属于白盒测试技术的是()。

A.逻辑覆盖 B.基本路径测试

C.循环覆盖测试 D.等价类划分

2.以下不属于逻辑覆盖的是()。

A.语句覆盖 B.判定覆盖

C.条件覆盖 D.基本路径3.?()方法根据输出对输入的依赖关系设计测试用例。

A.路径测试 B.等价类

C.因果图 D.归纳测试

4.?McCabe建议模块规模应满足V(G)≤()。

A.?20 B.?10

C.?30 D.?40二、简答题

1.白盒测试是什么?白盒测试和黑盒测试的区别体现在哪些方面?

2.为什么说语句覆盖是最弱的逻辑覆盖?

3.条件覆盖为什么不一定包含判定覆盖?

4.采用白盒法进行测试时,测试用例覆盖路径的种类有哪几种?它们相互之间是什么关系?

5.请把下面的程序流程图转换成控制流图。第5章白盒测试5.1概述5.2逻辑覆盖法5.3基本路径测试5.4思考与习题5.1白盒

您可能关注的文档

文档评论(0)

kd8w + 关注
实名认证
内容提供者

kd8w

1亿VIP精品文档

相关文档