文档章节

Bug漏测的5个简单原因,以及如何预防

Elvis_cv
 Elvis_cv
发布于 2017/06/07 16:23
字数 1893
阅读 32
收藏 0

在某种程度上,Bug漏测是测试人员最糟糕的噩梦之一。为什么这么说呢,软件测试人员或许知道存在这样一种误解,认为测试人员应该发现系统的所有bug。测试人员常常被看作是守门员,一旦任何bug泄露给客户并导致损失,如销售,公司声誉,潜在客户等等,通常是测试人员背锅。如果一个团队习惯指责错误,那么这种情况会更严重。Bug漏测有其背后的原因,这篇文章指出了导致漏测的5个常见原因,以及如何防止它再次发生。

 

#1:你错过了bug,因为你没有测试它

 

这是显而易见的。

 

如果你没有测试一个特性,一个组件或测试用例,那么bug很可能会被客户发现。当然,你可能会忘记测试一个功能或你的测试设计不好,但更常见的的原因是:

(1)你可能不知道开发人员做出的“秘密”更改。开发人员可能会故意隐藏,或他们只是认为这些更改很小不需要测试新;

(2)你可能不知道特性已经变更了。

 

你能做些什么来防止这种情况?

(1)注意每次构建版本中系统中可能存在的任何更改,特别是关键组件的更改或最后一分钟更改。询问更改并指出缺乏测试的更改可能带来风险;

(2)要求进行透明的沟通。这里传达的关键信息是,沟通不透明会带来更多的风险,影响系统的质量。

 

 #2:你没有覆盖所有的情况

 

在大部分情况下,测试人员需要遵循一组复杂的步骤或各种组合来触发bug。从技术上讲,为了服务和满足业务需求,软件变得越来越复杂。黑盒测试人员可能不知道系统是多么复杂,或系统的组件是如何协同工作的。 因此,缺乏足够的测试覆盖率,导致漏测bug。而这些错误常常会让测试人员觉得无可奈何。

 

你能做些什么来防止这种情况?

(1)作为测试人员,需要站在用户的角度去了解他们是如何使用产品的。有时候,用户的行为很奇怪,但测试人员知道这就是他们如何使用软件的。不要低估用户的“创意”。

(2)从技术角度理解系统是如何运作的。在大部分情况下,测试人员不必知道组件之间是如何通信的,或者看懂每行代码。然而,从技术角度理解系统可以帮助测试人员发现深层次的bug。

(3)如果有足够多的时间,测试人员应该花更多的时间来设计和覆盖尽可能多的组合。虽然这样做花费时间和精力,但如果值得,就应该这样做。

 

#3:你错过了bug,因为你忽略了明显的bug

 

奇怪的是,漏测的bug通常也是明显的bug。“明显的bug”,是指bug就在测试人员面前,但测试人员不认识他们。我知道这是一件痛苦的事情,但这样的事情一直发生,为什么会这样?

 

导致测试人员看不到明显的bug的原因有:

(1)你可能太专注于测试系统的某个特定区域,你甚至不打算在其他地方寻找问题。

(2)你可能太专注于另一项任务,而没有处在“错误检测模式”。例如,当你设计测试用例时,你可能正在与系统进行交互,但你的头脑没有在错误检测模式,所以你可能会错过明显的错误。

(3)您使用相同的路径重复测试一个功能。

 

“一遍又一遍做同样的事情却期待不同的结果是愚蠢的” - 爱因斯坦。

 

测试人员的版本:

 

“以相同的方式一遍又一遍地测试并期待找到bug的行为是愚蠢的”

 

你能做些什么来防止这种情况?

(1)说实话,我不知道如何解决这个问题,特别是如果你不是“多任务”测试人员的类型。我的建议是,总是让你在“错误检测模式”,这样你可以指出明显的问题。

(2)你还可以尝试从不同的角度分析系统,应用不同的技术来测试系统。

 

#4:面临时间压力

 

“Ship it or RIP it”

 

现在人们希望软件交付越快越好,因此测试团队经常面临时间压力,要么加班完成测试,要么缩减测试内容。当测试人员处在一个忙乱的状态下,自然容易漏测。

 

你能做些什么来防止这种情况?

实际上,解决方案不是找到方法,在压力下测试时不漏测。解决方案是找到方法,以便在测试时避免承受压力。我的建议是:如果时间是固定的,可以沟通减少测试和执行风险分析。告诉管理者会测试什么和不会测试什么,以及不测试一个功能或组件所带来的风险。

 

#5:你看到了问题,但你没有报告

 

“每当你发现bug,立即报告”,这被认为是测试人员的经验法则。然而,有时候测试人员没有遵循它。

 

多少次当你发现一个bug,你告诉自己稍后再报告。但是一段时间后,你完全忘了报告bug。

 

另一种情况是,你没有足够的信心报告它(例如,我不想打扰开发人员)或者你低估了bug的重要性(例如:这个bug严重级别很低,没有人关心,所以跳过它),因此你决定不报告。然而事实是,这个对你来说不重要的bug,在某人看来是一个关键的bug。

 

“A bug is something that bug someone that matters”(James Bach)

 

一个bug对你不重要,不一定意味着它对别人也不重要。

 

你能做些什么来防止这种情况?

如果你认为这是一个bug,那么报告它(当然,bug报告里应该说明为什么你认为这是一个bug)。这是一个很好的做法,测试人员应该更频繁地练习。

 

 结语

 

作为测试人员,我们的工作是测试产品,并向管理层提供产品相关的有价值信息。在某些情况下,我们扮演守门员的角色,在产品进入客户手中之前进行评估。这意味着当我们漏掉一个bug时,压力就在我们身上。但是,我们测试人员只是人,人是不完美的。我们偶尔也犯错误,有些人可能比其他人犯更多的错误,但是这没关系。

 

重要的是:不要因为漏测,而互相指责或推卸责任。

 

作为测试人员,让我们把这种情况作为一个机会来审查测试过程,看看问题在哪里,并防止它再次发生。团队里的每个成员都应该为质量负责,而不仅仅是测试人员。

© 著作权归作者所有

Elvis_cv
粉丝 0
博文 17
码字总数 46878
作品 0
广州
QA/测试工程师
私信 提问
【转帖】有关新人上手容易出现漏测的一些bug

一般一个新人(这里指新接触项目的人,而不是刚入行的人)来了,他之前可能有一些测试经验,所以在对一个游戏/软件,有了大致了解之后可以很快上手测试新功能,因为测试都是相通的。 但是新人...

kyzg2211
2016/06/29
111
0
如何衡量测试效率?

个人认为可以从软件测试的活动中的以下指标综合考评,去评估衡量测试效率,每项指标都高,自然能够说明一些问题: 1.发现缺陷的质量: 同一个项目组内,我们一般运用测试管理工具TD, 按优先级...

白一客
2017/08/17
189
0
写给软件测试新人和转行同学

第一部分 软件测试现状剖析 1.任何人都可以做测试 掌握了测试基础的理论知识后,任何人都可以做黑盒测试,但只能拿到该行业内最底层的薪水。对于安全测试、自动化测试、性能测试等等是需要有...

honzhang
2018/01/23
0
0
QA与RD、PM沟通——测试过程中,遇到的问题

 在测试过程中,经常遇到需要和RD、PM沟通的问题。   1、写case时,对需求文档内容存在疑问。   解决办法:   1)先找之前参与需求评审的QA,询问;   2)问开发该需求的RD:查看R...

软件测试网
2018/05/08
0
0
TestBird与百度合作举办百度移动应用商业论坛

阳春4月,TestBird接受紫博蓝邀请,与百度合作举办了百度移动应用商业论坛。并且将在4月7日下午,十分咖啡馆(天府软件园店)展开,同时在论坛会上,TestBird会就“如何打造一款精品手游”一...

kyzg2211
2016/04/06
68
0

没有更多内容

加载失败,请刷新页面

加载更多

Guava RateLimiter + AOP注解实现单机限流、统计QPS

1、基于springboot项目pom.xml添加如下依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId></dependency><d......

铁骨铮铮
10分钟前
0
0
龙芯版办公软件下载

金山wps office   rpm包:http://ftp.loongnix.org/os/loongnix/1.0/os/Packages/w/wps-office-10.8.0.6472-1.a20p1.mips64el.rpm   deb包:http://packages.deepin.com/loongson/pool/......

gugudu
15分钟前
0
0
BI报表分析和数据可视化,推荐这三个开源工具!

开源篇 一、Superset 1、技术架构:Python + Flask + React + Redux + SQLAlchemy 2、使用人群: (1)开发/分析人员做好看板,业务人员浏览看板数据 (2)业务人员可自行编辑图表,查看满足...

飓风2000
22分钟前
0
0
CountDownLatch

CountDownLatch的概念 CountDownLatch是一个同步工具类,用来协调多个线程之间的同步,或者说起到线程之间的通信(而不是用作互斥的作用)。 CountDownLatch能够使一个线程在等待另外一些线程...

少年已不再年少
30分钟前
0
0
centos7 新手阿里云服务器安装mongodb

简介 MongoDB 是一个基于分布式 文件存储的NoSQL数据库 由C++语言编写,运行稳定,性能高 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案 MongoDB特点 模式自由 :可以把不同结构的文档存...

醉雨
41分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部