Priority(优先级)和Severity(严重程度)是提交软件bug的两个重要属性。Priority的定义一定程度上要依赖于Severity。
Severity(严重程度)
- Blocker(致命缺陷):即系统无法执行、奔溃或严重资源不足、应用模块无法启动或异常退出、无法测试、造成系统不稳定。
- 严重花屏
- 内存泄露
- 用户数据丢失或破坏
- 系统崩溃/死机/冻结
- 模块无法启动或异常退出
- 严重的数值计算错误
- 功能设计与需求不符 lk内部
- 其它导致无法测试的错误, 如服务器500错误】
- Critical(严重缺陷):即影响系统功能或操作,主要功能存在严重缺陷,但不会影响到
- 系统稳定性。
- 功能未实现
- 功能错误
- 系统刷新错误
- 数据通讯错误
- 轻微的数值计算错误
- 影响功能及界面的错误字或拼写错误
- 安全性问题
- Major(主要缺陷):即界面、性能缺陷、兼容性。
- 操作界面错误(包括数据窗口内列名定义、含义是否一致)
- 边界条件下错误
- 提示信息错误(包括未给出信息、信息提示错误等)
- 长时间操作无进度提示
- 系统未优化(性能问题)
- 光标跳转设置不好,鼠标(光标)定位错误
- 兼容性问题
- Minor(次要缺陷):即易用性及建解性问题。
- 界面格式等不规范
- 辅助说明描述不清楚
- 操作时未给用户提示
- 可输入区域和只读区域没有明显的区分标志
- 个别不影响产品理解的错别字
- 文字排列不整齐等一些小问题
- Trivial(细小缺陷):即不重要的,琐碎的,琐细的问题。
- 页面展示的问题
- 格式规范问题
- 输入边框的粗细、别字等
Priority(优先级)
- Immediate(立即解决):表示问题必须立即解决,否则系统根本无法达到预定的需求。
- Urgent(急需解决):表示问题的修复很紧要,很急迫,关系到系统的主要功能模块能否正常 。
- High(高优先级):表示有时间就要马上解决,否则系统偏离需求较大或预定功能不能正常实现。
- Normal(正常处理):进入个人计划解决,表示问题不影响需求的实现,但是影响其他使用方面,比如页面调用出错,调用了错误的等。
- Low(低优先级):即问题在系统发布以前必须确认解决或确认可以不予解决。
注意:优先级和严重程度会根据实际项目的复杂度以及团队的大小进行调整,例如我在9AM做OfficeWell app时,采用一周一迭代的高速敏捷开发,并且团队人很少,最多时候包括CTO在内也才10个人,所以严重程度只用4级来划分便绰绰有余(将Trivial和Minor归为一类),优先级也只用4级(Immediate和Urgent归位一类),没有最佳,只有最合适自己项目和团队的的划分方案