白盒測试和黑盒測试往往是项目中最受争议的两种測试类型,每一个人偏爱各不同。现实生活中行业人员大多喜欢白盒測试而忽视黑盒測试,那么项目中又应该怎样平衡这两类測试呢?我们先来看两个案例。

案例一:

某移动互联网企业项目正在匆忙的进行中。由于项目的需求,须要招聘若干測试project师,当中小张由于白盒測试经验丰富而被录取。项目进行过程中,小张搭建了非常完好的白盒測试框架而且用例覆盖度也非常高,自信满满的等待着项目圆满结束。项目结束后,合作的客户企业以及用户拿到软件之后大为惊讶,产品功能和界面有多处与需求不符,故项目终于失败告终。

案例二:

某企业大型ERP系统因新需求须要又一次定制。整个项目过程中,多名測试project师均仅採取黑盒測试的方式,项目终于因系统定制非常人性化而圆满告终。但好景不长,系统在正式使用的过程中遭遇了多次数据处理错误或崩溃,原因正由于測试过程中并没有覆盖到各种实际场景,终于这套系统也因此而不得不又一次开发。

上面两个案例或许比較极端,但却在实际项目中常常发生。在一个项目中黑盒和白盒并没有一个绝对的比例,也没有优劣之分,须要依据详细项目的背景或不同的阶段选择合适的測试策略。

在项目产品拥有非常多模块,而每一个模块处于刚刚开发的阶段的时候,产品模块并不具有界面或完整暴露的接口,从而开发者开发完成仅仅能通过白盒測试进行自測。此时的測试很多其它的会覆盖到模块中每段代码的逻辑以及推断路径,从而在代码结构内部保证了质量。

产品达到一定完毕度之后,能够通过黑盒測试对于产品的界面以及模块合并之后的功能进行測试。黑盒測试側重点则更关心产品的界面显示、功能是否与需求说明书相符,操作体验是否人性化。非常多产品界面显示是否友好远远比功能重要的多。

使用黑盒白盒的策略除了与项目阶段有关,还有项目背景有关。一些相对来讲用户群非常大,产品集成成本并不大的项目,黑盒測试占的比例相对就会非常大。比方各种平台的应用程序、企业系统等。而相对来讲一些大型项目,比方航空航天,白盒測试就不可缺少,而且颗粒度须要更细,而黑盒占的比例就会对应降低,同一时候大大降低了測试的成本。

SWTBOK測试实践系列(4) -- 软件測试技术的黑白之道的更多相关文章

  1. SWTBOK測试实践系列(1) -- 測试在项眼下期的评审投入划算吗?

    測试策略:静态測试还是动态測试? [对话场景] 成功公布某个软件版本号之后,项目团队召开了项目的经验教训总结大会.在会议期间,项目经理小项和測试经理小測进行了例如以下的对话: 小项:"小測, ...

  2. SWTBOK測试实践系列(5) -- 项目中使用手动和自己主动化的策略

    手动測试和自己主动化測试永远是一个非常热门的话题.自己主动化也一直被人们捧上神坛.自己主动化測试和手动測试从技术上来说本质事实上都是測试用例设计.仅仅只是终于形式一个是人工运行,一个是代码运行罢了.这 ...

  3. 软件測试系统文章(文件夹&链接在此)

    前言 我会在此账号上写一系列关于软件測试的文章,故在此置顶软件測试系列文章的文件夹和链接,以方便大家阅读! 文件夹 软件測试系列之入门篇(一) 软件測试系列之了解篇(二) 软件測试系列之黑白盒(三) ...

  4. 移动App測试实战:顶级互联网企业软件測试和质量提升最佳实践

    这篇是计算机类的优质预售推荐>>>><移动App測试实战:顶级互联网企业软件測试和质量提升最佳实践> 国内顶级互联网公司測试实战经验总结.阿里.腾讯.京东.携程.百 ...

  5. James Whittaker的软件測试戒律(二)

    摘录自<探索式软件測试>(注:作者模仿了圣经十诫的语气和内容编写了软件測试戒律) 1.汝应用大量输入重复锤炼汝之应用程序 2.汝应贪图汝之邻居的应用程序 3.汝应亲自寻找睿智的预言家 4. ...

  6. 软件測试、ios中的測试概念以及步骤

    软件測试: 软件測试的目标是应该服务于软件项目的目标,能够通过建议反馈使用更加高效的方法和工具,提升软件开发效率以及软件开发质量.同一时候还能够通过过一些手段,更早.更快.很多其它地发现缺陷.从容减少 ...

  7. atitit.jndi的架构与原理以及资源配置and单元測试实践

    atitit.jndi的架构与原理以及资源配置and单元測试实践 1. jndi架构 1 2. jndi实现原理 3 3. jndi资源配置 3 3.1. resin  <database> ...

  8. (4.5.4)Android測试TestCase单元(Unit test)測试和instrumentationCase单元測试

    Android单元和instrumentation单元測试 Developing Android unit and instrumentation tests Android的单元測试是基于JUnit ...

  9. 新手学測试----Unit Test(单元測试)

    在程序猿做项目的过程中,每当完毕一个功能,首先自己须要对完毕的功能进行測试.我如今正在做的项目用的工具是VS2012.那么接下来,就说一说在VS2012中是怎样创建单元測试的. 怎样创建单元測试? 在 ...

随机推荐

  1. LDAP索引及缓存优化

    一.设置索引 索引将查找信息和 Directory Server 条目关联起来. Directory Server支持以下几种索引: 1出现索引 (pres) - 列出了具有特定属性的条目,与属性的值 ...

  2. CentOS6.X 系统安装图文教程,超详细

    http://www.myhack58.com/Article/sort099/sort0102/2011/32363_7.htm

  3. DateBox( 日期输入框) 组件

    本节课重点了解 EasyUI 中 DateBox(日期输入框)组件的使用方法,这个组件依赖于 Combo(自定义下拉框)和 Calendar(日历). 一. 加载方式//class 加载方式<i ...

  4. C#。5 函数 类

    函数:能够独立完成某个功能的模块.          好处:1.结构更清析(编写.维护方便 ).2.代码重用.3.分工开发.          四要素:名称,输入(参数),输出(返回的类型),加工(函 ...

  5. System.Net网络编程--AuthenticationManager和IAuthenticationModule

    AuthenticationManager——管理客户端身份验证过程中调用的身份验证模块. public class Demo1 { private static string username, p ...

  6. Mongodb基本操作之.net

    1.下载官方for C#驱动 2.导入2个dll文件 3.连接字符串 <add key="MongoConn" value="mongodb://127.0.0.1 ...

  7. Java语言实现简单FTP软件------>FTP软件效果图预览之上传功能(三)

    下面展示一下上传功能的过程 1.上传前 上传前选择好要将文件或文件夹上传到远程FTP服务器的哪个目的目录下. 2.上传中 添加上传任务 上传任务完成进度显示 3.上传完成 ============== ...

  8. 使用PyQt4写界面后台程序方法总结

    使用PyQt4编写界面后台程序的方法总结 一.怎么建立多线程 界面程序如果有稍微耗时一点的任务如果不使用多线程就会界面卡死,所以大多数情况会使用到多线程.PyQt4自己有多线程的机制,可以派生多线程类 ...

  9. DUIEngine使用Visual Studio 2010编译Debug_Dll版有关Error MSB3073错误解决方案

    在使用Visual Studio 2010编译DUIEngine的Debug_Dll版如果遇见如下错误: 错误 64 error MSB3073: 命令“copy D:\SomePath\DUIEng ...

  10. js 简单倒计时插件和使用方法

    // 倒计时插件 (function (){ function countdown(config){ var startDate = config.start ? new Date(config.st ...