- 博客主页:Duck Bro 博客主页
- 系列专栏:软件测试专栏
- 关注博主,后期持续更新系列文章
- 如果有错误感谢请大家批评指出,及时修改
- 感谢大家点赞👍收藏⭐评论✍
软件测试 — BUG篇
关键词:bug、bug生命周期、bug级别、bug要素
目录
一、什么是bug
⼀个计算机bug指在计算机程序中存在的⼀个错误(error)、缺陷(flaw)、疏忽(mistake)或者故障(fault),这些bug使程序⽆法正确的运⾏。Bug产⽣于程序的源代码或者程序设计阶段的疏忽或者错误。
1. bug的概念
"bug"是指计算机程序或系统中的一个错误、故障或缺陷。它可能导致程序执行错误、崩溃或产生不正确的结果。bug通常是由于程序代码编写错误、逻辑错误、算法问题、数据输入错误、外部系统交互等原因引起的。要解决一个bug,开发人员通常需要通过调试、分析代码、测试和修复等过程来找出和修复bug。
准确的来说:
- 当且仅当规格说明是存在的并且正确,程序与规格说明之间的不匹配才是错误。
- 当需求规格说明书没有提到的功能,判断标准以最终⽤⼾为准:当程序没有实现其最终⽤⼾合理 预期的功能要求时,就是软件错误
二、如何描述bug
1. bug的基本要素
描述bug的基本要素:问题出现的版本、问题出现的环境、问题出现的步骤、预期结果、实际结果
2. bug案例
版本:谷歌浏览器版本 123.0.6312.123(正式版本) (64 位)
环境:Windows10家庭版
步骤:
- 打开⾕歌浏览器
- 输⼊⽹址https://www.101eduyun.com/
- 找到登录界面
预期结果:⼆维码与登陆模块不会出现遮挡,⼆维码可以正常扫描
实际结果:⼆维码被登陆模块遮挡,⼆维码扫描失败
三、bug的级别(bug的严重程度)
通过定义bug的级别,能够明确看出问题的严重程度。⼯作中开发⼈员通常需要按照bug的级别来分配优先级来处理bug,除此之外,通过bug级别也能够体现出开发⼈员的开发质量。
1. 定义bug级别
bug级别⼀般分为:崩溃、严重、⼀般、次要
2. bug级别分类及介绍
四、bug的处理流程(生命周期)
1. 流程图及介绍
- New:新发现的Bug,未经评审决定是否指派给开发⼈员进⾏修改。
- Open:确认是Bug,并且认为需要进⾏修改,指派给相应的开发⼈员。
- Fixed:开发⼈员进⾏修改后标识成修改状态,有待测试⼈员的回归测试验证。
- Rejected:如果认为不是Bug,则拒绝修改。
- Delay:如果认为暂时不需要修改或暂时不能修改,则延后修改。
- Closed:修改状态的Bug经测试⼈员的回归测斌验证通过,则关闭Bug。
- Reopen:如果经验证Bug仍然存在,则需要重新打开Bug,开发⼈员重新修改。
2. 流程各步骤(详细)
在开发中,处理bug的流程通常包括以下几个步骤:
-
定位和复现:开发人员首先需要定位和复现bug,也就是通过测试环境或者重新现场来确认bug的存在和具体表现。
-
持续集成和自动化测试:为了及时发现和解决bug,开发团队通常会使用持续集成工具和自动化测试工具来提高代码质量。这样可以在开发过程中快速检测和修复潜在的问题。
-
创建bug报告:一旦发现bug,开发人员会创建一个bug报告,并包括详细的信息,如bug的描述、复现步骤、环境信息等。
-
优先级和严重性评估:根据bug的影响和紧急程度,开发团队会对bug进行优先级和严重性评估,以确定处理bug的顺序。
-
分配给开发人员:根据优先级和严重性评估结果,bug报告会被分配给相应的开发人员进行处理。
-
修复和测试:开发人员会根据bug报告中提供的信息,对代码进行修复。修复完成后,会进行测试以确保修复的有效性。
-
验证和关闭:一旦bug修复通过测试,开发人员会验证修复后的系统,确认bug已经得到解决。然后,关闭bug报告。
-
沟通和追踪:在整个处理过程中,开发人员和测试人员之间需要进行及时的沟通和协作,以确保bug的处理进展顺利。同时,需要进行追踪和记录,以便后续的监控和分析。