软件测试—BUG篇
目录
一、软件测试的生命周期
二、BUG的概念
三、描述BUG的要素
四、BUG级别
五、BUG的生命周期
一、软件测试的生命周期
前面我们学习到软件测试贯穿于软件的生命周期。然而软件测试的生命周期是指测试流程,这个流程是按照一定顺序执行的一系列特定的步骤,去保证产品质量符合需求。每个阶段有不同的目标和交付产物。
需求分析 | 分别从用户角度、技术角度、测试角度来分析 |
测试计划 | 指定测试计划:什么时候开发测试、什么时候结束测试、耗时多久 |
测试设计与开发 | 参考需求文档、技术文档等编写测试用例; 写测试文档,明确标注使用到的测试方法,测试工具,测试形式等等 |
测试执行 | 充分利用测试用例和测试工具对项目尽可能做到全方面的测试覆盖 |
测试评估 | 需要看测试是否通过、本次测试是否有遗留的BUG,最终测试人员需要产出一个测试报告 |
上线 | 项目测试结束后,将项目发布到线上环境,测试人员需要跟踪线上环境下软件的运行是否正确运行 |
运行维护 | 测试⼈员需要参与项⽬的实施⼯作。 |
二、BUG的概念
一个计算机中的bug是指在计算机程序中存在一个错误、缺陷、疏忽或者故障,这些是程序无法正确运行。
bug产生于程序的源代码或者程序设计阶段的疏忽或者错误。
- 当且仅当规格说明书是存在的并且正确,程序与规格说明书之间的不匹配才是错误;
- 当需求规格说明书没有提到的功能,判断标准以最终用户为准:当程序没有实现其最终用户合理预期的功能要求时,就是软件错误。
满足其中一个条件就是bug
三、描述BUG的要素
如果没有按照Bug要素来描述Bug时,可能测试人员在描述bug时写出的内容往往与自己想表达的不同,可能导致开发人员不明白bug产生在哪里。
bug的基本要素:
- 问题出现的版本
- 问题出现的环境
- 问题出现的步骤
- 预期结果
- 实际结果
举例:在不同的浏览器中搜索https://www.101eduyun.com/
在谷歌浏览器打开的页面:
在火狐浏览器打开的页面:
可以看出谷歌浏览器打开的页面中小程序二维码被登录模块给挡住了。因此测试人员需要描述这个bug。
问题出现的版本 | 版本 140.0.7339.128(正式版本) (64 位) |
问题出现的环境 | windows系统版本xxxx.xxx |
问题出现的步骤 | 1.打开谷歌浏览器 2.输入网址" https://www.101eduyun.com/ " 3.页面展示第一个背景图上的小程序二维码 |
预期结果 | 小程序二维码不会被登录模块遮挡,二维码可以正确扫描 |
实际结果 | 小程序二维码被登录模块遮挡,二维码不可以正确扫描 |
然而bug的要素包含但不限于以上这些,还可以有:序号、标题、bug等级 等等。
四、BUG级别
通过定义bug级别,能够清楚看出问题的严重程度。开发人员通常需要按照bug的级别来分配优先级来处理bug。
bug级别的划分:
崩溃、严重、一般、次要
崩溃 | 阻碍开发或者测试工作的问题; 造成系统崩溃、死机、死循环,导致数据库数据丢失,与数据库连接错误主要功能丧失,基本模块缺失等问题。 |
严重 | 系统主要功能部分丧失、数据库保存调用错误、用户数据丢失,一级功能菜单不能使用但是不影响其他功能测试。 功能设计与需求严重不符,模块无法启动或调用,程序重启、自动退出,关联程序间调用冲突,安全问题、稳定性等。 |
一般 | 功能没有完全实现但是不影响使用,功能菜单存在缺陷但不会影响系统稳定性。 |
次要 | 界面、性能缺陷,建议类问题,不影响操作功能的执行,可以优化性的方案等。 |
五、BUG的生命周期
测试⼈员在执⾏测试的过程中如果发现bug,需要在对应的bug管理平台来创建bug,创建好bug需要被开发⼈员修复,以及测试⼈员的持续跟踪和测试。
如图所示:
- New:新发现的bug,未经评审决定是否指派给开发人员进行修改;
- Open:确认是bug,并且认为需要进行修改,指派给相应的开发人员;
- Fixed:开发人员进行修改后标识成修改状态,有待测试人员的回归测试验证;
- Rejected:如果认为不是bug,则拒绝修改;
- Delay:如果认为暂时不需要修改或者暂时不能修改,则延后修改;
- Closed:修改状态的bug,通过测试人员的回归测试验证通过后关闭bug;
- Reoped:如果验证bug仍然存在,则需要重新打开bug,开发人员重新修改。
在这篇中我们学习了BUG概念、描述BUG的基本要素、BUG的级别、软件测试的生命周期和BUG的生命周期。