软件测试方法论——黑盒测试篇(开发观点看测试)

发表于:2011-7-27 13:30

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

 作者:赵凯    来源:51Testing软件测试网采编

分享:

  曾经有过一个BUG,是关于聊天窗口布局错乱的问题,现象是在某些情况下,聊天窗口里的部分窗口看不见了,或者只显示半个。测试人员和开发人员一起做了无数的尝试,结果仍然是绝大多数情况下没问题,只是偶尔能出现布局错乱的问题。最终问题是一次偶然的操作中找到的,当聊天窗口最小化的时候,收到了对方文件传输的请求,这时窗口布局必然错乱。这个BUG原来是可以必现的。

  通过这个BUG,我们可以看出,虽然大家合力做了无数的尝试,却唯独没有考虑到当窗口最小化时候,收到文件传输请求的情况,真是百密一疏。举一反三,我们可以看到,在别的某些情况下,仍然可能出现考虑不全面的现象。因此可以按照聊天窗口用户行为示意图中的方法,把各环节抽象出来,一一搭配组合去构思测试用例,进行测试。只要把各环节可能出现的操作都列全了,基本上能覆盖用户的所有操作,从而也能发现更多的问题。

  2.3 创造条件,把问题放大

  很多BUG,只有在一些极端的情况下才会出现,因此就需要主动创造一些条件,是BUG暴露出来。也有一些BUG,只有在满足合适的条件下才会出现,也需要认为创造这些条件,才可以把问题放大,从而使问题比较容易暴露出来。

  简单的说,本小节可以这样描述:

  ◆ 电脑速度慢?让它更慢

  ◆ 数据库太大,导致速度变慢?让数据库更大

  ◆ 网络速度太慢?不稳定?让它更慢,更不稳定

  ◆ ……

  总之,可以千方百计创造条件,让问题都暴露出来。

  有时候可以通过使用一些工具,或自己开发一些工具,来帮助创造条件。

  有时候,如果能通过阅读代码,有针对性地创造条件,会达到事半功倍的效果,这是后话,在今后的白盒测试篇另行描述。

  3、合,分析问题

  运用了开的方法,很多问题已经暴露出来了并且找到问题所在了,但总有一些BUG虽然出现过,但却找不到重现的方法,这种问题一般被称为灵异现象,因此需要用合的方法,找出这些问题产生的规律,以便解决问题。

  在测试中,合的目的,是在已经找到了BUG的情况下,再找到重现BUG的方法,帮助开发人员解决问题。从某种意义上讲,合有时候比开更为重要,如果只有开没有合,就会产生一些所谓的“灵异”BUG,只知道有问题,而不知道为什么会有问题。开需要有严密的思维,而合则需要有冷静的头脑和敏锐的眼光。一个优秀的测试人员,必须掌握这个技能。

  3.1 没有“灵异”BUG

  这一条没有任何技巧,只是需要大家坚持一个观点,就是没有什么BUG是灵异的,只有没找到重现方法的BUG,没有灵异BUG。无论是测试人员还是开发人员都必须相信这一点。

  BUG之所以灵异,只是因为这个BUG产生的条件比较深,不容易被人发现。所以“合”的目的,就是要总结出这些“灵异”BUG的产生条件,变复杂为简单,使灵异事件消失,成为一个可以必现的BUG。

  3.2 使用工具,事半功倍

  一般情况下,除了测试工程师常用的工具之外,还有一些开发常用的工具,也可以在测试的时候使用。下面列出一些常见的,必备的工具。

  3.2.1 Spy++

  Spy++是微软在Visual Studio中提供的一个工具。通过Spy++,可以看到Windows里所有的窗口,以及这些窗口的信息。通过这个工具,可以找到一些BUG的真相,例如有这样一个BUG:

  13091. 短信平台:断线重连后,任务栏中出现两个莫名的旺旺图标

  这个BUG似乎比较奇怪,而且可能是和短信平台有关。但实际上,我们知道,如果任务栏上出现一个图标,那一定是会有一个窗口存在的,因此就可以用Spy++看一下,究竟是什么窗口。使用Spy++看过之后,会发现真实情况是,天气预报窗口由于某些原因跑到桌面上去了,其实这个BUG和短信是没有关系的,只是正好在操作短信的时候发生了。

  3.2.2 Depends

  Depends也是微软在Visual Studio中提供的一个工具,用来查看EXE,DLL等的依赖关系,最新版的Depends还可以动态地查看程序启动时候用到了什么DLL,以及每个DLL在什么地方。

53/5<12345>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • blum
    2012-3-15 22:02:24

    真的不错,受益了

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号