当前位置:网站首页>白盒测试案例设计(我爷爷都能看懂)
白盒测试案例设计(我爷爷都能看懂)
2022-07-26 23:20:00 【软件测试李同学】
目录
今年早些时候在B站上学习了一下白盒设计这个理论知识,在这里做一下笔记。感谢黑马程序员的视频支持,不得不感慨,好老师都在企业啊。哈哈哈
白盒测试,又称结构测试、逻辑驱动测试或者基于程序代码内部构成的测试。所以,专业的测试,应该清楚的知道这几种说法都指的是一个意思。
问题:
- 白盒测试方法的概念及应用场景
- 白盒测试方法
- 用各种逻辑覆盖法来和设计白盒测试用例
- 使用基本路径法来设计白盒测试用例
内容:
- 白盒测试的基本介绍
- 白盒测试用例设计方法
- 1静态设计方法
- 2动态设计方法
一、白盒测试的概念及特点
1、什么是白盒测试
代码逻辑的测试
- 白盒测试,又称结构测试、逻辑驱动测试或基于程序代码内部构成的测试。此时,测试工程师需深入考察程序代码的内部结构、逻辑设计等。
- 对于白盒测试工程师来说,软件产品内部构成是透明的。

下列代码是”图书添加“功能页面对象检查功能函数。从白盒测试角度而言,测试工程师仅需关注此段函数所能实现的功能,无须关注该函数的外部功能特性

(代码来源书籍《软件测试技术基础教程-理论、方法、面试》)
2、白盒测试的特点
- 优点:代码覆盖率高
- 缺点:
- 覆盖所有代码路径难度大
- 业务功能可能覆盖不全
- 测试开销大
二、白盒测试设计方法
1、静态设计方法
- 桌面检查
- 代码审查
- 代码走查
- 代码扫描工具
2、动态设计方法
- 逻辑覆盖法
- 语句覆盖
- 判定覆盖
- 条件覆盖
- 判断条件覆盖
- 条件组合覆盖
- 路径覆盖
- 基本路径测试法
三、逻辑覆盖法
- 逻辑覆盖法:是通过程序逻辑结构的便利实现程序的覆盖。
- 覆盖率:是用来度量测试完整性的一个手段

1、语句覆盖
1、语句覆盖设计用例
- 语句覆盖:设计测试用例,是对程序中每条语句至少被执行一次。

例如:
- 案例代码中共有4条可执行语句
- 设计测试用例执行了3条,语句覆盖率为3/4=75%

2、语句覆盖法的局限性

2、判定覆盖
1、判定覆盖法设计用例
- 判定覆盖:也叫分支覆盖,设计测试用例,使得程序中的每个判断的”真“和”假“都至少被执行一次。即:程序中的每个分支至少执行一次。

例如:
- 案例代码中有判定2个,判定结果4个
- 设计测试用例执行了3个分支,分支覆盖率为3/4=75%

2、判定覆盖法的局限性
- 只要满足了判定覆盖标准就一定满足语句覆盖标准。

3、条件覆盖
1、条件覆盖法设计测试用例
- 条件覆盖:设计测试用例,使得判定中的每个条件至少有一次取真值,有一次取假值。
例如:
- 案例代码中有判定2个,条件3个,条件结果6个
- 设计测试用例执行了5个条件结果,条件覆盖率为5/6=83%

2、条件覆盖法的局限性


4、判定条件覆盖
1、判定条件覆盖法设计测试用例
- 判定条件覆盖:设计测试用例,使得被测试程序中的每个判断本身的判定结果(真假)至少满足一次,同时,每个逻辑条件的可能值(真假)也至少被满足一次。即同时满足100%判定覆盖和100%条件覆盖的标准。

例如:
- 案例代码中有判定2个,条件3个,判定结果4个,条件结果6个
- 设计测试用例执行了3个判定结果,5个条件结果,判定条件覆盖率为:(3+5)/(4+6)=80%
2、判定条件覆盖法的局限性

5、条件组合覆盖
1、条件组合覆盖法设计用例
- 条件组合覆盖:设计测试用例,使得被测试程序中的每个判定中条件结果的所有可能组合至少执行一次。

例如:
- 案例代码中有判定2个,条件3个(判定1有2个条件,判定2有1一个条件),判定1的条件组合为4个,判定2的条件组合为2个
- 设计测试用例执行了5个条件组合,条件组合覆盖率为:5/(4+2)=83%

2、条件组合覆盖法的局限性

6、路径覆盖
1、路径覆盖法设计测试用例
- 路径覆盖:设计测试用例,覆盖程序中所有可能的路径。

例如:
- 案例代码中共有4条路径
- 设计测试用例执行了3条路径,路径覆盖率为3/4=75%

2、路径覆盖法的局限性


四、基本路径测试法
- 基本路径测试法:在程序控制流程图的基础上,通过分析程序的环路复杂性,导出基本可执行路径集合,从而设计测试用例
- 基本路径测试法步骤:





五、总结

提问:基本路径和路径覆盖区别是什么?
路径覆盖的路经数是所有路径条数,基本路径覆盖的路经数是环路复杂度的值
边栏推荐
- 【用C语言绘制谢尔宾斯基三角形】
- Open the door of programming
- Plato farm is expected to further expand its ecosystem through elephant swap
- Record the star user of handsomeblog
- 毕业进入HW,从测试工程师到项目经理,现如今在鹅厂年收入百万,我的给大家的一些建议...
- Hcip day 3 Wan topology experiment
- HCIP-第一天
- 【Code】剑指offer 04二维数组中的查找
- LeetCode->二分查找打卡
- 创业3年,现在鹅厂,年收入百万+,作为软件测试前辈的一些建议....
猜你喜欢

【你了解Cache吗——全面理解高速缓冲存储器】

Fist guessing applet based on Object-C novice on the road

BigDecimal 的 4 个坑,你踩过几个?

Hcip day 3 Wan topology experiment

Plato farm is expected to further expand its ecosystem through elephant swap

The pointer is really profound!!!

Plato Farm有望通过Elephant Swap,进一步向外拓展生态

NAT网络地址转换协议-拓扑实验
![Today, let's talk about escape characters [cute new version]](/img/8a/5d60d362c5de42fac0b9abd0754241.png)
Today, let's talk about escape characters [cute new version]

蚂蚁京东新浪10位架构师424页佳作深入分布式缓存从原理到实践pdf
随机推荐
LabelImg标注的xml格式转yolov5
HCIP-第三天-广域网拓扑实验
Sort the three integers from large to small (introduce various methods in detail)
Solve every bit of an integer
测试工作十年,想对还在迷茫的朋友说:一点要做好个人规划...
Interesting C language
NAT network address conversion experiment
The problem of storing elements in TreeSet collection
祝大家七夕快乐,邀你源码共读
f8抓交通、f9抓兔子、f10turtle
Solve prime numbers between 100 and 200
NAT网络地址转换协议-拓扑实验
[Fibonacci sequence and spiral are based on C language]
Guangguangzai's CSDN journey
excel整行删除,图片一起删除
【用C语言绘制直角坐标系】
小姐姐笔记:我是如何学习简单源码拓展视野的
蚂蚁京东新浪10位架构师424页佳作深入分布式缓存从原理到实践pdf
Graduated and entered HW, from test engineer to project manager. Now I earn millions in goose factory every year. My suggestions to you
[brother Yang takes you to play with the linear table (I) - sequence table]