白盒测试及用例详解

article/2025/9/14 11:42:06

目录

第一部分:概念理解

第二部分:上例题

第三部分:例题解答

附:纸质版解答过程

参考链接


第一部分:概念理解

在白盒测试中,逻辑覆盖测试是使用较多的方法。按照其对测试的有效程度,又将其划分为由弱到强的6种:语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖。

详细看下图的分类:




第二部分:上例题

实践是检验真理的唯一标准,下面用一道例题,来巩固和学习上面的几种逻辑覆盖方法。

源代码:

public void function(int a, int b, int c)
{
    if ((a > 1) && (b == 0))
    {
        c /= a;
    }
    if ((a == 5) || (c > 1))
    {
        c += 1;
    }
    c = a + b + c;
}

程序流程图:

图中A、B、C、D、E分别表示路径;并且记第一个判断为P1,记第二个判断为P2;一共有4个条件,我们记为C1:a>1、C2:b=0、C3:a=5、C4:c>1。




第三部分:例题解答

根据上面例子来看看如何写出6种覆盖的测试用例。

语句覆盖

测试数据C1C2C3C4P1P2路径
a=5,b=0,c=6    TTA→C→E

判定覆盖(也叫分支覆盖)

测试数据C1C2C3C4P1P2路径
a=2,b=0,c=1    TFA→C→D
a=0,b=1,c=2    FTA→B→E

 条件覆盖

测试数据C1C2C3C4P1P2路径
a=5,b=0,c=1TTTF  A→C→E
a=1,b=3,c=6FFFT  A→B→E

判定-条件覆盖(也叫条件-分支覆盖)

测试数据C1C2C3C4P1P2路径
a=2,b=0,c=1TTFFTFA→C→D
a=5,b=1,c=10FFTTFTA→B→E

条件组合覆盖

测试数据C1C2C3C4P1P2路径
a=5,b=0,c=4TTTF  A→C→E
a=2,b=1,c=5TFTT  A→B→E
a=0,b=0,c=2FTFT  A→B→E
a=-1,b=1,c=-1FFFF  A→B→D

路径覆盖

测试数据C1C2C3C4P1P2路径
a=1,b=1,c=1    FFA→B→D
a=1,b=0,c=6    FTA→B→E
a=2,b=0,c=1    TFA→C→D
a=5,b=0,c=10    TTA→C→E

附:纸质版解答过程

参考链接

参考例子和我的解答,你一定可以弄的清楚明白的。还有就是,最好自己动手做一做。

参考博客1:https://blog.csdn.net/liujian619/article/details/45270813

参考博客2:https://blog.csdn.net/u011032983/article/details/52123426

如果想对软件测试这门课有更系统的认识,可以参考我的另一篇博文


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

相关文章

白盒测试内容

白盒测试方法根据模块内部结构,基于程序内部逻辑结构,针对程序语句、路径、变量状态等来进行测试。 单元测试主要采用白盒测试方法,辅以黑盒测试方法。白盒测试方法应用于代码评审、单元程序之中,而黑盒测试方法则应用于模块、组件…

白盒测试

一、逻辑覆盖 逻辑覆盖法是最常用的白盒测试方法,它包括以下5种方法: ● 语句覆盖 ● 判定覆盖 ● 条件覆盖 ● 判定-条件覆盖 ● 条件组合覆盖 1.语句覆盖 语句覆盖(Statement Coverage)又称行覆盖、段覆盖、基本块覆盖,它是最常见的覆盖方式…

软件测试——白盒测试

目录 1.什么是白盒测试 1.1 白盒测试优缺点 2.白盒测试方法 2.1 静态 2.2 动态 2.2.1 语句覆盖 2.2.2 判断覆盖 2.2.3 条件覆盖 2.2.4 判定条件覆盖 2.2.5 条件组合覆盖 2.2.6 路径覆盖 2.2.7 基本路径测试法(最常使用) 1.什么是白盒测试 白盒测试也称结构测试&…

白盒测试中的几种覆盖方法

​ ​白盒测试用例设计的一个很重要的评估标准就是对代码的覆盖度。一说到覆盖,大家都感觉非常熟悉,但是常见的覆盖都有哪些?各自有什么优缺点?在白盒测试的用例设计中我们应该如何自如地运用呢?今天小编就为大家总…

「软件测试4」一文详解四大典型的白盒测试方法

软件测试——详解白盒测试基本概念,四种白盒测试方法 这是我参与更文挑战的第3天,活动详情查看:更文挑战 在上一篇文章中,我们讲到了黑盒测试。黑盒测试相较于白盒测试来说比较简单,不需要了解程序内部的代码&#x…

白盒测试方法 + 实战

定义 白盒测试又称结构测试,透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,白盒指的是程序的内部结构和运作机制是可见的。    目的   通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试;在程序…

白盒测试的方法笔记

白盒测试的方法笔记 一、概述:二、方法2.1 语句覆盖:2.2 判定覆盖2.3 条件覆盖2.4 判定条件覆盖2.5 条件组合覆盖2.6 路径覆盖2.7、逻辑覆盖总结 一、概述: 白盒测试也称结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作…

白盒测试的概念、目的是什么?及主要方法有哪些?

目录 1 白盒测试的概念 2 白盒测试的主要目的 3 测试覆盖标准 4 白盒测试的主要方法 4.1 逻辑驱动测试 4.1.1 语句覆盖 4.1.2 判定覆盖(分支覆盖) 4.1.3 条件覆盖 4.1.4 判定/条件覆盖 4.1.5 条件组合覆盖 4.1.6 黑盒法补充测试用例 4.2 路径…

白盒测试方法

一、概述: 白盒测试也称结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试。它根据程序的控制结构设计测试用例,主要用于软件或程序验证。 白盒测试法检查程序内部逻辑结构,对所有逻辑路径进行测试,是…

软件测试笔记(四):白盒测试

1 白盒测试 白盒测试是对软件的过程性细节做细致的检查,把测试对象看作是一个打开的盒子,允许测试人员利用程序内部的逻辑结构以及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态&#xff0…

白盒测试方法|白盒测试的六种方法比较分析

白盒测试的六种方法比较分析 一、摘要 白盒测试是测试人员常用的一种测试方法,越来越受到测试工程师的重视。白盒测试并不是简单的按照代码测试用例而走,需要根据不同的测试需求,结合不同的测试对象,使用适合的方法进行测试。本文…

白盒测试的各种方法

文章目录 一、逻辑测试法设计测试用例1.1语句覆盖1.2判定覆盖1.3条件覆盖1.4判断、条件覆盖&#xff08;CDC&#xff09;1.5条件组合覆盖&#xff08;MCC&#xff09; 二、基本路径测试法2.1定义&#xff1a;2.2程序控制流图 白盒测试又叫架构测试 语句覆盖<条件覆盖<判定…

白盒测试怎么做?

目录 前言 一、什么是白盒测试 二、白盒测试的分类 三、白盒测试的设计方法 四、白盒测试静态方法 五、白盒测试动态方法 六、白盒测试的特点 七、总结 前言 在企业内部&#xff0c;软件测试工程师基本处于“双高”地位&#xff0c;即地位高、待遇高。可以说他们的职业…

SpringBoot 默认数据库连接池 HikariCP

目录 引言 1、问题描述 2、SpringBoot默认的数据库连接池 3、HikariCP是什么 4、测试依赖 5、配置文件 5.1、数据库连接参数 5.2、连接池数据基本参数 5.3、连接检查参数 5.4、事务相关参数 5.5、JMX参数 6、HikariCP源码浅析 6.1、HikariConfig--连接池配置的加载…

HikariCP配置手册

必须配置 1、dataSourceClassName或者jdbcUrl &#xff08;二选一&#xff09; 在Springboot 自动装配&#xff0c;或使用Mysql DataSource 情况下 请使用jdbcUrl。其他情况&#xff0c;HikariCP建议使用DataSourceClassName dataSourceClassName &#xff1a;意思是JDBC驱动…

HikariCP 创建连接

PoolEntry PoolEntry 是 HikariCP 中对数据库物理连接的封装。 那我们现在探索问题的关键点就是&#xff1a; PoolEntry.connection 是如何创建的&#xff1b;连接是何时创建的&#xff1b; 我们先看下 HikariCP 中数据源、连接、连接池之间的关系。 创建连接 连接池的初…

hikaricp mysql_配置HikariCP连接池

配置HikariCP连接池 数据库配置 spring.datasource.driver-class-namecom.mysql.jdbc.Driver 指定 spring 连接数据源驱动 spring.datasource.typecom.zaxxer.hikari.HikariDataSource 指定 spring 连接数据源类型 spring.datasource.urljdbc:mysql:///dbgoods?serverTimezone…

HikariCP连接池

背景 自己在写点代码的时候之前pom文件的内容都是从前一个项目中复制的&#xff0c;并没有认真分析一下各种依赖的关系&#xff0c;有时候重复的问题会出现好多次&#xff0c;比如说连接数据库报错&#xff0c;有时候配置没有问题&#xff0c;可能是依赖的jar包的问题&#xf…

HikariCP数据库连接池详解

HikariCP数据库连接池详解 1. 数据库连接池概述2. 为什么需要连接池3. HikariCP概述4. HikariCP特点5. HikariCP配置6. HikariCP案例验证 1. 数据库连接池概述 连接池是一种常用的技术&#xff0c;为什么需要连接池呢&#xff1f; 这个需要从TCP说起。假如我们的服务器跟数据库…

hikaricp mysql_HikariCP数据库连接池

摘要: 原创出处 hacpai.com/article/1582096971127 「jianzh5」欢迎转载&#xff0c;保留摘要&#xff0c;谢谢&#xff01; 什么是数据库连接池&#xff1a; 连接池是一种常用的技术&#xff0c;为什么需要连接池呢&#xff1f;这个需要从TCP说起。假如我们的服务器跟数据库没…