语句覆盖,判定覆盖,条件覆盖,条件/判定覆盖,条件组合覆盖,路径覆盖

article/2025/10/7 9:26:37

最近在复习软件测试的考试,每次到白盒测试这里都要为这几种逻辑覆盖方法感到头疼,这次终于决定好好整理出来。

逻辑覆盖是通过对程序逻辑结构的遍历实现程序的覆盖。它是一系列测试过程的总称,这组测试过程逐渐进行越来越完整的通路测试。
根据覆盖目标的不同和覆盖源程序语句的详尽程度,逻辑覆盖又可分为:语句覆盖,判定覆盖,条件覆盖,条件/判定覆盖,条件组合覆盖,路径覆盖

这里以一个题目引入:

if (a>1) and (b = 0)
then x = x / a
if (a = 2) or (x > 1)
then x = x+ 1
  1. 根据以上程序段画出程序流程图
  2. 按照要求给出六种逻辑覆盖的测试用例

程序流程图如下:
在这里插入图片描述

注:[可执行语句:流程图中的矩形;判定:流程图中的菱形]

(一) 语句覆盖:选择足够多的测试用例,使程序中每一可执行语句至少执行一次

分析:需要覆盖的可执行语句为x = x / ax = x + 1

测试用例如下:

a = 2, b = 0, x = 3   覆盖路径:a-c-e

(二) 判定(分支)覆盖:选择足够多的测试用例,使程序中每个判定的"真"和"假"至少执行一次

分析:需要覆盖的路径为:a-c-e和a-b-da-b-e和a-c-d

测试用例如下:

答案1
a = 2, b = 0, x = 3 覆盖路径:a-c-e
a = 1, b = 0, x = 1 覆盖路径:a-b-d答案2
a = 2, b = 1, x = 1 覆盖路径:a-b-e
a = 3, b = 0, x = 3 覆盖路径:a-c-d

(三) 条件覆盖:选择足够多的测试用例,使程序中每个判定的每个条件取得各种可能的结果

分析:需要满足的判定为:判定一(a > 1, a <= 1, b = 0, b != 0) ; 判定二(a = 2, a != 2, x > 1, x <= 2)

测试用例如下:

答案1
a = 2, b = 0, x = 3 取到a>1(同时满足a=2), b = 0, x>1
a = 1, b = 1, x = 1 取到a <= 1(同时满足a!=2), b != 0, x <= 2答案2
a = 1, b = 0, x = 3 取到a <= 1(同时满足a!=2), b = 0, x >1
a = 2, b = 1, x = 1 取到a>1(同时满足a=2), b != 0, x<=2

(四) 判定/条件覆盖:选择足够多的测试用例,使程序中每个判定的"真"和"假"至少执行一次,并且每个判定的每个条件取得各种可能的结果。

分析:

  1. 需要覆盖的路径为:a-c-e和a-b-da-b-e和a-c-d

  2. 需要满足的判定为:判定一(a > 1, a <= 1, b = 0, b != 0) ; 判定二(a = 2, a != 2, x > 1, x <= 2)

测试用例如下:

a = 2, b = 0, x = 3 覆盖路径a-c-e 取到a>1(同时满足a=2), b = 0, x>1
a = 1, b = 1, x = 1 覆盖路径a-b-d 取到a <= 1(同时满足a!=2), b != 0, x <= 2

(五) 条件组合覆盖:选择足够多的测试用例,使程序中所有判定的条件组合至少执行一次

分析:需要覆盖的条件组合为:

a > 1, b = 0
a>1, b != 0
a <= 1, b = 0
a <= 1, b != 0
a = 2, x > 1
a = 2, x< = 1
a != 2, x > 1
a != 2, x <= 1

测试用例如下

a = 2, b = 0, x = 3 覆盖组合1,5
a = 2, b = 1, x = 1 覆盖组合2,6
a = 1, b = 0, x = 3 覆盖组合3,7
a = 1, b = 1, x = 1 覆盖组合4,8

(六) 路径覆盖:选择足够多的测试用例,使程序中每条路径至少执行一次

分析:需要覆盖的路径为:a-c-e、 a-b-d、 a-b-e、 a-c-d

a = 2, b = 0, x = 3 覆盖路径:a-c-e
a = 1, b = 0, x = 1 覆盖路径:a-b-d
a = 2, b = 1, x = 1 覆盖路径:a-b-e
a = 3, b = 0, x = 4 覆盖路径:a-c-d

http://chatgpt.dhexx.cn/article/k0itAPe0.shtml

相关文章

软件测试培训之:白盒测试的语句覆盖法和判定覆盖法

白盒测试是相对于黑盒测试而言的&#xff0c;黑盒测试不关注程序内部的实现结构&#xff0c;仅仅是通过向程序进行输入来观察程序的输出对不对;白盒测试就需要关注程序内部的实现结构&#xff0c;对程序的逻辑结构实施相关的测试;那么下面来谈谈语句覆盖法、判定覆盖法和条件覆…

语句覆盖、判定覆盖、条件覆盖 - 白盒笔试题解析

1. 定义 黑盒测试 - 不关注内部结构的测试/基于输入输出的测试 白盒测试 - 基于内部结构的测试 白盒测试的关键&#xff1a; 覆盖度 2. 白盒相关概念 语句覆盖 - 设计一套测试 让被测对象中所有语句得到测试覆盖 判定覆盖 - 设计一套测试 让被测对象中所有判定得到测试覆…

白盒测试用例设计方法(语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖、路径覆盖、基本路径覆盖)

语句覆盖&#xff1a;每条语句至少执行一次。 判定覆盖&#xff1a;每个判定的所有可能结果至少出现一次。&#xff08;又称“分支覆盖”&#xff09; 条件覆盖&#xff1a;每个条件的所有可能结果至少执行一次。 判定/条件覆盖&#xff1a;一个判定中的每个条件的所有可能结果…

白盒测试的逻辑覆盖辨析(语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖)

白盒测试逻辑覆盖&#xff08;语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖&#xff09; 逻辑覆盖测试&#xff1a; 语句覆盖&#xff1a;每条语句至少执行一次判定覆盖&#xff1a;每一判定的每个分支至少执行一次条件覆盖&#xff1a;每一判定中的每个条件&…

白盒测试技术——语句覆盖、判定覆盖、条件覆盖

结合一个例子说&#xff1a; 画出相应的程序流程图&#xff0c;更方便分析&#xff1a; 首先我们要明确一点&#xff1a;测试用例要尽可能少。 1、语句覆盖&#xff1a;被测程序中每个语句至少执行一次 路径&#xff1a;s->a->b->c->d->e A2&#xff0c;B0&a…

语句覆盖、分支覆盖、谓词测试和路径覆盖

目录 语句覆盖分支覆盖&#xff08;判定覆盖&#xff09;谓词测试原子谓词覆盖&#xff08;条件覆盖&#xff09;分支-谓词覆盖(判定条件覆盖或分支条件覆盖)复合谓词覆盖&#xff08;条件组合覆盖&#xff09; 路径覆盖包含关系 语句覆盖 “语句覆盖”是一个比较弱的测试标准…

白盒测试 | 用例设计方法之语句覆盖

语句覆盖&#xff0c;顾名思义就是针对代码语句的嘛。它的含义是我们设计出来的测试用例要保证程序中的每一个语句至少被执行一次。通常语句覆盖被认为是“最弱的覆盖”&#xff0c;原因是它仅仅考虑对代码中的执行语句进行覆盖而没有考虑各种条件和分支&#xff0c;因此在实际…

逻辑覆盖测试(一)语句覆盖

语句覆盖&#xff1a; 设计测试用例时保证程序的每条语句至少执行一次。 简单来说&#xff0c;就是每个语句都覆盖一遍。 例子&#xff1a; 流程图如下&#xff1a; 测试用例如下&#xff1a; x4,z9&#xff0c;第一个if语句执行到了&#xff1b; x4,y7,第二个if语句为true…

设计测试用例实现语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,条件组合覆盖,路径覆盖.

第一题&#xff1a; 设计测试用例实现语句覆盖,判定覆盖,条件覆盖&#xff0c;判定/条件覆盖,条件组合覆盖,路径覆盖. 【1】语句覆盖&#xff08;设计若干个测试用例&#xff0c;使程序中的每个可执行语句至少执行一次&#xff09; &#xff08;x>3&#xff09;&&&…

语句覆盖、条件覆盖、判定覆盖、条件-判定覆盖、组合覆盖、路径覆盖

文章目录 语句覆盖判定覆盖条件覆盖条件--判定覆盖组合覆盖路径覆盖 逻辑覆盖率&#xff1a;语句覆盖<条件覆盖<判定覆盖<条件-判定覆盖<组合覆盖<路径覆盖 语句覆盖 基本思想&#xff1a;设计用例&#xff0c;使程序中的每个可执行语句至少执行一次。 每个可执…

软件测试 白盒测试用例设计方法动态 逻辑覆盖(语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖)基本路径测试法

文章目录 1 静态2 动态2.1 逻辑覆盖2.1.1 语句覆盖2.1.2 判定覆盖2.1.3 条件覆盖2.1.4 判定条件覆盖2.1.5 条件组合覆盖2.1.6 路径覆盖 2.2 基本路径测试法&#xff08;重点&#xff09; 小结 白盒设计方法分为静态和动态。 1 静态 静态的白盒测试方法有桌面检查、代码审查、代…

软件测试——语句覆盖

语句覆盖 一、定义&#xff1a; 程序中每一个语句至少能被执行一次 二、特点&#xff1a; 1、程序中每一个语句执行一次 2、对程序执行逻辑的覆盖率低&#xff0c;属于最弱的覆盖方式 3、无需测试程序的分支情况 4、无需测试程序分支判断的输入值以及输入值的组合 5、无需测试…

软件测试语句覆盖,软件测试中的语句覆盖,分支覆盖,条件覆盖以及路径覆盖...

我举一个简单的例子来解释一下语句覆盖,分支覆盖,条件覆盖以及路径覆盖的相关知识,如果有不对的地方,恳请各位同行指正: 举例说明: if A=true and B=true then Action1 if C=true or D=true then Action2 这是一个很简单的例子,也就是,当A和B都为真的情况下,执行Actio…

语句覆盖

一、定义 程序中每一个语句至少能被执行一次 二、特点 1、程序中每一个语句执行一次 2、对程序执行逻辑的覆盖率低&#xff0c;属于最弱的覆盖方式 3、无需测试程序的分支情况 4、无需测试程序分支判断的输入值以及输入值的组合 5、无需测试程序执行的不同路径 三、程序流程…

白盒测试的几种覆盖方法:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖详解

文章转自&#xff1a;https://blog.csdn.net/LOVEYSUXIN/article/details/82592588?utm_mediumdistribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_sourcedistribute.pc_relevant.none-task-blog-BlogCommendFromMachineLear…

白盒测试用例设计方法(语句覆盖、判定覆盖、条件覆盖)

六种覆盖标准发现错误的能力呈由弱到强的变化 语句覆盖&#xff1a;每条语句至少执行一次。 判定覆盖&#xff1a;每个判定的每个分支至少执行一次。 &#xff08;包含语句覆盖&#xff0c;每个判断T、F各一次&#xff09;条件覆盖&#xff1a;每个判定的每个条件应取到各种可…

语句覆盖(Statement coverage)

一、语句覆盖(Statement coverage) “语句覆盖”是一个比较弱的测试标准&#xff0c;它的含义是&#xff1a;选择足够的测试用例&#xff0c;使得程序中每个语句至少都能被执行一次。 图6.4是一个被测试的程序&#xff0c;它的源程序…

语句覆盖法

语句覆盖法 文章目录 语句覆盖法一、什么是语句覆盖二、要执行的语句代码三、设计测试用例&#xff0c;1.测试用例数据2.执行测试用例 四、 语句覆盖缺点 一、什么是语句覆盖 语句覆盖&#xff1a;就是设计若干个测试用例 &#xff0c;运行被测程序&#xff0c;使得每一可执行…

语句覆盖、条件覆盖、判定覆盖、条件-判定覆盖、路径覆盖

白盒测试的测试用例在大二学习软件工程的时候也是一个重点模块&#xff0c;但是上课没有太多时间做太多的测试用例&#xff0c;然后许久不用会搞乱&#xff0c;所以这里简单复盘一下。 白盒测试是结构测试&#xff0c;主要对代码的逻辑进行验证。 逻辑覆盖率&#xff1a;语句覆…

卷积码和维特比译码

卷积码 基本概念 卷积码常记为(n, k, N)&#xff1a; n n n为模2和相加器的个数 N N N为输入移位寄存器的段数&#xff08;称为约束长度&#xff09; k k k表示每段有 k k k级 编码效率为 R c k n R_c \frac{k}{n} Rc​nk​ 距离特性 纠错能力的度量&#xff1a;最大的最…