IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 白盒测试的用例设计方法汇总【软件工程】 -> 正文阅读

[开发测试]白盒测试的用例设计方法汇总【软件工程】

目录

I. 白盒测试概述

II. 语句覆盖

III. 分支覆盖(判定覆盖)

IV. 条件覆盖

V. 判定条件覆盖

VI. 组合覆盖

VII. 路径覆盖


高质量前端博主,点个关注不迷路🌸🌸🌸

I. 白盒测试概述

白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。

白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,即清楚盒子内部的东西以及里面是如何运作的。"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。

白盒测试的核心是测试用例的设计因为当穷举测试时,所需的时间是不可达到的,因此需要一些特殊的测试用例设计方法,以下是六种常见的用例设计方法


II. 语句覆盖

语句覆盖保证设计的用例能够满足每个语句被执行一次仅仅保证语句被执行,而不考虑语句没有被执行的情况,更没有考虑每个判断条件的真和假各一次,因此是最弱的覆盖用例。

例:IF A AND B :ACTION1;

IF C OR D :ACTION2

于是可以用:A = true, B = true, C = false 即可


III. 分支覆盖(判定覆盖)

分支覆盖又叫判定覆盖,保证设计的用例能够满足每个判断的取真与取假至少各一次,但不保证每个条件都取一遍真和假。

注意,只是判断的取真和取假各一次,意思是:

(A AND B) 真 假 各一次; (C OR D) 真 假 各一次

例:IF A AND B :ACTION1;

IF C OR D :ACTION2

于是可以用:A = true, B = true, C = true

A = false, C = false, D = false?? 这两组来测试


IV. 条件覆盖

条件覆盖保证设计的用例能够满足每个条件的取真和取假至少各一次,但不保证每个判断的取真和取假各一次。

注意,只是每个条件的取真和取假各一次,意思是:

A真 假 各一次;B真 假 各一次;C真 假 各一次;D真 假 各一次;

且不考虑A B 各种取真取假组合、C D 各种取真取假组合是不是都组合了一次

例:IF A AND B :ACTION1;

IF C OR D :ACTION2

于是可以用:A = true, B = true, C = true,D = true

A = false, B = false, C = false,D = false


V. 判定条件覆盖

判定条件覆盖保证设计的用例能够同时满足分支覆盖和条件覆盖,它是二者的结合,即既满足每个判断的取真、取假各一次,又满足每个条件的取真、取假各一次。

例:IF A AND B :ACTION1;

IF C OR D :ACTION2

于是可以用:A = true, B = true, C = true,D = true

A = false, B = false, C = false,D = false


VI. 组合覆盖

组合覆盖保证各个条件的各种可能组合都至少出现一次,因此比前面所有的测试的覆盖范围都要广,且用例也能全部满足前面提到的几种测试。

组合覆盖的意思是:

A true B true、A false B false、A false B true、A true B false 各一次,同理C 和 D

例:IF A AND B :ACTION1;

IF C OR D :ACTION2

于是可以用:

A true B true??? C true D true

A false B false? C false D false

A false B true?? C false D true

A true B false?? C true D false


VII. 路径覆盖

路径覆盖保证设计的用例能够满足每条程序路径都执行一次,实现路径全覆盖,即:

Action 1 执行、Action 2 执行

Action 1 执行、Action 2 不执行

Action 1 不执行、Action 2 执行

Action 1 不执行、Action 2 不执行

路径覆盖在实际开发中并不常用,原因是复杂的项目的路径是错综复杂的,因此会导致测试次数过多,无法在有限时间内完成。

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-05-05 11:49:55  更:2022-05-05 11:50:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 12:20:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码