SWTBOK測试实践系列(4) -- 软件測试技术的黑白之道
白盒測试和黑盒測试往往是项目中最受争议的两种測试类型,每一个人偏爱各不同。现实生活中行业人员大多喜欢白盒測试而忽视黑盒測试,那么项目中又应该怎样平衡这两类測试呢?我们先来看两个案例。
案例一:
某移动互联网企业项目正在匆忙的进行中。由于项目的需求,须要招聘若干測试project师,当中小张由于白盒測试经验丰富而被录取。项目进行过程中,小张搭建了非常完好的白盒測试框架而且用例覆盖度也非常高,自信满满的等待着项目圆满结束。项目结束后,合作的客户企业以及用户拿到软件之后大为惊讶,产品功能和界面有多处与需求不符,故项目终于失败告终。
案例二:
某企业大型ERP系统因新需求须要又一次定制。整个项目过程中,多名測试project师均仅採取黑盒測试的方式,项目终于因系统定制非常人性化而圆满告终。但好景不长,系统在正式使用的过程中遭遇了多次数据处理错误或崩溃,原因正由于測试过程中并没有覆盖到各种实际场景,终于这套系统也因此而不得不又一次开发。
上面两个案例或许比較极端,但却在实际项目中常常发生。在一个项目中黑盒和白盒并没有一个绝对的比例,也没有优劣之分,须要依据详细项目的背景或不同的阶段选择合适的測试策略。
在项目产品拥有非常多模块,而每一个模块处于刚刚开发的阶段的时候,产品模块并不具有界面或完整暴露的接口,从而开发者开发完成仅仅能通过白盒測试进行自測。此时的測试很多其它的会覆盖到模块中每段代码的逻辑以及推断路径,从而在代码结构内部保证了质量。
产品达到一定完毕度之后,能够通过黑盒測试对于产品的界面以及模块合并之后的功能进行測试。黑盒測试側重点则更关心产品的界面显示、功能是否与需求说明书相符,操作体验是否人性化。非常多产品界面显示是否友好远远比功能重要的多。
使用黑盒白盒的策略除了与项目阶段有关,还有项目背景有关。一些相对来讲用户群非常大,产品集成成本并不大的项目,黑盒測试占的比例相对就会非常大。比方各种平台的应用程序、企业系统等。而相对来讲一些大型项目,比方航空航天,白盒測试就不可缺少,而且颗粒度须要更细,而黑盒占的比例就会对应降低,同一时候大大降低了測试的成本。
SWTBOK測试实践系列(4) -- 软件測试技术的黑白之道的更多相关文章
- SWTBOK測试实践系列(1) -- 測试在项眼下期的评审投入划算吗?
測试策略:静态測试还是动态測试? [对话场景] 成功公布某个软件版本号之后,项目团队召开了项目的经验教训总结大会.在会议期间,项目经理小项和測试经理小測进行了例如以下的对话: 小项:"小測, ...
- SWTBOK測试实践系列(5) -- 项目中使用手动和自己主动化的策略
手动測试和自己主动化測试永远是一个非常热门的话题.自己主动化也一直被人们捧上神坛.自己主动化測试和手动測试从技术上来说本质事实上都是測试用例设计.仅仅只是终于形式一个是人工运行,一个是代码运行罢了.这 ...
- 软件測试系统文章(文件夹&链接在此)
前言 我会在此账号上写一系列关于软件測试的文章,故在此置顶软件測试系列文章的文件夹和链接,以方便大家阅读! 文件夹 软件測试系列之入门篇(一) 软件測试系列之了解篇(二) 软件測试系列之黑白盒(三) ...
- 移动App測试实战:顶级互联网企业软件測试和质量提升最佳实践
这篇是计算机类的优质预售推荐>>>><移动App測试实战:顶级互联网企业软件測试和质量提升最佳实践> 国内顶级互联网公司測试实战经验总结.阿里.腾讯.京东.携程.百 ...
- James Whittaker的软件測试戒律(二)
摘录自<探索式软件測试>(注:作者模仿了圣经十诫的语气和内容编写了软件測试戒律) 1.汝应用大量输入重复锤炼汝之应用程序 2.汝应贪图汝之邻居的应用程序 3.汝应亲自寻找睿智的预言家 4. ...
- 软件測试、ios中的測试概念以及步骤
软件測试: 软件測试的目标是应该服务于软件项目的目标,能够通过建议反馈使用更加高效的方法和工具,提升软件开发效率以及软件开发质量.同一时候还能够通过过一些手段,更早.更快.很多其它地发现缺陷.从容减少 ...
- atitit.jndi的架构与原理以及资源配置and单元測试实践
atitit.jndi的架构与原理以及资源配置and单元測试实践 1. jndi架构 1 2. jndi实现原理 3 3. jndi资源配置 3 3.1. resin <database> ...
- (4.5.4)Android測试TestCase单元(Unit test)測试和instrumentationCase单元測试
Android单元和instrumentation单元測试 Developing Android unit and instrumentation tests Android的单元測试是基于JUnit ...
- 新手学測试----Unit Test(单元測试)
在程序猿做项目的过程中,每当完毕一个功能,首先自己须要对完毕的功能进行測试.我如今正在做的项目用的工具是VS2012.那么接下来,就说一说在VS2012中是怎样创建单元測试的. 怎样创建单元測试? 在 ...
随机推荐
- yum安装于卸载软件常见命令
1.使用yum安装和卸载软件,有个前提是yum安装的软件包都是rpm格式的. 安装的命令是,yuminstall ~,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突 ...
- java基础之导入(药师点评)
/** * 药师点评的导入 * @param request * @param response * @param f * @param tmallTcMessageImport * @return ...
- 第一篇博客关于Log4net的配置记录
说明:本程序演示如何利用log4net记录程序日志信息.log4net是一个功能著名的开源日志记录组件.利用log4net可以方便地将日志信息记录到文件.控制台.Windows事件日志和数据库(包括M ...
- 监听键盘 防止输入时覆盖掉textfiled
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardwasChange:) name:U ...
- C#操作EXCEL的时候出现“ 无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的COM 对象强制转换为接口类型“Microsoft.Office.Interop.Excel._Application” ”问题
总是报出这个错误,准备放弃COM的组件转投NPOI,后来想起在装这个操作系统的时候,自带装过WPS,后来使用360卸载了.于是想着试一试的心态,重新安装了WPS,结果,问题解决了.你懂的.
- js基本类型
1.undefined 1)var a;//没有赋值的时候就是undefined 2)undefined派生自null,alert(undefined==null)//true 虽然这上条语句是一样, ...
- svn的使用--解决commit冲突问题
1.如何降低冲突解决的复杂度: 1.当文档编辑完成后,尽快提交,频繁的提交/更新可以降低在冲突发生的概率,以及发生时解决冲突的复杂度. 2.在提交时,写上明确的message,方便以后查找用户更新的原 ...
- iOS学习之根据文本内容动态计算文本框高度的步骤
在视图加载的过程中,是先计算出frame,再根据frame加载视图的,所以在设计计算高度的方法的时候,设计成加号方法; //首先给外界提供计算cell高度的方法 + (CGFloat)heightFo ...
- php 过滤html标签的函数
1:strip_tags(string,allow)用来过滤html标签,参数string必须,allow是指定允许哪些标签通过. 例如: <?php $info='<a href=&qu ...
- android 数据存储的几种方式
总体的来讲,数据存储方式有三种:一个是文件,一个是数据库,另一个则是网络.其中文件和数据库可能用的稍多一些,文件用起来较为方便,程序可以自己定义格式:数据库用起稍烦锁一些,但它有它的优点,比如在海量数 ...