通俗理解白盒测试、黑盒测试
白盒测试
- 白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,即清楚盒子内部的东西以及里面是如何运作的。"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。
方法:
- 逻辑覆盖:以程序的内部逻辑结构为基础,分为语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖等。
- 基本路径测试:在程序控制流程的基础上,分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例。
语句覆盖
优点
- 可以很直观地从源代码得到测试用例,无须细分每条判定表达式。
缺点
- 由于这种测试方法仅仅针对程序逻辑中显式存在的语句,但对于隐藏的条件是无法测试的。如在多分支的逻辑运算中无法全面的考虑。语句覆盖是最弱的逻辑覆盖。
分支覆盖
这样就只需要一半
优点
- 判定覆盖具有比语句覆盖更强的测试能力。同样判定覆盖也具有和语句覆盖一样的简单性,无须细分每个判定就可以得到测试用例。
缺点
- 往往大部分的判定语句是由多个逻辑条件组合而成,若仅仅判断其整个最终结果,而忽略每个条件的取值情况,必然会遗漏部分测试路径。判定覆盖仍是弱的逻辑覆盖。
条件覆盖
优点
- 增加了对条件判定情况的测试,增加了测试路径。
缺点
- 条件覆盖不一定包含判定覆盖。条件覆盖只能保证每个条件至少有一次为真,而不考虑所有的判定结果。
条件组合覆盖
路径覆盖
黑盒测试
- 测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性
- 只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明
- 又叫做功能测试或数据驱动测试
等价类划分
简单例子
边界值分析
常见的边界值
- 对16-bit 的整数而言 32767 和 -32768 是边界
屏幕上光标在最左上、最右下位置
报表的第一行和最后一行
数组元素的第一个和最后一个
循环的第 0 次、第 1 次和倒数第 2 次、最后一次
例子
- 例如,如果程序的规格说明中规定:“重量在10公斤至50公斤范围内的邮件,其邮费计算公式为……”。作为测试用例,我们应取10及50,还应取10.01,49.99,9.99及50.01等。
- 比如,一个输入文件应包括1~255个记录,则测试用例可取1和255,还应取0及256等。
- 例如,某程序的规格说明要求计算出"每月保险金扣除额为0至1165.25元",其测试用例可取0.00及1165.25、还可取-0.01及1165.26等。
- 再如一程序属于情报检索系统,要求每次“最少显示1条、最多显示4条情报摘要”,这时我们应考虑的测试用例包括1和4,还应包括0和5等。
状态测试
案例
静态分析
参考
参考
通俗理解白盒测试、黑盒测试相关推荐
- 通俗理解条件熵-数学
就是决策树里面选划分属性用到的计算 条件熵越小表示划分之后各个集合越纯净 前面我们总结了信息熵的概念通俗理解信息熵 - 知乎专栏,这次我们来理解一下条件熵. 我们首先知道信息熵是考虑该随机变量的所有可 ...
- 通俗理解tf.nn.conv2d() tf.nn.conv3d( )参数的含义 pytorhc 卷积
20210609 例如(3,3,(3,7,7))表示的是输入图像的通道数是3,输出图像的通道数是3,(3,7,7)表示过滤器每次处理3帧图像,卷积核的大小是3 x 7 x 7. https://blo ...
- 通俗理解tf.name_scope()、tf.variable_scope()
前言:最近做一个实验,遇到TensorFlow变量作用域问题,对tf.name_scope().tf.variable_scope()等进行了较为深刻的比较,记录相关笔记: tf.name_scope ...
- dft变换的两幅图_离散傅立叶变换DTFT、DFT和FFT在工程与数学结合的通俗理解
1.离散时间傅里叶变换DTFT 何为DTFT?就是对连续时间非周期信号进行抽样(乘积),得到的离散时间非周期信号再求傅里叶变换的过程就是DTFT.其实等同于信号频谱与脉冲信号频谱的卷积,这样得到的就是 ...
- 通俗理解kaggle比赛大杀器xgboost + XGBOOST手算内容 转
通俗理解kaggle比赛大杀器xgboost 转 https://blog.csdn.net/v_JULY_v/article/details/81410574 XGBOOST有手算内容 htt ...
- 通俗理解注意力机制中的Q、K和V表示的具体含义
https://www.jianshu.com/p/7a61533fd73b 通俗理解讲解一 以翻译为例 source:我 是 中国人 target: I am Chinese 比如翻译目标单词为 I ...
- 白盒测试黑盒测试和单元测试集成测试和系统测试的关系
下图为白盒测试黑盒测试和单元测试集成测试和系统测试的关系 UT--Unit testing IT--Integration testing ST--system testing UT---White- ...
- 对于随机森林的通俗理解
原文:http://blog.csdn.net/mao_xiao_feng/article/details/52728164 对于随机森林的通俗理解 一.决策树 决策树是机器学习最基本的模型,在不考虑 ...
- CNN笔记:通俗理解卷积神经网络
通俗理解卷积神经网络(cs231n与5月dl班课程笔记) http://blog.csdn.net/v_july_v/article/details/51812459 1 前言 2012年我在北京组织 ...
最新文章
- MapReduce-流量统计求和-排序-Mapper和Reducer编写
- Upload-Labs(1-5)
- 肖申克的救赎,阅后瞎想...(zz)写的不错
- [LintCode] 翻转二叉树
- 小米 redmibook 14 锐龙版 安装linux ubuntu 20 19 18 deepin 无线网卡驱动问题解决方案
- Android 微信、QQ、微博分享问题汇总
- 将虚幻引擎5与Perforce Helix Core集成使用吧!
- Excel自动插入jpg图片或png图片 VBA 工具 模块
- [SSL_CHX][2021-08-19]前缀和
- 手机数据安全成为315晚会重灾区
- IP防护等级解释说明
- 人脂肪前体细胞,研究糖尿病胰岛抵抗、肥胖的优秀体外模型
- Java 之父求职被嫌年纪大,硅谷公司现在喜欢“小鲜肉”,不爱“老古董” 作者:程序媛Adele
- python正整数平方根_python怎么求一个数的平方根
- mysql 获得元素的数量_一个递归获取祖先元素值的MySQL函数范例
- 当我发现Python字典中不同key可以有相同哈希值后——问渠那得清如许
- 大学生对计算机的认识调查报告,大学生电脑使用情况调查报告
- 简化datax源码,以便于datax二次开发、调试
- mysql数据库中的自增字段会不会溢出,我用的是int,万一超过这个int的表示范围会怎样
- 计算机缓存加速网络,技术员细说win7系统清理缓存为电脑提速的处理次序