一、划分一个bug的等级

bug等级主要分为致命、严重、一般、轻微或者建议四个等级;

1.致命错误:系统无法执行、崩溃或严重资源不足、应用模块无法启动或异常退出、无法测试、造成系统不稳定、价值较高功能异常(比如与金钱相关的功能)

具体基本上可分为:

(1)严重花屏

(2)内存泄漏

(3)安全问题

(4)用户权限问题

(5)网页无法正常打开

(6)严重的数值计算错误

(7)功能设计与需求严重不符

(8)系统崩溃/死机/冻结/死循环

(9)模块无法启动、调用或异常退出

(10)数据库数据丢失或破坏、数据库连接错误、发生死锁

(11)重要的一级菜单功能不能使用、无法登录、无法正常退出,程序重启、自动退出, 关联程序间调用冲突

2.严重错误:影响系统功能或操作,主要功能存在严重缺陷,但不会影响到系统稳定性

具体基本上可分为:

(1)功能未实现

(2)系统刷新错误

(3)数值计算错误

(4)语音或数据通讯错误

(5)功能错误、主要功能丧失、基本模块缺失

(6)系统所提供的功能或服务受明显的影响(接口错误)

3.一般错误:界面、性能缺陷

具体基本上可分为:

(1)操作界面错误(包括数据窗口内列名定义、含义是否一致)

(2)边界条件下错误

(3)提示信息错误(包括未给出信息、信息提示错误等)

(4)长时间操作无进度提示(如导出功能)

(5)系统未优化(性能问题)

(6)光标跳转设置不好,鼠标(光标)定位错误

(7)涉及系统以及用户隐私数据没有处理或者隐藏(如密码没有隐藏化)

(8)代码在页面显示出来

4、轻微错误(建议性问题):易用性

具体基本上可分为:

(1)界面格式等不规范

(2)页面显示重叠

(3)辅助说明描述不清楚

(4)功能描述不清楚

(5)操作时未给用户提示(如修改成功、删除成功、添加成功、加载中等)

(6)可输入区域和只读区域没有明显的区分标志(一般只读区域颜色设置较暗)

(7)个别不影响产品理解的错别字

(8)文字排列不整齐等一些小问题

(9)输入框没有限制字符数、符号等约束条件(如电话号码字段只能输入纯数字、姓名限制字符数为3-4位、身份证号码严格标准化约束)

二、bug状态

1.待处理:测试人员或者用户发现并待确认的问题

2.已确认:经测试人员及开发人员讨论后确认是BUG,并提交到缺陷管理系统(如禅道)

3.已解决:开发人员修复BUG,待测试人员验证

4.已验证:测试人员验证问题通过

5.再激活:经测试,BUG未修复成功

6.重复出现:上一个版本修复的BUG,这个版本又出现

7.设计如此:与开发人员和产品沟通后,确认不是BUG,或者建议,但是开发人员不采纳

8.暂不处理:当前版本不修改,后续版本再考虑(与开发人员确定修改日期)

三、处理bug流程

四、bug权重分配

1.一些测试leader对TE工作评估的主要依据,发现的bug数,如果仅仅是bug数并不科学,因为根据bug等级的划分,有些bug甚至没有经确认或者重复,甚至有可能出现滥竽充数的现象也说不定。

2.如果按照bug等级划分来分配权重的话,明显更加科学;

BUG等级 权重
致命 2
严重 1
一般 0.5
轻微/建议 0.25

例如,我发现了2个致命的bug,4个提示的bug,3个建议的bug,最后的成绩=2*2+4*0.5+3*0.25

3.个人觉得,一些致命的bug或者是严重的bug(比如:一些影响到测试工作的bug等),相对比较容易发现,这些都是不具思考性的错误,为什么?因为发现这些问题,不用问,必须改的bug?难道不是这样吗?在测试日常中最难处理反而是一些建议性问题,往往更具有思考性,比如说用户需求没有说明,但是我觉得做了更能体现出用户体验的易用性,然而需求文档上没有,那就不是必须要做的,开发可以选择不做,这样开发和测试就有了争议了,那就捅到产品那里去吧。。。对于一些建议性问题往往是花费更多的时间的。

BUG等级 权重
致命 0.25
严重 0.5
一般 1
轻微/建议 2

注意:如果产品比较成熟的话第三种比较合适,如果产品还停留在开发基本功能的情况下第二种相对比较符合。

如何定义一个BUG的更多相关文章

  1. 由一个bug引发的SQLite缓存一致性探索

    问题 我们在生产环境中使用SQLite时中发现建表报“table xxx already exists”错误,但DB文件中并没有该表.后面才发现这个是SQLite在实现过程中的一个bug,而这个bug ...

  2. 关于MySQL count(distinct) 逻辑的一个bug【转】

    本文来自:http://dinglin.iteye.com/blog/1976026#comments 背景 客户报告了一个count(distinct)语句返回结果错误,实际结果存在值,但是用cou ...

  3. 微软BI 之SSIS 系列 - MVP 们也不解的 Scrip Task 脚本任务中的一个 Bug

    开篇介绍 前些天自己在整理 SSIS 2012 资料的时候发现了一个功能设计上的疑似Bug,在 Script Task 中是可以给只读列表中的变量赋值.我记得以前在 2008 的版本中为了弄明白这个配 ...

  4. memory_limit的一个bug | 风雪之隅

    原文:memory_limit的一个bug | 风雪之隅 27 Nov 09 memory_limit的一个bug 作者: Laruence( ) 本文地址: http://www.laruence. ...

  5. 从一个Bug说开去--解决问题的思路,Linked Server, Bulk Insert, DataTable 作为参数传递

    声名— 部分内容为杜撰,如有雷同,不胜荣幸! 版权所有,如要引用,请标明出处! 如果打赏,请自便! 1       背景介绍 最近一周在忙一个SQL Server 的Bug,一个简单的Bug,更新两张 ...

  6. [android开发IDE]adt-bundle-windows-x86的一个bug:无法解析.rs文件--------rs_core.rsh file not found

    google的android自带的apps写的是相当牛逼的,将其导入到eclipse中方便我们学习扩展.可惜关于导入的资料太少了,尤其是4.1之后的gallery和camera合二为一了.之前导4.0 ...

  7. NDK中使用pthread多线程中自己写的一个BUG

    在使用pthread进行NDK中的多线程开发时,自己写了一个BUG, void *darkGrayThread(void *args) { ThreadParam *param = (ThreadPa ...

  8. PostgreSQL的.NET驱动程序Npgsql中参数对象的一个Bug

    最近将公司的项目从SqlServer移植到PostgreSQL数据库上来,在调用数据库的存储过程(自定义函数)的时候,发现一个奇怪的问题,老是报函数无法找到. 先看一个PgSQL存储过程: CREAT ...

  9. puppet的一个Bug

    前篇文章写了使用puppet管理500多台服务器,当然只是一部分,最主要的还是puppet脚本的编写,这个我会在以后的文章中一点一点写出来. 今天要写的是puppet的一个bug,版本是puppet ...

随机推荐

  1. MyBatis笔记一:GettingStart

    MyBatis笔记一:GettingStart 1.MyBatis优点 我们的工具和各种框架的作用就是为了我们操作数据库简洁,对于一些数据库的工具能帮我们少写一些处理异常等等的代码,但是他们并不是自动 ...

  2. ASE code search -- 第二次结对编程作业

    baseline 复现 baseline模型 我们再这次实验中选择了deep code search方法作为了解并复现.下面介绍一下这两种方法 deep code search 模型的结构在论文中已经 ...

  3. Centos7上MariaDB数据库启动问题解决

    安装MariaDB数据库后出现服务启动失败问题, 解决办法:卸载再安装!(确定无3306端口占用) 一.卸载数据库: [root@localhost logs]# yum -y remove mari ...

  4. Opencv 特征提取与检测-Haar特征

    Haar特征介绍(Haar Like Features) 高类间变异性 低类内变异性 局部强度差 不同尺度 计算效率高 这些所谓的特征不就是一堆堆带条纹的矩形么,到底是干什么用的?我这样给出 ...

  5. 【Java学习笔记】Java的垃圾回收机制

    搬以前写的博客[2014-12-30 15:07] 以前很少关注内存的问题,基本没有关注,这方面的小白,原因在于自己都是写的自我娱乐的小程序,不关注性能,不是提供服务.而企业级别的应用在程序稳健性方面 ...

  6. express 的学习 (1)

    - 安装`npm i express -S` - :引入express第三方对象 - :构建一个服务器对象 - :开启服务器监听端口 - :处理响应 1.下载 新建一个文件夹,cmd 进去,使用命令 ...

  7. Ecshop商品浏览历史样式修改方法

    想要修改ECSHOP的浏览历史样式,发现 history.lbi 中不能修改. 需要修改的文件:includes\lib_insert.php,找到函数:function insert_history ...

  8. Delphi 类(TObject、TPersistent、TComponent、TControl、TWinControl、TCustomControl、TGraphicControl、TInterfacedObject)简单介绍

      TObject:    VCL中所有类的根类,即是说:VCL中所有的类/组件/控件都是从TObject中继承而来.TObject类中定义了基本的 构造方法和析构方法.   TPersistent: ...

  9. 【NOI2019模拟2019.6.29】组合数(Lucas定理、数位dp)

    Description: p<=10且p是质数,n<=7,l,r<=1e18 题解: Lucas定理: \(C_{n}^m=C_{n~mod~p}^{m~mod~p}*C_{n/p} ...

  10. bzoj 3207 可持久化线段树+hash

    这道题要看出来这个做法还是比较容易说一下细节 1.因为要用hash的区间值域来建树,而hash为了不冲突要开的很大,所以值域就会比较的大,不过这道题好的一点是没有修改,所以直接离散一下就会小很多 2. ...