Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1530606
  • 博文数量: 465
  • 博客积分: 8915
  • 博客等级: 中将
  • 技术积分: 6365
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-30 15:05
文章分类

全部博文(465)

文章存档

2017年(33)

2016年(2)

2015年(4)

2014年(29)

2013年(71)

2012年(148)

2011年(178)

分类: 架构设计与优化

2013-05-20 15:29:55

测试的第一重境界:围着Bug

“意识决定行动,行动决定结果”是管理学中众所周知的名言。做测试的前几年,笔者并没有这个意识,也没有主动地去思考过这个问题,但随着一个个项目任务、一桩桩事件的历练,慢慢感悟到这句话也适合对测试工作境界的理解。“心态决定命运”,“态度决定一切”,有很多名家学者都写过这方面的书籍,基本上已成了我们不可否认的真理了,但是要真正应用在自己的工作生活中,恐怕就不那么简单了。诚然,测试工作,除了需要拥有过硬的测试技术外,还必须有正确的测试心态,也正是这些心态意识左右着你的日常工作。不同的心态反映了不同的测试境界高度,最终体现出不同的结果。

 围着Bug转,是测试三重境界中的第一重。概括起来,它又可以分为三个阶段,第一,发现Bug;第二,定位Bug;第三,
关闭Bug。这三个阶段对测试人员的要求不仅在技术上需要逐层递进,在综合素质上也提出更高的要求。三个阶段之间环环相扣。
直到Bug的生命周期结束。围着Bug转的三个阶段对测试人员的要求及Bug被发现到关闭的生命周期示意图。
如图2-5所示。
  

2-5  围着Bug转的三个进阶图

谈到围着Bug转的的三个阶段,不禁想起中国近代著名学者王国维在《人间词话》中提到的人生的三重境界:
“昨夜西风凋碧树,独上高楼,望尽天涯路”。
“衣带渐宽终不悔,为伊消得人憔悴”。
“众里寻他千百度,蓦然回首,那人却在灯火阑珊处”。

细细思量,感觉它们之间亦有异曲同工之处。

第一重“昨夜西风凋碧树,独上高楼,望尽天涯路”是说“古今之成大事业、大学问者,首先要树立明确的目标,即使长路漫漫,也下定决心将这条长路走下去。这是一个人在孤独之中寻找理想、寻找生命的落脚点的痛苦时刻”。围着Bug转的第一阶 “发现Bug”,同样首先必须有明确清晰的目标,找Bug的过程是漫长的,反反复复、枯燥无味是工作的特点,但是为了达到目标“长路再漫漫,也得坚持走下去”,直到找到一堆堆的Bug。特别是对一些偶现的严重Bug,重现Bug的过程真如大海捞针,但是坚持就是胜利。笔者曾经在经历的一个项目中,花了近1个月的时间去重现与解决一个严重问题,最后在与开发人员的紧密合作下,终于找到问题的根源。

第二重“衣带渐宽终不悔,为伊消得人憔悴”是说“执着的追求、忘我的奋斗,直至憔悴消瘦,连衣服都变得宽大,这一切努力都是为了心中的梦想”。对应软测中围着Bug转的第二阶“定位Bug”。这一阶段不仅在技术上提出了更高的要求,还要有刻苦钻研、穷追到底、不撞南墙不回头的执著精神,直到把问题的原因搞清楚才罢休。在国内目前的测试领域,大部分公司这一步并没有要求测试人员来做,但是在国外,特别是一些知名的大公司,如在微软,几乎所有的测试人员都拥有深入调试程序的技能。它除了包含以最短路径重现问题,还要分析问题的可能结果(例如分析Bug会影响到哪些模块),甚至给开发人员提出解决方案。显然,这一步要求测试人员要比开发人员具有更高的设计分析能力、代码调试能力、解决问题的能力。读者朋友,看到这里,对一些测试专业网上常看到的“测试人员是否要懂编程这一问题已释然于怀了吧。

第三重“众里寻他千百度,蓦然回首,那人却在灯火阑珊处。这一阶段是指经过不断磨炼,多次的失败,某一时刻忽然灵犀一点,领悟真谛,发现自己想要的东西原来就在自己的身边或领悟后的心里。在旁人看来,他的蓦然回首是如何偶然而幸运,但其背后的用功之勤、平时的积累之深,又岂是常人所能坚持,所能想象的呢?这时候,世俗目标是否已经达到已不再重要,重要的是灵魂的解放和心灵的归属。对应围着Bug转的第三阶“关闭Bug”,如果仅从字面理解,很简单,不就是开发解决了Bug,回归Bug,然后把Bug关闭。如果是这样,笔者认为这种观念仍属于第一阶。第三阶的关闭Bug,是指测试人员提交一个Bug后,要有主动意识推动开发人员解决问题,并协助他们解决,只有问题解决了,软件的质量才得以提高,测试人员的最终目的才能达到。提交的有些问题严格来说,它不属于Bug,而是一种设计缺陷,此时测试人员该怎么办呢?需主动召集相关专家进行其影响面的风险分析,并跟进此问题的整个解决过程,如果风险点涉及其他专业的更改(如嵌入式软件涉及硬件、机械等方面的知识),可能需要专门成立一个专项问题解决团队,以全面解决此问题,直到各专业方向的问题解决到位,回归验证完成,此Bug方能关闭。站在Bug的生命周期角度分析,一个Bug由被发现的起点,走到被关闭的终点,才是一个合理的、完整的过程,如图2-6所示。但是要达到这一层,很可能有一大部分的工作已完全脱离了纯软件测试层面的工作,可是测试的最终目标不就是给用户一个高质量、信得过的产品吗?我们需要有这样的大气胸怀,才能把产品的测试工作做得更深远、更宽阔。

接下来结合案例对围着Bug转的三个阶段分别进行介绍。

2-6  Bug 生命周期曲线闭环图

 

 

本文节选自《软件测试之魂:核心测试设计精解(第2版)》一书

肖利琼

电子工业出版社出版

 

阅读(831) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~