测试的第一重境界:围着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版)》一书
肖利琼著
电子工业出版社出版
相关推荐
测试的第一重境界:围着Bug转 测试的第一重境界:围着Bug转 “意识决定行动,行动决定结果”是管理学中众所周知的名言。做测试的前几年,笔者并没有这个意识,也没有主动地去思考过这个问题,但随着一个个项目...
而“软件测试bug统计分析图表”作为软件测试中的重要工具,扮演着至关重要的角色。本文将深入探讨这一主题,从多个角度解析其重要性、作用以及如何通过数据分析提升软件测试效率。 ### 一、软件测试与bug统计 软件...
本资料包主要涵盖了两个核心主题:详细的bug测试和测试用例的用法。以下是对这两个主题的详细解释。 首先,我们来谈谈bug测试。Bug测试,也称为缺陷测试,是寻找并记录软件中存在的错误、故障或异常行为的过程。它...
1. P-1:紧急bug,立即解决,影响用户使用,公司形象等。 2. P0:高优先级bug,影响用户使用,需要在1天内解决。 3. P1:中等优先级bug,影响用户体验,需要在3天内解决。 4. P2:低优先级bug,影响用户体验,但不...
本文将详细阐述软件测试通过的标准以及BUG分级的相关知识点,旨在为软件测试人员提供一个清晰、准确的参考依据。 #### 一、软件测试通过标准 1. **功能完整度**:软件必须实现其设计文档中规定的全部功能,并且...
BugFree 2.0 是一款专为软件测试而设计的开源Bug管理工具,它提供了高效、易用且灵活的环境来跟踪和管理软件开发过程中的缺陷。这款工具旨在帮助开发团队更好地协调工作,确保产品质量,减少错误并提高整体开发效率...
### 软件测试BUG写作指南 #### 一、引言 在软件开发过程中,BUG的存在几乎是不可避免的。为了确保软件质量,及时有效地报告BUG至关重要。本文档旨在为初学者提供编写有效BUG报告的指导原则,帮助提升BUG修复效率。 ...
"软件测试常见Bug大全"这个文档集合了测试人员在实际工作中可能会遇到的各种问题,为他们提供了一个全面的学习和参考资源。这里我们将深入探讨软件测试的重要性和常见的Bug类型。 首先,软件测试是为了发现并修复...
1. New(新的):当某个 Bug 被发现的时候,测试人员需要与项目负责人沟通以确认发现的确是一个 Bug。如果被确认是一个 Bug,就将其记录下来,并将 Bug 的状态设为 New。 2. Open(打开的):当一个 Bug 被指认为 ...
- **New**:当测试人员首次发现并提交一个新的Bug时,其状态会标记为New。这是Bug生命周期的起始状态,表明该Bug尚未经过任何处理。 - **Open**:一旦开发团队确认了New状态下的Bug,并将其分配给具体的开发者进行...
在IT行业的软件开发过程中,BUG状态流程图是测试团队与开发团队之间沟通的重要工具,它清晰地描绘了从发现BUG到解决BUG的整个生命周期。本文将深入解析标题和描述中提及的知识点,涵盖BUG状态流程图的核心概念及其在...
本文将深入探讨“软件测试BUG清单分析”,旨在提供一种有效的评估方法,以便测试人员和开发人员能够更好地理解和处理这些问题。 首先,BUG的重现度是评估其严重性的基础。如果一个BUG可以轻松地被重现,这表明问题...
文档提到了Grace Hopper不仅发现了第一个Bug,还开发了第一个编译语言和编译器,并为COBOL语言奠定了基础。COBOL是一种早期的商业编程语言,至今仍对一些遗留系统有影响。她的工作极大地推动了计算机编程语言的发展...
如果bug状态为fixed,或者测试觉得这个不是bug,测试可以修改状态为closed(即测试可以修改bug状态的)。 2、项目管理:只能查看 3、版本发布:查 开发: 1、bug管理:查询所有bug、将new状态的BUG改为fixed,填写...
1. **问题描述清晰**:这要求测试人员在报告bug时,必须详细描述问题的表现,包括异常现象、错误信息等,确保任何人都能理解问题所在。描述应当简洁明了,避免使用过于专业或模糊的术语。 2. **问题模块路径清晰**...