软件测试——白盒测试
目录
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.什么是白盒测试
白盒测试也称结构测试,透明盒测试。主要用于单元测试阶段,代码和逻辑的测试,重点复杂的测试,是一种测试用例设计方法,不同于黑盒测试,白盒测试是可以看到内部代码如何运作的,可通过测试来检测产品内部是否符合规定正常运行。
1.1 白盒测试优缺点
优点:代码覆盖率高
缺点:覆盖所有代码路径难度大
业务功能可能覆盖不全
测试开销大
2.白盒测试方法
2.1 (先)静态
桌面检查、代码审查、代码走查、代码扫描工具
2.2 动态
逻辑覆盖法:通过对程序逻辑结构的遍历实现程序的覆盖
下方都以这个案例为练习
首先:要画出流程图,比较好理解
2.2.1 语句覆盖
语句覆盖:设计测试用例,使得程序中每条语句至少被执行一次
语句覆盖率 = 被执行过的语句数量/可执行的语句总数
举个案例:
这个案例语句覆盖率是百分百的。
但是当把判断条件从if(x>0 && y>0)变成if(x>0 || y>0)时,
会发现这个数据同样适合逻辑覆盖标准,但显然,这样是不正确的。
2.2.2 判断覆盖
判断覆盖:也叫分支覆盖,设计测试用例,使得程序中的每个判断的”真“和”假“都至少被执行一次
判断覆盖率 = 每个判定的真假值至少出现一次/判断结果的总数
举个案例:
将两个判定 if(x>0 && y>0)和if(magic<0) 分别定义为P1、P2
这个案例判断覆盖率是百分百的。
但是当把判断条件从if(x>0 && y>0)变成if(x>0 || y>0)时,
也会发现这个数据同样适合逻辑覆盖标准,但显然,这样也是不正确的。
2.2.3 条件覆盖
条件覆盖:设计测试用例,使得判定中的每个条件至少有一次取真值,有一次取假值
条件覆盖率 = 每个条件的真价值至少出现一次/条件结果的总数(条件结果 = 判断数 * 条件数)
举个案例:
将if(x>0 && y>0)和if(magic<0) 分别定义为P1、P2
将x>0、y>0、magic<0 分别定义为C1、C2、C3
这个案例条件覆盖率是百分百的。
但是会发现,P1都是F、F,P1为真是没有被覆盖到的
所以条件覆盖不能保证判定覆盖
2.2.4 判定条件覆盖
判定条件覆盖:设计测试用例,使得被测程序中的每个判断本身的判定结果(真假)至少满足一次,每个逻辑条件的可能值也至少被满足一次。就是既满足判断覆盖,也满足条件覆盖。
判断条件覆盖率 =每个判断真假值和条件真假值至少出现一次/(判断结果的总数 + 条件结果的总数)
举个案例:
将if(x>0 && y>0)和if(magic<0) 分别定义为P1、P2
将x>0、y>0、magic<0 分别定义为C1、C2、C3
这个案例判断条件覆盖率是百分百的。
但是当把判断条件从if(x>0 && y>0)变成if(x>0 || y>0)时,
也会发现这个数据同样适合逻辑覆盖标准,但显然,这样是不正确的。
2.2.5 条件组合覆盖
条件组合覆盖:设计测试用例,使得被测程序中的每个判定中条件结果的所有可能组合至少执行一次
条件组合覆盖率 = 条件组合至少出现一次的数量/条件组合的总数
举个案例:
将if(x>0 && y>0)和if(magic<0) 分别定义为P1、P2
将x>0、y>0、magic<0 分别定义为C1、C2、C3
条件组合覆盖能够满足语句覆盖、判定覆盖、条件覆盖、判定条件覆盖
但是条件组合覆盖不能保证所有路径被执行。
2.2.6 路径覆盖
路径覆盖:设计测试用例,覆盖程序中所有可能的路径
路径覆盖率 = 至少被执行过一次的路径数/总的路径数
举个案例:
将if(x>0 && y>0)和if(magic<0) 分别定义为P1、P2
将x>0、y>0、magic<0 分别定义为C1、C2、C3
仔细看出C2为假是没有被覆盖的
路径覆盖可以对程序进行彻底的测试,比前面五种覆盖更广。
但是满足路径覆盖,并不一定能满足条件覆盖,也就不能满足条件组合覆盖
2.2.7 基本路径测试法(最常使用)
基本路径测试法:在程序控制流图的基础上,通过分析程序的环路复杂性,导出基本可执行路径集合,从而设计测试用例
软件测试——白盒测试相关推荐
- 啥子?软件测试-白盒测试
软件测试-白盒测试 逻辑覆盖方法可分为语句覆盖.判定覆盖.条件覆盖.判定条件覆盖.多条件覆盖 语句覆盖 语句覆盖:设计测试用例,使得程序中每条语句至少被执行一次 语句覆盖率=至少执行一次的语句数量/可 ...
- 软件测试-白盒测试:逻辑覆盖
逻辑覆盖 参考文献: 软件测试第4章白盒测试一 软件测试--白盒测试 白盒测试-覆盖测试(六种覆盖方法) 几种常用的逻辑覆盖测试方法 目的:结构测试是依据被测程序的逻辑结构设计测试用例,驱动被测程序运 ...
- 工资软件测试白盒测试报告,软件测试白盒测试实验报告
<软件测试白盒测试实验报告>由会员分享,可在线阅读,更多相关<软件测试白盒测试实验报告(7页珍藏版)>请在人人文库网上搜索. 1.西南科技大学计算机学院实验报告实 验 名 称 ...
- 软件测试用例白盒测试,软件测试白盒测试测试用例与代码.doc
软件测试白盒测试测试用例与代码 实验二 白盒测试 1.实验目的 能熟练应用白盒测试技术设计测试用例 2.实验内容 计算生日是星期几 已知公元1年1月1日 是星期一.编写一个程序,只要输入年月日,就能回 ...
- 软件测试 白盒测试案例--代码输入日期计算星期数
文章目录 软件测试 白盒测试案例--代码输入日期计算星期数 一.实验内容 二.实验步骤 三.实验结果 软件测试 白盒测试案例–代码输入日期计算星期数 一.实验内容 以下代码为输入日期计算星期数.对其代 ...
- 软件测试用例白盒测试,软件测试-白盒测试用例练习题
<软件测试-白盒测试用例练习题>由会员分享,可在线阅读,更多相关<软件测试-白盒测试用例练习题(5页珍藏版)>请在人人文库网上搜索. 1.白盒测试用例练习一.为以下所示的程序段 ...
- 白盒测试哪种测试效果好_软件测试白盒测试时需要考虑哪些问题?
在白盒测试中,可以使用各种测试方法进行测试.但是,软件测试人员进行白盒测试时要考虑以下5个问题: (1)测试中尽量先用自动化工具来进行静态结构分析. (2)测试中建议先从静态测试开始,如:静态结构分析 ...
- 软件测试 - 白盒测试
文章目录 白盒测试的基本原理 关注对象 优势 不足和弊端 白盒测试的经济学问题 控制流分析技术 控制流分析技术要解决的问题 线性结构 条件判定结构 while-do循环结构 do-while循环结构 ...
- 软件测试——白盒测试方法
01. 白盒测试基本概念 白盒测试也称为结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试.它根据程序的控制结构设计测试用例,主要用于软件或程序验证.白盒测试法检查程序内部逻辑结构,对所有 ...
- 软件测试--白盒测试、黑盒测试、α测试、β测试
测试的目的:尽可能多的发现缺陷,比如功能的错误,性能低下,易用性差. 测试的思路:先假设程序存在什么缺陷,然后执行程序来发现缺陷. 测试类型:白盒测试,黑盒测试. 主要发现以下问题:是否有不正确或遗漏 ...
最新文章
- 15.linux-LCD层次分析(详解)
- .NET中属性和特性
- Web服务的性能测试
- PyCharm的配置与安装
- 伊利诺伊香槟分校计算机科学,伊利诺伊大学香槟分校计算机科学与工程世界排名2019年最新排名第24(ARWU世界排名)...
- 华为鸿蒙harmonyos-面向全场,华为正式官宣鸿蒙手机版相约6月2日,EMUI官博更名为HarmonyOS...
- 程序员减压方法100%有效
- raspberry pi_用Raspberry Pi制作婴儿监视器
- C#调用c++Dll结构体数组指针的问题
- android 瀑布流StaggeredGridLayoutManager重新排序后,顶部留白处理
- Matlab 均值滤波与中值滤波
- 前端导出 xlsx文件
- npm安装express-art-template报错:no such file or directory, open 'D:xx\xx\package.json解决办法
- 元宇宙正在模糊 “虚拟” 和 “现实” 之间的界限
- UDS诊断故障码及诊断服务介绍(14h, 19h, 85h)
- kali wifi破解(多种方式)
- linux socket 编程
- MySql底层索引原理
- csv文件查找指定内容
- 2017面向对象程序设计(Java)第十七周助教工作总结