【软件构造】黑盒测试与白盒测试
文章目录
- 前言
- 一、黑盒测试
- 1、什么是黑盒测试?
- 2、常见的黑盒测试技术
- 3、等价类划分
- a、主要思想:
- b、有效等价类与无效等价类
- c、例子
- 3、边界值分析
- 主要思想
- 4、错误推测法
- a、定义:
- b、主要思想:
- c、常见的方法:
- 5、因果图
- 二、白盒测试
- 1、什么是白盒测试?
- 2、独立路径测试
- 三、白盒测试与黑盒测试比较
前言
按照是否需要知道程序内部是如何实现
的,将测试分为黑盒测试
与白盒测试
。
需要知道程序内部是如何实现的——白盒测试
不需要知道程序内部是如何实现的——黑盒测试
白盒测试一般是内部人员
即程序员进行测试
黑盒测试一般是外部人员
如专门的测试人员和用户来测试
提示:以下是本篇文章正文内容,下面案例可供参考
一、黑盒测试
1、什么是黑盒测试?
黑盒测试
又称为功能测试
,主要检测软件的每一个功能是否能够正常使用
。在测试过程中,将程序看成不能打开的黑盒子,不考虑程序内部结构和特性的基础上通过程序接口进行测试,检查程序功能是否按照设计需求以及说明书的规定能够正常打开使用。
2、常见的黑盒测试技术
等价类划分、边界值分析、错误推测法、因果图
3、等价类划分
a、主要思想:
将被测函数的输入划分为等价类
,从等价类中导出测试用例。(等价类在集合论图论中学过…)
这基于一种假设
就是:相似的输入,将会产生相同的结果
。意思就是可以从一个等价类中选择一个为代表作为测试用例即可。(比如【1,2,3】为一个等价类,则选择1或2或3其中一个测试即可)
b、有效等价类与无效等价类
有效等价类
:如果一个等价类内的数据是符合(软件需求说明书)要求的、合理的数据,则称这个等价类为有效等价类
。有效等价类主要用来检验软件是否实现了规定的功能
。
无效等价类
:如果一个等价类内的数据是不符合(软件需求说明书)要求的、不合理或非法的数据,则称这个等价类为无效等价类
。无效等价类主要用来检验软件的容错性
。
c、例子
max函数用来返回两个数中更大的数。这时需要分别选择数据属于a>b,a==b,a<b三种情况。
3、边界值分析
主要思想
假设
大量的错误发生在输入与的“边界”而不是中央。边界值分析可以是对等价类划分方法的补充。
4、错误推测法
a、定义:
在测试程序时,人们可以根据经验
或直觉
推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。
b、主要思想:
列举程序可能出现的错误或者容易产生错误的测试点,然后根据测试点来编写测试用例。
或 在阅读规格说明时联想开发可能做的假设来确定测试用例,比如规格说明中的可能被忽略的内容。
c、常见的方法:
极限值设计
(如最大、最小、空、0)、特殊值设计
等
5、因果图
根据输入条件与输出结果之间的因果关系来设计测试用例的,它首先检查输入条件的各种组合情况,并找出输出结果对输入条件的依赖关系,然后为每种输出条件的组合设计测试用例。
二、白盒测试
1、什么是白盒测试?
白盒测试
也称为结构测试
,主要用于检测软件编码过程中的错误
。程序员的编程经验、对编程软件的掌握程度、工作状态等因素都会影响到编程质量,导致代码错误。
白盒测试可以发现黑盒测试没有发现的错误。
可以实现一部分测试一部分
2、独立路径测试
对程序所有执行路径进行等价类划分,找出有代表性的`最简单的路径(例如循环只执行一次),设计测试用例
是每一条基本路径被覆盖至少一次。
三、白盒测试与黑盒测试比较
白盒测试
:
不可能覆盖所有的代码,
覆盖率较低
,大概只能达到总代码量的30%
自动化复用率低
不可能测试所有运行路径
系统庞大时,开销大
黑盒测试
:
比较简单,不需要知道内部代码的实现
从用户的角度,可以知道会用到哪些功能;从软件需求说明书,可以知道实现了那些功能
自动化测试较方便
帮助测试人员增大代码的覆盖率
,提高代码质量,发现隐藏问题
【软件构造】黑盒测试与白盒测试相关推荐
- 白盒基本路径发测试实验报告_软件生命周期、白盒测试、黑盒测试
继上一讲: 隅巳毕月:达摩克里斯之--排序与查找技术zhuanlan.zhihu.com 我们今天来讲一下软件周期与两种软件测试方法 软件开发应遵循一个软件的生命周期,通常把软件产品从提出.实现.使 ...
- 软件测试用例的优点和缺点,浅析黑盒测试和白盒测试各自的优缺点
软件测试是为了发现程序中的错误而执行程序的过程,常用黑盒功能测试法和白盒结构测试法进行测试,那黑盒功能测试法和白盒结构测试法到底是什么样的测试方法?它们有哪些优劣势呢? 所谓黑盒功能测试法,就是把要测 ...
- 黑盒测试-软件构造学习
首先,什么是测试? Software testing is an investigation conducted to provide stakeholders with information ab ...
- 软件测试方法之黑盒测试与白盒测试
软件测试方法之黑盒测试与白盒测试 摘要:黑盒测试与白盒测试都是软件测试的重要方法.白盒测试是通过程序的源代码进行测试而不使用用户界面,它主要用于检测软件编码过程中的错误:而黑盒测试是是通过使用整个软件 ...
- 软件构造-犯错的艺术——健壮性与正确性,异常,防御式编程,debugging与test的思考与总结...
健壮性与正确性 健壮性与正确性是不同的--一个倾向于使程序尽可能保持运行,即使遇到错误,一个倾向于使程序尽可能正确,不在意保持运行 异常 异常分为两种--checked exception与unche ...
- 黑盒测试、白盒测试、灰盒测试的区别
1. 黑盒测试 黑盒测试也称功能测试.数据驱动测试或基于规格说明书的测试,它是通过测试来检测每个功能是否都能正常使用.在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况 ...
- 哈工大软件构造课程知识点总结(一)
系列文章目录 哈工大软件构造课程知识点总结(一) 哈工大软件构造课程知识点总结(二) 哈工大软件构造课程知识点总结(三) 哈工大软件构造课程知识点总结(四) 哈工大软件构造课程知识点总结(五) 哈工大 ...
- 哈工大软件构造笔记1
1.1Multi-dimensional software views 1.软件构造中的多维视图 ·Moment维度关注于程序在某一时刻的表现,而Period关注的是程序在一段时间内的表现. ·Bui ...
- 2020.03.04软件构造听课笔记
以下为2020年3月4日的软件构造听课中记录的知识点: 测试是负能量的表现:破坏.证错 再好的此时也无法证明系统里不存在错误 一个好的测试的特征: 1.能发现错误: 2.不冗余: 3.最佳特性最佳方案 ...
- 2021哈工大软件构造期末考点复习笔记
第一节 多维视图和质量目标 软件构造多维度视图 红色标注为重点(考试会考选择题) Moment 特定时刻的软件形态 Period 软件形态随时间的变化 AST (Abstract Syntax Tre ...
最新文章
- php偶尔500,python – 偶尔500错误
- RESTFUL框架-网站即软件
- 设备中的c语言代码文件,设备树编译器无法识别包含文件的C语法
- LoadRunner11支持的浏览器小结-Loadrunner11打不开IE浏览器的问题
- maven项目导出为jar包
- Flutter代码锦囊---摇一摇
- 硬核干货来啦:Js数组去重,赶快收藏吧
- numpy复习总结,为深度学习打下基础
- jmeter中build和jmeter-results-detail-report_30.xsl以及jmeter.results.shanhe.me.xsl
- 点云配准(CloudCompare软件)
- Linux格式化磁盘并挂载分区
- 校园 计算机网络设置路由器,Drcom校园网连接路由器怎么设置
- 网易云音乐 最美的评论
- 哪里可以在线观看《人再囧途之泰囧》
- 服务器虚拟化厂商有哪些,国内外厂商的桌面虚拟化产品
- ENVI处理高分一号PMS影像数据
- 音频信号处理——DTW
- 023 A转置矩阵=A的性质(三大性质)
- python 代码_6行Python代码的爱心曲线
- windows版 redis安装教程,以及redis客户端安装
热门文章
- 一般信道容量迭代算法c语言,(信息论编码)信道容量迭代算法
- vue脚手架 使用npm run dev 遇到的错误问题
- python运用ico图标_使用python将图片格式转换为ico格式的示例
- oracle提高delete的效率,提高Oracle DELETE性能的策略
- 震惊!世界海底光缆分布图!
- 脾胃湿热吃什么药.体内湿气重有何表示 怎样去除
- CodeForces - 864E FIRE(附带限制条件01背包)
- 计算机计算公式单组数据求乘法,excel怎么算乘法
- Android状态栏添加QS快捷开关
- Ubuntu16.04安装LSD-SLAM