白盒测试:

是指实际运行被测程序,通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法、溢出、路径和条件等方面的缺点或者错误,进而加以修正。

黑盒测试:

又称功能测试、数据驱动测试或基于规格说明的测试,是通过使用整个软件或某种软件功能来严格地测试,,而并没有通过检查程序的源代码,或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据看输出的结果,从而了解软件怎样工作。应该更适合测试网页游戏。

区别一:从定义上

白盒测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。而黑盒测试着重测试软件功能,它并不涉及程序的内部结构和内容特性。黑盒测试并不能取代白盒测试,它与白盒是互补的测试方法,它很可能发现白盒测试不易发现的其他类型错误。

区别二:从测试目的上

黑盒测试的目的是检测是否有不正确或遗漏的功能;数据或者参数上,输入能否正确接收;是否有数据结构错误或外部信息访问错误;性能上是否能够满足要求;是否有初始化或终止性错误。而白盒测试的目的是通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致,而不顾它的功能。

区别三:检测方式上

白盒测试是穷举路径测试,黑盒测试是穷举输入测试,这两种方法是基于完全不同的观点,反应了事物的两个极端,它们各有侧重和优势,但不能彼此替代。在现代的测试理念中,这两种测试方法不是截然分开的,而是交叉使用。

向左转|向右转

扩展资料

白盒测试的优点:

1.能仔细考虑软件的实现

2.可检测代码中的每条分支和路径

3.揭示隐藏在代码中的错误

4.对代码的测试比较彻底

白盒测试的缺点:

1.昂贵

2.无法检测代码中遗漏的路径和数据敏感性错误

3.不验证规格的正确性

黑盒测试的优点:

1.对于子系统甚至系统效率要比白盒测试高

2.测试人员不需要了解实现的细节(特定编程语言)

3.测试人员和编程人员彼此独立

4.从用户的角度进行测试很容易理解和接受

5.有助于暴露规格的不一致或有歧义的问题

6.测试用例可以在规格完成后马上进行

黑盒测试的缺点:

1.只有一小部分输入被测试到,要测试每个可能的输入几乎不可能。

2.没有清晰、简明的规格,测试用例很难设计。

3.如果测试人员不被告知开发人员已经执行过的用例,在测试数据上会存在不必要的重复。

4.有很多程序路径没有被测试到。

5.不能直接针对特定程序段测试,而这些程序段可能很复杂,有可能隐藏更多的问题。

6.大部分和研究相关的测试都是直接针对白盒测试的。

java 白盒测试与黑盒测试_什么是白盒测试和黑盒测试?有什么区别?相关推荐

  1. java白盒测试面试题_面试之JAVA基础Junit了解

    什么叫Junit     Junit是一个java单元测试框架 是 对程序进行白盒测试 一般来说要对一个方法进行测试其结果 可以写一个main入口 然后调用其方法来进行测试结果:而junit就是省去这 ...

  2. 【测试方法】黑盒测试、灰盒测试、白盒测试这些你确定都会了吗?

    根据利用的被测对象信息的不同,可以将软件测试方法分为:黑盒测试.灰盒测试.白盒测试. 1.白盒测试 1)概念:是依据被测软件分析程序内部构造,并根据内部构造分析用例,来对内部控制流程进行测试,可完全不 ...

  3. Java综合知识总结_基础篇

    Java 一.JDK常用的包 java.lang: 这个是系统的基础类,比如String.Math.Integer.System和Thread, 提供常用功能. java.io: 这里面是所有输入输出 ...

  4. Java Review - 并发编程_ 回环屏障CyclicBarrier原理源码剖析

    文章目录 Pre 小Demo 类图结构 CyclicBarrier核心方法源码解读 int await() int await(long timeout, TimeUnit unit) int dow ...

  5. Java Review - 并发编程_读写锁ReentrantReadWriteLock的原理源码剖析

    文章目录 ReentrantLock VS ReentrantReadWriteLock 类图结构 非公平的读写锁实现 写锁的获取与释放 void lock() void lockInterrupti ...

  6. Java Review - 并发编程_原子操作类LongAdder LongAccumulator剖析

    文章目录 概述 小Demo 源码分析 重要的方法 long sum() reset sumThenReset longValue() add(long x) longAccumulate(long x ...

  7. Java web小项目_个人主页(2)—— 边缘加速原理与实现

    摘自:Java web小项目_个人主页(2)-- 边缘加速原理与实现 作者:丶PURSUING 发布时间: 2021-03-27 14:44:40 网址:https://blog.csdn.net/w ...

  8. Java web小项目_个人主页(1)—— 云环境搭建与项目部署

    摘自:Java web小项目_个人主页(1)-- 云环境搭建与项目部署 作者:丶PURSUING 发布时间: 2021-03-26 23:59:39 网址:https://blog.csdn.net/ ...

  9. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

最新文章

  1. 在已交出句柄的QWidget上叠加透明形状
  2. ServiceStack.Redis的问题与修正
  3. 并发编程(一): POSIX 使用互斥量和条件变量实现生产者/消费者问题
  4. pstate0 vid数值意义_天体运动的简单数值计算
  5. 蓝桥杯java能用编译器1吗_学java的你,这些英文单词都掌握了吗?
  6. 1285B. Just Eat It
  7. python 后10个元素_10 行 Python 代码写 1 个 USB 病毒
  8. 消息中间件kafka集群搭建
  9. ps4pro服务器维护,PS4 | PS4 Pro 常见问题 | PlayStation
  10. Visual Studio-查看汇编代码
  11. 无法使用struts2注释_带有注释且没有struts.xml文件的Struts 2 Hello World示例
  12. android 抽屉式滑动demo
  13. MCS-51子程序库-1
  14. NOI2021颓废记
  15. 移动支付深入我们的生活,行业态势又如何?
  16. 计算机部分应用显示模糊,win10系统打开部分软件字体总显示模糊的解决方法-电脑自学网...
  17. CS5211,CS5212,CS5256,CS5811,CS5288资料
  18. 【超详细】免费搭建一个资源类小程序,对接wordpress网站内容
  19. 液晶屏 TTL屏、LVDS屏、TMDS屏区别
  20. html5写手机端页面

热门文章

  1. C++时间库chrono_Time_point (三)
  2. wireshark使用及作用
  3. android studio : connection refused
  4. 百度地图:获取地址的经纬度
  5. python 内部收益率_2020超星医古文考试期末答案
  6. 文献分享 | PNAS:先天性失明患者白内障手术后的白质可塑性
  7. 献给重阳节加班的自己
  8. nRF5340(入门篇)之1.4 浅谈双核系统
  9. 《怪物弹珠》新手技巧大彙整!!!下篇
  10. Log4j重大漏洞、看看我怎么重现与解决