什么是白盒测试和黑盒测试?有什么区别?白盒测试:
是指实际运行被测程序,通过程序的源代码进行测试而不使用用户界面 。这种类型的测试需要从代码句法发现内部代码在算法、溢出、路径和条件等方面的缺点或者错误,进而加以修正 。
黑盒测试:
又称功能测试、数据驱动测试或基于规格说明的测试,是通过使用整个软件或某种软件功能来严格地测试,,而并没有通过检查程序的源代码,或者很清楚地了解该软件的源代码程序具体是怎样设计的 。测试人员通过输入他们的数据看输出的结果,从而了解软件怎样工作 。应该更适合测试网页游戏 。
【黑盒测试白盒测试 白盒测试】区别一:从定义上
白盒测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正 。而黑盒测试着重测试软件功能,它并不涉及程序的内部结构和内容特性 。黑盒测试并不能取代白盒测试,它与白盒是互补的测试方法,它很可能发现白盒测试不易发现的其他类型错误 。
区别二:从测试目的上
黑盒测试的目的是检测是否有不正确或遗漏的功能;数据或者参数上,输入能否正确接收;是否有数据结构错误或外部信息访问错误;性能上是否能够满足要求;是否有初始化或终止性错误 。而白盒测试的目的是通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致,而不顾它的功能 。
区别三:检测方式上
白盒测试是穷举路径测试,黑盒测试是穷举输入测试,这两种方法是基于完全不同的观点,反应了事物的两个极端,它们各有侧重和优势,但不能彼此替代 。在现代的测试理念中,这两种测试方法不是截然分开的,而是交叉使用 。
扩展资料
白盒测试的优点:
1.能仔细考虑软件的实现
2.可检测代码中的每条分支和路径
3.揭示隐藏在代码中的错误
4.对代码的测试比较彻底
白盒测试的缺点:
1.昂贵
2.无法检测代码中遗漏的路径和数据敏感性错误
3.不验证规格的正确性
黑盒测试的优点:
1.对于子系统甚至系统效率要比白盒测试高
2.测试人员不需要了解实现的细节(特定编程语言)
3.测试人员和编程人员彼此独立
4.从用户的角度进行测试很容易理解和接受
5.有助于暴露规格的不一致或有歧义的问题
6.测试用例可以在规格完成后马上进行
黑盒测试的缺点:
1.只有一小部分输入被测试到,要测试每个可能的输入几乎不可能 。
2.没有清晰、简明的规格,测试用例很难设计 。
3.如果测试人员不被告知开发人员已经执行过的用例,在测试数据上会存在不必要的重复 。
4.有很多程序路径没有被测试到 。
5.不能直接针对特定程序段测试,而这些程序段可能很复杂,有可能隐藏更多的问题 。
6.大部分和研究相关的测试都是直接针对白盒测试的 。
参考资料:百度百科-黑盒测试白盒测试
文章插图
白盒测试有几种方法一般可分为:静态分析和动态分析两种方法 。
白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试 。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的 。
"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试 。"白盒"法是穷举路径测试 。白盒测试并不是简单的按照代码设计用例,而是需要根据不同的测试需求,结合不同的测试对象,使用适合的方法进行测试 。
白盒测试用例设计的一个很重要的评估标准就是对代码的覆盖度 。白盒测试中常见的覆盖方法有六种:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖 。下面我们就分别看看这几种不同的覆盖吧 。
语句覆盖(StatementCoverage)主要特点:语句覆盖是最起码的结构覆盖要求,语句覆盖需要选择足够的测试用例,使我们设计出来的测试用例要保证程序中的每一个语句至少被执行一次 。
优点:可以很直观地从源代码得到测试用例,无须细分每条判定表达式 。缺点:由于这种测试方法仅仅针对程序逻辑中显式存在的语句,但对于隐藏的条件和可能到达的隐式逻辑分支,是无法测试的 。
白盒测试的原理是什么?白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试 。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,即清楚盒子内部的东西以及里面是如何运作的 。
秒懂生活扩展阅读
- 高血压能喝黑茶吗
- 旅游景点|西安一碗面,干倒了一条街,抹黑了一座城!
- 速记法怎么练
- 黑童话系列 黑童话
- 普通话水平测试的评分标准是什么
- 锡纸盒可以微波炉加热吗
- 电脑开机正常但是黑屏怎么办
- 乒乓球球拍红黑两面的区别
- 明兰第几集黑化
- 黑天天和黑真天 黑天天