黑盒测试和白盒测试的优缺点

类别

优点

缺点

黑盒测试

不需要了解软件代码

从用户角度出发

无法保证代码内各个路径被覆盖到

白盒测试

强制测试开发工程师关注代码的具体实现

揭露隐藏在代码中的Bug

是最佳编程实践

需要花费更多的钱和时间

不可能测试每一种可能性

测试人员需要有较强的编码能力

什么是黑盒测试?

黑盒测试是一种软件测试方法,它基于规范审查应用程序的功能,因此也被称为基于规范的测试。一个独立的测试团队,通常会在软件测试生命周期中执行这种测试。

注:这种测试可以应用到单元测试、集成测试、系统测试、验收测试等不同级别的软件测试中。

黑盒测试常用的行为测试技术有:等价类(Equivalence Class)、边界值分析(Boundary Value Analysis)、正交实验(Orthogonal Arrays)、判定表(Decision Tables)、状态模型(State Models)、探索性测试(Exploratory Testing)、全对测试(All-pairs testing)等。

什么是白盒测试?

白盒测试是一种测试技术,它主要检查程序代码中的程序结构和测试数据。也被称为逻辑驱动测试、路径驱动测试或结构测试。

白盒测试常用的测试技术有:语句覆盖(Statement Coverage)、分支覆盖(Branch Coverage)、路径覆盖(Path Coverage)

黑盒测试与白盒测试(Black box Testing)的更多相关文章

  1. 入门级----黑盒测试、白盒测试、手工测试、自动化测试、探索性测试、单元测试、性能测试、数据库性能、压力测试、安全性测试、SQL注入、缓冲区溢出、环境测试

    黑盒测试 黑盒测试把产品软件当成是一个黑箱子,只有出口和入口,测试过程中只要知道往黑盒中输入什么东西,知道黑盒会出来什么结果就可以了,不需要了解黑箱子里面是如果做的. 即测试人员不用费神去理解软件里面 ...

  2. 转载:alpha测试和beta测试的区别;黑盒测试和白盒测试的区别;

    alpha测试版,有点相当于内部测试,一般开发人员在场   ,是由用户做测试,但开发人员在场,一般是请用户到开发现场去测试 beta测试版,完全交给用户,由用户做测试,返回测试报告,相当于发行前的一个 ...

  3. 【章老师的课程】Black Box Testing

    本周我们学习了黑盒测试,这是一种常用的软件测试方法,它将被测软件看作一个打不开的黑盒,主要根据功能需求设计测试用例,进行测试.本章主要介绍几种常用的黑盒测试方法和黑盒测试工具,并通过实例介绍各种方法的 ...

  4. web应用程序测试方法和测试技术详述

    1.界面测试 现在一般人都有使用浏览器浏览网页的经历,用户虽然不是专业人员但是对界面效果的印象是很重要的.如果你注重这方面的测试,那么验证应用程序是否易于使用就非常重要了.很多人认为这是测试中最不重要 ...

  5. 《Java大学教程》—第9章 软件质量

    软件质量:可维护性.可靠性.健壮性.可用性. 9.3 可维护性系统维护(maintaining)是指根据需求的变化更新现有系统的过程 9.3.1    封装的重要性连锁反应:对系统某一部分的改变可能会 ...

  6. Testing - 软件测试知识梳理 - 相关词汇

    测试策略 描述测试工程的总体方法和目标:根据测试需求,描述在什么测试阶,依据什么测试要素和目标,进行什么种类的测试,使用什么样的测试方法和工具. 测试策略的制定主要包含如下内容: 确定测试过程要使用的 ...

  7. 深入探析 Rational AppScan Standard Edition 新特性之 Glass Box 扫描

    众所周知,Web 应用安全测试通常有黑盒安全测试和白盒安全测试两种方法.这两种方法孰优孰劣一直众议纷纷.广为公认的是,这两种测试方法有着良好地互补性,两种测试方法的结合是未来安全测试技术的发展趋势.G ...

  8. Penetration Testing、Security Testing、Automation Testing

    相关学习资料 http://www.cnblogs.com/LittleHann/p/3823513.html http://www.cnblogs.com/LittleHann/p/3828927. ...

  9. IBM Security AppScan Glass Box:一种全新的漏洞扫描思想

    IBM Security AppScan Glass Box:一种全新的漏洞扫描思想 Glass Box 是 IBM Security AppScan Standard Edition(以下简称 Ap ...

随机推荐

  1. 初学JavaScript七大注意事项

    知识说明: 初学JavaScript,注意以下七大细节,在实现同样功能的情况下,让我们的代码更易懂.效率更高. 一.简化代码 例如:创建对象 之前是这样的: Var car = new object( ...

  2. UIkit框架之uUInavigationController

    1.继承链:UIviewcontroller:uiresponder:NSObject 2.如果你想使用一些动画转换,可以遵守 UINavigationControllerDelegate 3.创建导 ...

  3. jquery操作select(增加,删除,清空)

    jQuery获取Select选择的Text和Value: $("#select_id").change(function(){//code...}); //为Select添加事件, ...

  4. 第二个Sprint冲刺团队贡献分

    201306114322 邵家文 50分 201306114319 陈俊金 10分 201306114320 李新    10分 201306114324 朱浩龙 10分

  5. Linux线程-互斥锁pthread_mutex_t

    在线程实际运行过程中,我们经常需要多个线程保持同步.这时可以用互斥锁来完成任务:互斥锁的使用过程中,主要有pthread_mutex_init,pthread_mutex_destory,pthrea ...

  6. 基于cocos2d-x的Android游戏中使用fmod音频引擎

    cocos2d-x的音频引擎是cocosDenshion, 它的Android版比较弱, 只能播放一个背景音乐和些许音效, 如果要实现稍微复杂一点的音频播放, 比如同时播放几个音轨就不能了. 这一点远 ...

  7. bootstrap-4

    html文档中,列表结构主要有三种:有序列表.无序列表和定义列表:<ul><li>.<ol><li>.<dl><dt><d ...

  8. kuangbin_SegTree B (HDU 1754)

    跟A题类似 只是把update从增减直接改为赋值 query从求和改为求最大值 其他几乎一样 #include <cstdio> #include <cstring> #inc ...

  9. ASP.NET MVC+EF框架+EasyUI实现权限管理系列

    http://www.cnblogs.com/hanyinglong/archive/2013/03/22/2976478.html ASP.NET MVC+EF框架+EasyUI实现权限管理系列之开 ...

  10. IE中Keep-Alive机制引起的错误

    我们知道Http协议是基于TCP/IP连接的,也就是说客户端浏览器向服务器发出一个Http请求并得到响应是要建立一条TCP/IP连接的,但是如果每发出一个Http请求客户端就要向服务器端建立一条TCP ...