什么是Bug?
做软件测试怎么正确描述Bug?
当面试官问你遇到哪个bug是让你比较印象深刻的呢?
01
什么是Bug?
早期并没有缺陷的概念,直到第一台计算机诞生后才有人提出 Bug 一词。那时仅仅是将缺陷使用 Bug 这个词来描述,而并未真正对缺陷的产生进行详细的描述。1945 年美国的哈珀将军第一次通过报告的形式来描述缺陷。
Bug 一词的原意是“臭虫”或“虫子”。现在在软件测试过程中所有发现的问题,我们都喜欢使用“Bug”这个词来描述。
早期第一代的计算机是由许多庞大且昂贵的真空管组成,并利用大量的电子真空管发光,可能正是由于计算机运行产生的光和热,导致一只小虫子钻进了一支真空管内,使整个计算机无法工作。
研究人员花费很长时间才找到小虫子所在的真空管,将其取出后,计算机又恢复正常。后来,“Bug”这个名词就沿用下来,表示计算机系统或程序中隐藏的错误、缺陷或问题。
与 Bug 相对应,人们将发现 Bug 并加以纠正的过程称为“Debug”,即“捉虫子”或“杀虫子”。遗憾的是,在中文中一直没有找到一个恰当的词来准确地翻译“Bug”的意思,因此就一直使用“Bug”一词来表示,所以测试中所有的问题我们都称之为“Bug”。
02
怎么正确描述Bug
Bug按照其造成危害的严重程度可以分为四个等级,按照其修改的优先顺序,也可以分为四个等级;
按照造成危害的严重程度可以划分的四个等级为严重问题、高级问题、中级问题和低级问题,对于各个问题的具体情况以及其一般对应的优先级如下所述;
按照bug被处理的先后顺序也可以分为四个等级,分别为最高优先(Immediate)、高级优先(Urgent)、中级优先(Normal)、低优先级(Low)。不过需要注意的是,bug的严重程度与优先级之间并没有必然的联系。有关于bug等级详细描述如下。
bug级别的分类及其具体划分
严重问题定义: 不能完全满足系统要求,系统停止运行,系统的重要部件无法运行,系统崩溃或挂起等导致系统不能继续运行。
修改优先级为最高,该级别问题需要立即修改。
高级问题定义:严重地影响系统要求或基本功能的实现,且没有更正办法(重新安装或重新启动该软件不属于更正办法)。使系统不稳定、或破坏数据、或产生错误结果,或部分功能无法执行,而且是常规操作中经常发生或非常规操作中不可避免的主要问题,系统无法满足主要的业务要求,性能、功能或可用性严重降低。
修改优先级为高,该级别需要程序员尽快修改。
中级问题定义: 系统可以满足业务要求,系统性能或响应时间变慢、产生错误的中间结果但不影响最终结果等影响有限的问题。
修改优先级为中,该级别需要程序员修改。
低级问题定义: 使操作者不方便或遇到麻烦,但它不影响执行工作功能或重要功能。界面拼写错误或用户使用不方便等小问题或需要完善的问题。
修改优先级为低,该级别需要程序员修改或不修改。
03
遇到过什么样的bug?
当面试官问:“你测试过程中有遇到什么经典BUG吗?或者让你记忆深刻的BUG”,最近在陪学员面试时,经常被面试官问这个问题。很多朋友听到这个问题时,不知道如何回答。
一般情况下我们听到这个问题的时候不要着急去回答,可以先咨询面试官,可以这样说:“面试官您好!您说的经典的BUG是指比对我影响比较大的BUG吗?”。
这个时候面试官其实会意识到自己刚才的问题说的不是很好,然后就会将这个问题缩小些范围,原来的问题范围有点大。
回答这个问题通常有三种方式:
1、回答一个很难发现的BUG,花九牛二虎之力才发现的BUG
2、回答一个对自己影响很大的BUG,例如改进自己测试方法和思考问题逻辑
3、回答对公司测试流程有很大影响的BUG,例如帮助改了企业的测试流程
第一个维度是最不合适的,想一下你都很难发现,一般用户有多大可能性发现呢,当然也不能绝对这样说是吧,但这不是最好的选择。
最好的选择是使用第二种或第三种回答问方式,这样面试官听了之后会觉得你是很会总结,并且是一个不断学习的人。
下面使用一个例子来和大家解释一下上面的问题,这是我们的创始人黄老师教学员的回答方式。
我们学员是这样说的:
在我刚做测试时,遇到一个这样的问题,虽然这个问题不是我发现的,是我同事写的。当时是这样的,我们有一个支付的功能下订单后,进行支付 ,支付完成后再次去拉起支付二维码时还可以再次支付 ,写BUG的同事就这样写的,但我当时感觉这个BUG写的太简单了,没有写为何会出现这种情况或者说没有写有哪些情况可能出现这个问题。
然后我就去和开发沟通这个BUG,开发和我说是因为后台没有及时将更新订单的状态为已支付导致可以再次支付,开发抱怨说你们测试都不知道去看一下数据库,或抓包看一下响应报文,其实响应报文中都写的很清楚的,你们都不看。
从那以后我就明白了,测试不能只看界面显示,还要去分析数据库和抓包,不管测试的是有没有问题的功能 ,都应该养成这个习惯,这样才可以测试的更全面。
后面因为这个习惯还发一个搜索功能的BUG,搜索功能在抓包时发现重定向302,所以这个BUG对我来说印象很深刻的,因为他完善了我测试思维。
这就是一个完整的回答方式,大家可以根据自己的情况去准备这类BUG。
以上就是今天的所有内容,有任何关于面试技巧或软件技术问题可以留言私信我们一起交流!