网站首页 > 资源文章 正文
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 基本路径测试法(最常使用)
基本路径测试法:在程序控制流图的基础上,通过分析程序的环路复杂性,导出基本可执行路径集合,从而设计测试用例
- 上一篇: 阿常:软件测试的方法(软件测试的几种方法)
- 下一篇: 黑盒测试、白盒测试、灰盒测试之间的异同点
猜你喜欢
- 2024-10-13 代码的黑盒测试(上)—目标文件测试Object File Testing
- 2024-10-13 软件测试面试真题 | 黑盒测试和白盒测试的基本概念是什么?
- 2024-10-13 小程序可测性能力建设与实践(小程序性能测试工具)
- 2024-10-13 嵌入式语音识别系统的识别性能评测——自动化测试工具
- 2024-10-13 测试猿顶级大佬教你五分钟掌握逻辑推断法 轻松搞定黑盒测试
- 2024-10-13 软件测试 | 黑盒测试方法—等价类划分法
- 2024-10-13 黑盒测试中的pid读取的目的和意义
- 2024-10-13 上海控安产品推介:BlitzFuzz工业互联网协议模糊测试工具
- 2024-10-13 黑盒 fuzz 工具 Jackalope 的使用
- 2024-10-13 Apple开发者测试工具、测试方法和测试途径。
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)