❶ 缺陷等级应如何划分
不同的公司对缺陷等级的划分界限还是有区别的,但是一般的都遵循以下的原则:极高:在测试的过程中出现死机,系统崩溃、数据丢失,功能没有实现等此类缺陷的级别;高:此类缺陷导致系统功能不稳定,或功能实现错误,流程错误等。中:校验错误、罕见故障、错别字等不会影响系统功能,但会影响用户易用性等的错误。低:对系统没影响的一些小问题。
❷ 软件缺陷的优先级
严重性和优先级是表征软件测试缺陷的两个重要因素,它影响软件缺陷的统计结果和修正缺陷的优先顺序,特别在软件测试的后期,将影响软件是否能够按期发布与否。
对于软件测试初学者而言,或者没有软件开发经验的测试工程师,对于这两个概念的理解,对于它们的作用和处理方式往往理解的不彻底,实际测试工作中不能正确表示缺陷的严重性和优先级。这将影响软件缺陷报告的质量,不利于尽早处理严重的软件缺陷,可能影响软件缺陷的处理时机。
什么是缺陷的严重性和优先级
严重性(Severity)顾名思义就是软件缺陷对软件质量的破坏程度,即此软件缺陷的存在将对软件的功能和性能产生怎样的影响。
在软件测试中,软件缺陷的严重性的判断应该从软件最终用户的观点做出判断,即判断缺陷的严重性要为用户考虑,考虑缺陷对用户使用造成的恶劣后果的严重性。
优先级是表示处理和修正软件缺陷的先后顺序的指标,即哪些缺陷需要优先修正,哪些缺陷可以稍后修正。
确定软件缺陷优先级,更多的是站在软件开发工程师的角度考虑问题,因为缺陷的修正顺序是个复杂的过程,有些不是纯粹技术问题,而且开发人员更熟悉软件代码,能够比测试工程师更清楚修正缺陷的难度和风险。
缺陷的严重性和优先级的关系
缺陷的严重性和优先级是含义不同但相互联系密切的两个概念。它们都从不同的侧面描述了软件缺陷对软件质量和最终用户的影响程度和处理方式。
一般地,严重性程度高的软件缺陷具有较高的优先级。严重性高说明缺陷对软件造成的质量危害性大,需要优先处理,而严重性低的缺陷可能只是软件不太尽善尽美,可以稍后处理。
但是,严重性和优先级并不总是一一对应。有时候严重性高的软件缺陷,优先级不一定高,甚至不需要处理,而一些严重性低的缺陷却需要及时处理,具有较高的优先级。
修正软件缺陷不是一件纯技术问题,有时需要综合考虑市场发布和质量风险等问题。例如,如果某个严重的软件缺陷只在非常极端的条件下产生,则没有必要马上解决。另外,如果修正一个软件缺陷,需要重新修改软件的整体架构,可能会产生更多潜在的缺陷,而且软件由于市场的压力必须尽快发布,此时即使缺陷的严重性很高,是否需要修正,需要全盘考虑。
另一方面,如果软件缺陷的严重性很低,例如,界面单词拼写错误,但是如果是软件名称或公司名称的拼写错误,则必须尽快修正,因为这关系到软件和公司的市场形象。
处理缺陷的严重性和优先级的常见错误
正确处理缺陷的严重性和优先级不是件非常容易的事情,对于经验不是很丰富的测试和开发人员而言,经常犯的错误有以下几种情形:
第一,将比较轻微的缺陷报告成较高级别的缺陷和高优先级,夸大缺陷的严重程度,经常给人“狼来了”的错觉,将影响软件质量的正确评估,也耗费开发人员辨别和处理缺陷的时间。
第二,将很严重的缺陷报告成轻微缺陷和低优先级,这样可能掩盖了很多严重的缺陷。如果在项目发布前,发现还有很多由于不正确分配优先级造成的严重缺陷,将需要投入很多人力和时间进行修正,影响软件的正常发布。或者这些严重的缺陷成了“漏网之鱼”,随软件一起发布出去,影响软件的质量和用户的使用信心。
因此,正确处理和区分缺陷的严重性和优先级,是软件测试人员和开发人员,以及全体项目组人员的一件大事。处理严重性和优先级,既是一种经验技术,也是保证软件质量的重要环节,应该引起足够的重视。
如何表示缺陷的严重性和优先级
缺陷的严重性和优先级通常按照级别划分,各个公司和不同项目的具体表示方式有所不同。
为了尽量准确的表示缺陷信息,通常将缺陷的严重性和优先级分成4级。如果分级超过4级,则造成分类和判断尺度的复杂程度,而少于4级,精确性有时不能保证。
具体的表示方法机可以使用数字表示,也可以使用文字表示,还可以数字和文字综合表示。使用数字表示通常按照从高到底或从低到高的顺序,需要软件测试前达成一致。例如,使用数字1,2,3,4分别表示轻微、一般、较严重和非常严重的严重性。对于优先级而言,1,2,3,4可以分标表示低优先级、一般、较高优先级和最高优先级。
如何确定缺陷的严重性和优先级
通常由软件测试人员确定缺陷的严重性,由软件开发人员确定优先级较为适当。但是,实际测试中,通常都是由软件测试人员在缺陷报告中同时确定严重性和优先级。
确定缺陷的严重性和优先级要全面了解和深刻体会缺陷的特征,从用户和开发人员以及市场的因素综合考虑。通常功能性的缺陷较为严重,具有较高的优先级,而软件界面类缺陷的严重性一般较低,优先级也较低。
对于缺陷的严重性,如果分为4级,则可以参考下面的方法确定:
1 – 非常严重的缺陷,例如,软件的意外退出甚至操作系统崩溃,造成数据丢失。 2 – 较严重的缺陷,例如,软件的某个菜单不起作用或者产生错误的结果; 3 - 软件一般缺陷,例如,本地化软件的某些字符没有翻译或者翻译不准确; 4 -软件界面的细微缺陷,例如,某个控件没有对齐,某个标点符号丢失等;
对于缺陷的优先性,如果分为4级,则可以参考下面的方法确定:
1 –最高优先级,例如,软件的主要功能错误或者造成软件崩溃,数据丢失的缺陷。 2 – 较高优先级,例如,影响软件功能和性能的一般缺陷; 3 -一般优先级,例如,本地化软件的某些字符没有翻译或者翻译不准确的缺陷; 4 – 低优先级,例如,对软件的质量影响非常轻微或出现几率很低的缺陷;
其他注意事项
比较规范的软件测试,使用软件缺陷管理数据库进行缺陷报告和处理,需要在测试项目开始前对全体测试人员和开发人员进行培训,对缺陷严重性和优先级的表示和划分方法统一规定和遵守。
在测试项目进行过程中和项目接收后,充分利用统计功能统计缺陷的严重性,确定软件模块的开发质量,评估软件项目实施进度。统计优先级的分布情况,控制开发进度,使开发按照项目尽快进行,有效处理缺陷,降低风险和成本。
为了保证报告缺陷的严重性和优先级的一致性,质量保证人员需要经常检查测试和开发人员对于这两个指标的分配和处理情况,发现问题,及时反馈给项目负责人,及时解决。
对于测试人员而言,通常经验丰富的人员可以正确的表示缺陷的严重性和优先级,为缺陷的及时处理提供准确的信息。对于开发人员来说,开发经验丰富的人员严重缺陷的错误较少,但是不要将缺陷的严重性作为衡量其开发水平高低的主要判断指标,因为软件的模块的开发难度不同,各个模块的质量要求也有所差异。
❸ 如何划分缺陷【类型】【等级】【原因】
缺陷等级、类型、原因的划分会因公司或项目管理需求的不同、业务类型的不同而不同,公司EPG在参考其它公司分类情况的基础上,关键任务是要根据自身的需求和业务情况总结出适合自己的分类情况。
个人认为缺陷等级的划分要看公司或项目组关心哪个纬度的数据,比如关心缺陷的严重程度,那等级可能可以分为致命、严重、中等、一般等几个级别;如果比较关心缺陷影响范围,那等级可能可以分为很大、大、中、小等级别;如果比较关心缺陷的处理的紧急程度,那等级可能可以分为紧急、高、中、低等级别……。当然,纬度还有很多种,关键是看你关心什么数据,而且这些纬度也可以结合在一起,以加强对问题的管理。等级的划分虽说很多是定性的,但最好也能够有个比较清晰的定义,以方便推广和选择,减少歧议。再有就是上面提到的“为了建立各项目工作产品质量的比较,是不是得有一个统一的缺陷基准?如1致命缺陷=2严重缺陷=4一般缺陷=???”这样做的目的是为了做项目绩效考核吗?一般很少有公司会这样做吧,个人认为等级划分是为了更好地对问题进行管理和分析,而不适合用定量的方法去转换各不同级别缺陷的数量。
❹ 软件缺陷的等级划分是如何划分的
软件缺陷的等级划分是如何划分的?我认为每个软件都是有缺陷的,只是说有的缺陷比较小,有的缺陷比较大,就根据你软件的运行的计算大不大来计算吧?
❺ 软件缺陷的分类标准
1.缺陷标识(Identifier): 缺陷标识是标记某个缺陷的一组符号。每个缺陷必须有一个唯一的标识。
2.缺陷类型 (Type): 缺陷类型是根据缺陷的自然属性划分的缺陷种类。
3.缺陷严重程度 (Severity) :缺陷严重程度是指因缺陷引起的故障对软件产品的影响程度。
4.缺陷优先级(Priority): 缺陷的优先级指缺陷必须被修复的紧急程度。
5.缺陷状态(Status) :缺陷状态指缺陷通过一个跟踪修复过程的进展情况。
6.缺陷起源(Origin) :缺陷来源指缺陷引起的故障或事件第一次被检测到的阶段。
7.缺陷来源(Source): 缺陷来源指引起缺陷的起因。
8.缺陷根源(Root Cause): 缺陷根源指发生错误的根本因素。 F- Function :影响了重要的特性、用户界面、产品接口、硬件结构接口和全局数据结构。并且设计文档需要正式的变更。如逻辑,指针,循环,递归,功能等缺陷。
A- Assignment: 需要修改少量代码,如初始化或控制块。如声明、重复命名,范围、限定等缺陷。
I- Interface: 与其他组件、模块或设备驱动程序、调用参数、控制块或参数列表相互影响的缺陷。
C- Checking: 提示的错误信息,不适当的数据验证等缺陷。
B Build/package/merge :由于配置库、变更管理或版本控制引起的错误。
D- Documentation: 影响发布和维护,包括注释。
G- Algorithm :算法错误。
U-User Interface:人机交互特性:屏幕格式,确认用户输入,功能有效性,页面排版等方面的缺陷。
P-Performance:不满足系统可测量的属性值,如:执行时间,事务处理速率等。
N-Norms:不符合各种标准的要求,如编码标准、设计符号等。 软件测试错误严重程度
1.Critical:不能执行正常工作功能或重要功能。或者危及人身安全。
2.Major:严重地影响系统要求或基本功能的实现,且没有办法更正。(重新安装或重新启动该软件不属于更正办法)
3.Minor:严重地影响系统要求或基本功能的实现,但存在合理的更正办法。(重新安装或重新启动该软件不属于更正办法)
4.Cosmetic:使操作者不方便或遇到麻烦,但它不影响执行工作功能或重要功能。
5.Other:其它错误。
同行评审错误严重程度
1.Major:主要的,较大的缺陷
2.Minor:次要的,小的缺陷 1.Resolve Immediately:缺陷必须被立即解决。
2.Normal Queue:缺陷需要正常排队等待修复或列入软件发布清单。
3.Not Urgent:缺陷可以在方便时被纠正。 1.Submitted: 已提交的缺陷
2.Open :确认“提交的缺陷”,等待处理
3.Rejected: 拒绝“提交的缺陷”,不需要修复或不是缺陷
4.Resolved :缺陷被修复
5.Closed :确认被修复的缺陷,将其关闭 1.Requirement:在需求阶段发现的缺陷
2.Architecture:在构架阶段发现的缺陷
3.Design:在设计阶段发现的缺陷
4.Code:在编码阶段发现的缺陷
5.Test:在测试阶段发现的缺陷 1.Requirement: 由于需求的问题引起的缺陷
2.Architecture: 由于构架的问题引起的缺陷
3.Design: 由于设计的问题引起的缺陷
4.Code: 由于编码的问题引起的缺陷
5.Test: 由于测试的问题引起的缺陷
6.Integration: 由于集成的问题引起的缺陷
❻ 软件测试中的软件的缺陷等级如何划分
可以划分为 重大错误--严重错误--一般错误--轻微错误
也可以按照 S--A--B--C 来划分,这个东西不是死,并没有什么规定,只要你喜欢,你可以用自己词语去划分,只要词语描述清晰即可
❼ 简述软件缺陷的定义和划分
IEEE 1983 of IEEE Standard 729中对软件缺陷作了一个标准的定义:
从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。
因此软件缺陷就是软件产品中所存在的问题,最终表现为用户所需要的功能没有完全实现,没有满足用户的需求。
以前看黑马程序员公开课时候就讲过。
❽ 举例说下软件缺陷等级
缺陷严重级别定义:
o 最高级--导致运行中断(应用程序崩溃),预期的功能没有得到实现,测试工作无法继续进行等.
o 紧急---事件非常重要,并且需要马上给予关注.
o 高级---事件是重要的,并且应该在紧急的事件处理之后尽快得到解决.
o 中级---事件是重要的,但是由于解决问题需要花费一定的时间,所以可以用较长的时间解决.
o 低级---事件不重要,可以在时间和资源允许的情况下再解决.
o 建议性缺陷.
更为详细的划分如下:
A类——严重错误,包括:
o 由于程序所引起的死机,非法退出
o 死循环
o 导致数据库发生死锁
o 数据通讯错误
o 严重的数值计算错误
B类——较严重错误,包括:
o 功能不符
o 数据流错误
o 程序接口错误
o 轻微的数值计算错误
C类——一般性错误,包括:
o 界面错误(详细文档)
o 打印内容、格式错误
o 简单的输入限制未放在前台进行控制
o 删除操作未给出提示
D类——较小错误,包括:
o 辅助说明描述不清楚
o 显示格式不规范
o 长时间操作未给用户进度提示
o 提示窗口文字未采用行业术语
o 可输入区域和只读区域没有明显的区分标志
o 系统处理未优化
E类——测试建议(非缺陷)
❾ 软件缺陷分类的标准
软件缺陷(software defect)分类标准缺陷属性属性名称 描述 缺陷标识(Identifier) 缺陷标识是标记某个缺陷的一组符号。每个缺陷必须有一个唯一的标识 缺陷类型 (Type) 缺陷类型是根据缺陷的自然属性划分的缺陷种类。 缺陷严重程度 (Severity) 缺陷严重程度是指因缺陷引起的故障对软件产品的影响程度。 缺陷优先级(Priority) 缺陷的优先级指缺陷必须被修复的紧急程度。 缺陷状态(Status) 缺陷状态指缺陷通过一个跟踪修复过程的进展情况。 缺陷起源(Origin) 缺陷来源指缺陷引起的故障或事件第一次被检测到的阶段。 缺陷来源(Source) 缺陷来源指引起缺陷的起因。 缺陷根源(Root Cause) 缺陷根源指发生错误的根本因素。缺陷类型(Type)缺陷类型编号 缺陷类型 描述 10 F- Function 影响了重要的特性、用户界面、产品接口、硬件结构接口和全局数据结构。并且设计文档需要正式的变更。如逻辑,指针,循环,递归,功能等缺陷。 20 A- Assignment 需要修改少量代码,如初始化或控制块。如声明、重复命名,范围、限定等缺陷。 30 I- Interface 与其他组件、模块或设备驱动程序、调用参数、控制块或参数列表相互影响的缺陷。 40 C- Checking 提示的错误信息,不适当的数据验证等缺陷。 50 B Build/package/merge 由于配置库、变更管理或版本控制引起的错误。 60 D- Documentation 影响发布和维护,包括注释。 70 G- Algorithm 算法错误。 80 U-User Interface 人机交互特性:屏幕格式,确认用户输入,功能有效性,页面排版等方面的缺陷。 90 P-Performance 不满足系统可测量的属性值,如:执行时间,事务处理速率等。 100 N-Norms 不符合各种标准的要求,如编码标准、设计符号等。缺陷严重程度(Severity)1.3.1 软件测试错误严重程度 # 缺陷严重等级 描述 1 Critical 不能执行正常工作功能或重要功能。或者危及人身安全。 2 Major 严重地影响系统要求或基本功能的实现,且没有办法更正。(重新安装或重新启动该软件不属于更正办法) 3 Minor 严重地影响系统要求或基本功能的实现,但存在合理的更正办法。(重新安装或重新启动该软件不属于更正办法) 4 Cosmetic 使操作者不方便或遇到麻烦,但它不影响执行工作功能或重要功能。 5 Other 其它错误。1.3.2 同行评审错误严重程度 # 缺陷严重等级 描述 Major 主要的,较大的缺陷 Minor 次要的,小的缺陷缺陷优先级(Priority)# 缺陷优先级 描述 1 Resolve Immediately 缺陷必须被立即解决。 2 Normal Queue 缺陷需要正常排队等待修复或列入软件发布清单。 3 Not Urgent 缺陷可以在方便时被纠正。缺陷状态(Status)缺陷状态 描述 Submitted 已提交的缺陷 Open 确认“提交的缺陷”,等待处理 Rejected 拒绝“提交的缺陷”,不需要修复或不是缺陷 Resolved 缺陷被修复 Closed 确认被修复的缺陷,将其关闭缺陷起源(Origin)缺陷起源 描述 Requirement 在需求阶段发现的缺陷 Architecture 在构架阶段发现的缺陷 Design 在设计阶段发现的缺陷 Code 在编码阶段发现的缺陷 Test 在测试阶段发现的缺陷缺陷来源(Source)缺陷来源 描述Requirement: 由于需求的问题引起的缺陷 Architecture: 由于构架的问题引起的缺陷Design: 由于设计的问题引起的缺陷 Code: 由于编码的问题引起的缺陷Test: 由于测试的问题引起的缺陷 Integration: 由于集成的问题引起的缺陷