软件测试中的抽象层次系列之一 – 黑盒与白盒

发表于:2014-4-30 11:29

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:邰晓梅    来源:51Testing软件测试网采编

  为什么说“同时做好黑盒与白盒测试,软件测试才是有效、充分的呢?”举个例子来说明。
  有这样一段代码,输出0~99共100位数字:
  int x;
  for(x=0; x<100; x++);
  cout<<x;
  结果由于程序员粗心,多加了一个分号,导致实际输出的只是100而已。这种错误是比较常见的,如果把这一小段代码呈现在我们面前,我们用代码review的方式很容易就能找出这个bug。但是现在试想一下,把这段代码放到一个有几百万行代码甚至更大的一个系统中,通过代码review找出这个bug,无异于大海捞针!
  况且,增加一个多余的分号并没有违反什么语法规则,编译器也只是会认为这是一个循环体为空的循环语句而已,并不会有错误提示。
  您可能会说,这简单,用黑盒测试的方法运行一遍基本功能,很容易就发现了。但是,谁又能保证黑盒测试可以覆盖所有的bug呢?毕竟,测试是无穷无尽的,永远也执行不完,而漏测是必然的。
  可见,单单用白盒或者黑盒的方法都不是绝对保险的,并且黑盒测试和白盒测试由于他们的视角不一样、所处的抽象层次不一样,能够发现的缺陷类型、发现缺陷的难易程度、发现缺陷的成本多少、对测试人员的技能要求等都不一样,有效地将二者结合起来使用、互为补充,才能使测试效果最优。
  结论
  不必太在意“黑盒测试”与“白盒测试”具体的定义,他们只是辅助我们做好实际测试工作的一些概念而已(您甚至可以有自己的一套定义、一套术语);
  “黑盒”与“白盒”体现的是测试人员思考问题的一种方式,“黑盒”将被测对象当作一个黑匣子,考虑其整体表现;“白盒”将一个个黑匣子打开,深入内部探索细节。
  大体上,“黑盒测试”与“白盒测试”分属于不同的抽象层次,黑盒更偏重于概括一些,白盒更偏重于具体一些;
  “黑盒”与“白盒”的抽象层次是相对的,一个系统可能有多层的抽象;
  “黑盒测试”与“白盒测试”二者结合起来使用,互为补充,测试才更充分。
22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号