失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 白盒测试--控制流测试(白盒测试 逻辑覆盖 路径测试(基路径测试 循环测试) 控制流图)

白盒测试--控制流测试(白盒测试 逻辑覆盖 路径测试(基路径测试 循环测试) 控制流图)

时间:2023-05-18 02:00:38

相关推荐

白盒测试--控制流测试(白盒测试 逻辑覆盖 路径测试(基路径测试 循环测试) 控制流图)

文章目录

白盒测试概念白盒测试方法--控制流测试语句覆盖判定覆盖(分支覆盖)条件覆盖判定-条件覆盖条件组合覆盖路径覆盖路径测试基路径测试循环测试控制流图基本控制流图复合逻辑下的控制流图图矩阵环形复杂度

白盒测试概念

又叫结构测试,逻辑驱动测试。把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试 。白盒测试法考虑的是测试用例对程序内部逻辑的覆盖程度。最彻底的白盒法是覆盖程序的每一条路径,但是由于程序中一般含有循环,所以路径的数目极大,要执行每一条路径是不可能的,只能希望覆盖的程序尽可能高些。

白盒测试方法–控制流测试

逻辑覆盖:根据被测程序的逻辑结构设计测试用例。测试的重点在于判定框。

语句覆盖

设计若干条测试用例,使程序中每条可执行语句(所有的方框)至少执行一次。

判定覆盖(分支覆盖)

设计测试用例,使程序中的每个逻辑判断的取真和取假的分支至少经历一次。无法确定判定内部条件的错误。

条件覆盖

设计若干测试用例,使程序的每个判定中的每个条件的可能取值至少满足一次。

判定-条件覆盖

使判定中每个条件的可能取值至少满足一次,并且使每个判定分支至少执行一次。同时满足判定、条件两种覆盖标准。缺点在于没有考虑两个条件的组合情况。

条件组合覆盖

使得每个判断表达式中条件的各种可能组合都至少出现一次。

路径覆盖

设计足够多的测试用例,覆盖程序中的每条可能路径。上述满足条件组合覆盖的测试用例不能覆盖路径acd。

路径测试

基路径测试

如果把覆盖的路径数压缩到一定限度内,例如程序中的循环体只执行零次和一次,就成为基路径测试。通过分析程序控制流图的环路的复杂性,导出基本路径集合(独立路径),从而设计测试用例,保证这些路径至少通过一次。独立路径 独立路径必须包含一条在定义之前不曾用到的边。(每一条新的路径都包含了一条新边)控制流图中所有独立路径的集合就构成了基本路径集。 程序环形复杂性 程序的环路复杂性即McCabe复杂性度量,又叫圈复杂度。从程序环路复杂性可导出程序基本路径集合中的独立路径条数。 基本路径测试步骤 导出程序的控制流图;计算控制流图的环路复杂度V(G);确定只包含独立路径的基本路径集;设计测试用例。

循环测试

简化循环的假设 不进入循环只进入一次循环 简单循环测试需设计五种测试 零次循环;一次循环;两次通过循环;m次通过循环,m<循环最大次数;n-1,n次通过循环。其中n是允许通过循环的最大次数。 嵌套循环可按照下面的方法进行测试 从最内层循环开始,将所有其它层的循环设置为最小值;对最内层循环使用简单循环的全部测试。由内向外构造下一个循环的测试。测试时保持所有外层循环的循环变量取最小值,并使其它嵌套内层循环的循环变量取“典型”值;反复进行,直到测试所有的循环。 串接循环 两个或多个简单的循环串接在一起,称为串接循环。如果两个或多个循环毫不相干,则应作为独立的简单循环测试。如果两个循环串接起来,而第一个循环是第二个循环的初始值,则这两个循环并不是独立的。如果循环不独立,则推荐使用嵌套循环的方法进行测试。 非结构循环 不能测试,尽量重新设计给结构化的程序结构后再进行测试。

控制流图

控制流图将程序流程图中结构化构件改用一般有向图的形式表示。控制流图是退化的程序流程图,图中每个处理都退化成一个结点,流线变成连接不同结点的有向弧。控制流图中的基本元素 节点和边 节点由带标号的圆圈表示比如一个处理框序列和一个条件判定框(假设不包含复合条件)。控制流线由带箭头的弧或线表示,可称为边。它代表程序中的控制流。 其中,由边和节点围成的面积称为区域。当计算区域数时,应该包括图外部未被围起来的那个区域。注意:在选择或多分支结构中,分支的汇聚处应有一个汇聚节点。

基本控制流图

复合逻辑下的控制流图

图矩阵

图矩阵是控制流图的矩阵表示形式。有m个节点的控制流图矩阵,是一个m*m矩阵,A=(a(i, j)),其中a(i, j)是1,当且仅当从节点i到节点j有一条弧,否则该元素为0。

环形复杂度

概念 环形复杂度也称为圈复杂度,它是一种为程序逻辑复杂度提供定量尺度的软件度量。环形复杂度的应用–可以将环形复杂度用于基本路径方法,它可以提供程序基本集的独立路径数量。 计算环形复杂度的方法 控制流图中区域的数量对应于环形复杂度。给定控制流图G的环形复杂度V(G),定义为V(G) = E-N+2,其中E是控制流图中边的数量,N是控制流图中的节点数量。给定控制流图G的环形复杂度V(G),也可定义为V(G) = P+1,其中P是控制流图G中判定节点的数量。

如果觉得《白盒测试--控制流测试(白盒测试 逻辑覆盖 路径测试(基路径测试 循环测试) 控制流图)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。