Bug基本概念
Bug 基本概念
简介
其实 Bug 就是一个电脑程序里的错误,而现在更是将其诞生为漏洞,或者一个程序不完善的地方。
那 Bug 这个词是怎么来的呢?早期的时候,大家都知道计算机都是那种大型的机器。那有一天机器忽然出故障了,大家就开始排查这个故障。最后发现是虫子爬进主机内部引起短路,导致机器故障。所以后来大家就把程序故障统称为 BUG 了。
其实在这里还有一个概念,就是缺陷。严谨一些说,Bug 和缺陷还是有区别的。一般来说 Bug 是现象,而缺陷是引起这些现象的原因。比如说因为程序中存在缺陷,所以才出现了 Bug。
不过在实际工作当中不会这么严格的区分这两个概念。一般来说更多用 Bug 来统称软件设计问题和故障。
Bug 判定标准
只要是符合了这几个标准其中的一条,就可以断定它是一个 Bug。
- 软件未达到客户需求文档的功能和性能
- 软件出现客户需求不能容忍的错误
- 软件的使用未能符合客户的习惯和工作环境
- 软件超出需求文档的范围
经典面试题
这里涉及到了一个经常会被问道的面试题,那就是如果开发人员认为你提交的 Bug 不是一个 Bug,这时候你怎么办?
其实这个问题面试官想要考察的就是大家对于 Bug 有没有自己的判断,还有就是在工作当中的一些软实力,比如说处理问题的思路。
可以先来分析一下什么样的 Bug 会让开发认为不是 Bug。
- 测试人员描述不清晰:提高自己的业务水平。
- 难以复现的 Bug:留好截图和 log,保留证据,做好记录。
- 有争议的 Bug(建议类):开会讨论。
- 功能性 Bug(需求理解不一致):提 Bug 时提供证据,需求,设计方案,省去争议。
Bug 严重程度
在软件测试中,软件缺陷的严重性的判断应该从软件最终用户的观点做出判断,即判断缺陷的严重性要为用户考虑,考虑缺陷对用户使用造成的恶劣后果的严重性。
- 致命:不能完全满足系统要求,系统停止运行,系统的重要部件无法运行,系统崩溃或者挂起等导致系统不能正常运行。
- 严重:严重地影响系统要求或基本功能的实现,且没有更正办法(重新安装或重新启动该软件不属于更正办法)。使系统不稳定、或破坏数据、或产生错误结果,或部分功能无法执行,而且是常规操作中经常发生或非常规操作中不可避免的主要问题,系统无法满足主要的业务要求,性能、功能或可用性严重降低。
- 一般:系统可以满足业务要求,系统性能或响应时间变慢、产生错误的中间结果但不影响最终结果等影响有限的问题。
- 建议:使操作者不方便或操作麻烦,但它不影响执行工作功能或重要功能。界面拼写错误或用户使用不方便等小问题或需要完善的问题。
Bug 优先级
优先级是表示处理和修正软件缺陷的先后顺序的指标,即哪些缺陷需要优先修正,哪些缺陷可以稍后修正。
严重程度和优先级的关系
- 一般地,严重性程度高的软件缺陷具有较高的优先级。
- 有时候严重性高的软件缺陷,优先级不一定高,甚至不需要处理。
- 有时候一些严重性低的缺陷却需要及时处理,具有较高的优先级。
总结
- Bug 相关概念
- Bug 判定标准