软件缺陷定义
- 格式:doc
- 大小:46.00 KB
- 文档页数:5
第一章:软件测试概述①软件缺陷定义:(1)软件未达到产品说明书中已经标明的功能;(2)软件出现了产品说明书中指明不会出现的错误;(3)软件未达到产品说明书中虽未指出但应当达到的目标;(4)软件功能超出了产品说明书中指明的范围;(5)软件测试人员认为软件难以理解、不易使用,或者最终用户认为该软件使用效果不良。
②软件缺陷的特征:•“看不到”——软件的特殊性决定了缺陷不易看到•“看到但是抓不到”——发现了缺陷,但不易找到问题发生的原因所在③软件缺陷产生原因:(1)软件产品说明书(需求)——56%(不专业—专业~~信息传递)(2)设计——27%(设计不规范)(3)编写代码——7%(4)其他——10%(软、硬件设备之间的配备问题)④软件测试发展历程:早期―→测试1957年―→为了确信自己的产品20世纪70年代―→Glenford Myers 《软件测试艺术》——“测试是为发现错误而执行一个程序或系统的过程”20世纪80年代早期―→软件质量、Bill Hetzel 《软件测试完全指南》——“测试是以评价一个程序或者系统属性为目标的任何一种活动。
测试是对软件质量的度量”20世纪90年代―→测试工具盛行2002年―→Rick和Stefan《系统的软件测试》——“测试是为了度量和提高被测软件的质量,对测试件进行工程设计、实施和维护的整个生命周期过程”⑤今天的软件测试面临的挑战:•软件在国防现代化、社会信息化和国民经济信息化中的作用越来越重要,由此产生的测试任务越来越繁重•软件规模越来越大,功能越来越复杂,如何进行充分而有效的测试成为难题•面向对象的开发技术越来越普及,但是面向对象的测试技术却刚刚起步•对于分布式系统整体性能还不能进行很好的测试•对于实时系统来说,缺乏有效的测试手段•随着安全问题的日益突出,信息系统的安全性如何进行有效的测试与评估,成为世界性难题⑥软件开发与软件测试的关系:•测试与开发各阶段的关系项目规划阶段,需求分析阶段,详细设计和概要设计阶段,编码阶段,测试阶段(软件开发生命周期)•测试与开发的并行性⑦软件测试的发展趋势:•测试工作将进一步前移。
软件系统的缺陷报告1. 引言软件系统的缺陷是在开发和使用过程中常见的问题。
本文将分析软件系统的缺陷,并提供一些解决方案来应对这些问题。
2. 缺陷分类软件系统的缺陷可以分为以下几类:2.1 功能性缺陷功能性缺陷是指软件系统在设计阶段未能满足用户需求的问题。
例如,某款软件在用户界面上缺少某些功能按钮,导致用户无法完成特定操作。
2.2 易用性缺陷易用性缺陷是指软件系统在用户交互方面存在问题。
例如,软件系统的用户界面布局不合理,导致用户难以理解如何操作软件。
2.3 安全性缺陷安全性缺陷是指软件系统的漏洞可能被恶意用户利用的问题。
例如,某个网上支付系统存在安全漏洞,导致用户的个人信息和资金可能被盗取。
2.4 性能缺陷性能缺陷是指软件系统在运行时效率低下的问题。
例如,某个视频播放软件在处理高清视频时出现卡顿现象,影响用户观看体验。
3. 缺陷影响软件系统的缺陷可能会对用户和开发者产生不同的影响:3.1 用户影响软件系统的缺陷会影响用户的体验和满意度。
用户可能无法完成某些操作,或者在使用过程中遇到意外错误。
这会降低用户对软件的信任度,并可能导致用户流失。
3.2 开发者影响软件系统的缺陷也会对开发者造成困扰。
开发者需要花费额外的时间和精力来修复缺陷,从而延误软件的发布和升级。
此外,缺陷修复可能需要投入额外的资源和人力成本。
4. 缺陷解决方案针对软件系统的缺陷,我们可以采取以下解决方案:4.1 引入测试流程在软件开发过程中,引入严格的测试流程是防止缺陷出现的关键。
通过对软件进行各种测试,例如单元测试和综合测试,可以及早发现和修复潜在的问题。
4.2 用户反馈机制建立用户反馈机制可以帮助开发者及时了解用户遇到的问题和需求。
开发者可以根据用户反馈及时修复缺陷,并根据用户需求优化软件。
4.3 定期升级和维护软件系统的缺陷通常会随着时间的推移而出现。
因此,定期升级和维护是保持软件系统高质量的重要措施。
及时修复和优化软件,可以减少缺陷的出现和影响。
软件缺陷等级划分标准
软件缺陷等级划分标准是指根据软件缺陷的严重程度和影响范围,将软件缺陷分为不同等级,以便开发人员和测试人员能够更好地管理和解决软件缺陷。
软件缺陷等级划分标准通常由软件开发公司或项目组制定,也可以参考国际标准或行业标准。
一般来说,软件缺陷等级划分标准包括以下几个方面:
1. 缺陷等级的定义:通常包括严重、一般、轻微等等,不同等级的定义可能有所不同,但一般都是根据缺陷的影响程度和紧急程度来划分的。
2. 缺陷的影响范围:缺陷的影响范围通常包括功能、性能、安全等方面,不同的缺陷可能会对不同的方面产生影响,因此需要根据具体情况来划分。
3. 缺陷的修复时间:不同等级的缺陷需要在不同的时间内进行修复,一般来说,严重的缺陷需要在最短时间内进行修复,而轻微的缺陷可以在后续版本中进行修复。
4. 缺陷的优先级:缺陷的优先级通常是根据缺陷的紧急程度和影响程
度来划分的,优先级高的缺陷需要在优先处理,以保证软件的稳定性和安全性。
总的来说,软件缺陷等级划分标准是软件开发和测试过程中非常重要的一部分,它可以帮助开发人员和测试人员更好地管理和解决软件缺陷,提高软件的质量和稳定性。
因此,在软件开发和测试过程中,需要根据具体情况制定合理的软件缺陷等级划分标准,并严格按照标准进行管理和处理。
一、软件缺陷的概念在软件开发领域,软件缺陷是一个非常重要的概念。
简单来说,软件缺陷指的是软件系统中存在的问题或错误,它可能导致系统运行时出现意外的行为或结果。
软件缺陷可能是由程序员的错误、设计不足、测试不充分等原因导致的。
它可能会对软件的功能、性能和安全性产生负面影响,因此需要及时发现和修复。
二、五种理解软件缺陷的定义1. 工程角度从工程角度来看,软件缺陷可以被定义为软件系统在设计、开发、测试或运行阶段出现的功能性或非功能性错误。
这些错误可能源自于软件开发过程中的各个环节,如需求分析不清晰、设计不合理、编码错误、测试不充分等。
在工程角度上,软件缺陷是需要被及时发现和解决的问题,以确保软件系统的稳定性和可靠性。
2. 用户角度从用户角度来看,软件缺陷可以被定义为影响用户体验或满足用户需求的问题。
这包括软件的功能错误、界面设计不合理、性能不佳等。
对于用户来说,软件缺陷会导致他们无法顺利地完成任务,或者无法得到他们期望的结果,从而影响他们的工作效率和生活质量。
3. 质量角度从质量角度来看,软件缺陷可以被定义为不符合质量标准的问题。
这包括软件的可靠性、可维护性、可扩展性等方面的问题。
软件缺陷对软件的质量有直接的影响,因此需要通过严格的质量控制和测试手段来及时发现和修复。
4. 安全角度从安全角度来看,软件缺陷可以被定义为威胁软件系统安全性的问题。
这包括软件的漏洞、后门、逻辑错误等。
软件缺陷可能会被恶意利用,导致数据泄露、系统瘫痪或其他安全事件。
5. 经济角度从经济角度来看,软件缺陷可以被定义为对软件开发企业或用户造成经济损失的问题。
这包括软件的使用成本、维护成本、软件更新成本等。
软件缺陷可能会导致额外的开支或者机会成本,因此需要通过软件缺陷管理来降低经济风险。
个人观点和理解在我看来,软件缺陷是一个非常广泛且复杂的概念,它不仅仅是一个技术问题,还涉及到用户体验、软件质量、安全性和经济等方面。
对软件缺陷的定义和理解需要从多个角度进行综合考虑,以便全面地把握软件缺陷问题的本质,从而更好地管理和控制。
测试缺陷管理规范【测试缺陷管理规范】一、引言缺陷管理是软件测试过程中至关重要的一环,它涉及到对软件中发现的缺陷进行记录、跟踪和解决的过程。
本文将介绍测试缺陷管理的规范,包括缺陷的定义、缺陷管理流程、缺陷分类和优先级、缺陷报告的内容和格式等。
二、缺陷的定义缺陷是指软件系统中的错误、问题或不符合规范的行为,它可能导致系统功能无法正常运行、性能下降或安全性问题等。
缺陷可以由测试人员、开发人员或用户发现,并应该及时记录和解决。
三、缺陷管理流程1. 缺陷记录:测试人员在发现缺陷后,应该及时记录缺陷的详细信息,包括缺陷的描述、复现步骤、环境信息等。
2. 缺陷分类和优先级:根据缺陷的严重程度和影响范围,对缺陷进行分类和优先级划分,以便开发人员能够合理安排修复工作。
3. 缺陷分析和解决:开发人员对已记录的缺陷进行分析,并进行修复。
修复后,测试人员需要验证修复的效果。
4. 缺陷验证:测试人员对修复后的软件进行再次测试,以确保缺陷已经被解决。
5. 缺陷关闭:当缺陷被验证为已解决时,测试人员将缺陷关闭,并记录缺陷的关闭原因和解决方案。
四、缺陷分类和优先级1. 缺陷分类:根据缺陷的性质和影响范围,可以将缺陷分为功能性缺陷、性能缺陷、界面缺陷、安全性缺陷等。
2. 缺陷优先级:根据缺陷的严重程度和影响范围,可以将缺陷划分为高、中、低三个优先级。
高优先级的缺陷会对系统的功能或性能产生严重影响,需要尽快解决。
五、缺陷报告的内容和格式1. 缺陷报告的内容应包括缺陷的描述、复现步骤、环境信息、缺陷分类和优先级等。
2. 缺陷报告的格式应简洁明了,包括缺陷的标题、报告人、报告时间、缺陷状态、解决方案等字段。
六、缺陷管理工具为了更好地管理和跟踪缺陷,可以使用专业的缺陷管理工具,如JIRA、Bugzilla等。
这些工具可以帮助团队高效地记录、分配和解决缺陷,并提供缺陷统计和报告功能。
七、总结测试缺陷管理是软件测试过程中不可或缺的一环,它对于保证软件质量和用户满意度至关重要。
软件缺陷是指在软件设计、开发或运行过程中存在的错误或不足之处。
它可能导致软件无法按预期运行,甚至会对系统安全性和稳定性造成严重影响。
软件缺陷可能来源于设计上的错误、代码编写不规范、测试不全面或用户需求不清晰等诸多原因。
1. 差错观:软件缺陷是由于软件开发过程中存在的疏漏和错误所引起的,这些差错可能包括需求分析不完善、设计不合理、编码错误等。
差错观强调了软件缺陷的内在原因,认为软件的错误来源于软件开发过程中的每一个环节。
2. 失效观:软件缺陷是软件功能无法满足用户需求或预定要求的失效。
失效观侧重于从用户需求和预期功能的角度来定义软件缺陷,也即软件未能按照既定的需求和规格进行正常操作。
3. 风险观:软件缺陷是软件运行过程中可能导致系统崩溃、数据丢失或安全漏洞的潜在隐患。
风险观认为软件缺陷不仅仅是当前的错误,更是未来可能带来的风险。
4. 问题观:软件缺陷是软件运行过程中可能引发的问题或障碍。
这些问题可能会影响软件或系统的性能、稳定性、可靠性或易用性。
5. 需求观:软件缺陷是由于未能满足用户的需求而产生的。
需求观认为软件缺陷是用户需求和软件实际功能之间的差异,只有满足用户需求,软件才能称为优质的产品。
从上述五种理解来看,软件缺陷不仅仅是简单的Bug或代码错误,更是一个复杂的系统工程问题,涉及到需求、设计、开发、测试和运维等多个环节。
解决软件缺陷需要全面、系统和持续的努力,同时也需要对软件缺陷有深刻和全面的理解。
软件缺陷是软件开发过程中的一种常见现象,但它也是一种非常危险的问题,因为它可能会导致软件系统无法正常工作,甚至会对系统数据的安全性和稳定性造成严重影响。
在软件开发的各个环节都可能存在缺陷,从需求分析、设计、编码到测试和运行,每一个环节都可能引发软件缺陷的产生。
对软件缺陷的认识和解决策略是非常重要的。
我们需要认识到软件缺陷产生的多种原因。
软件缺陷可能源自于需求分析阶段的不完善,如果需求不清晰、不明确或者不完整,那么在后续的设计和开发过程中就很容易产生缺陷。
近日,加拿大达内科技公司、北京大学软件学院与亚信科技(中国)公司、精点科技(中国)公司、迪思杰科技(中国)公司、中通网络产业公司以及中关村科技园区的30多家企业达成定向人才培养计划。
从2005年5月8日开始,软件测试时代为这些企业量身培养IT就业市场紧缺的软件测试工程师百余名。
经过2个多月的培训,这些软件测试工程师将直接到领测软件测试时代的签约公司就业。
随着中国IT行业的发展,几乎每个中大型IT企业的产品在发布前都需要大量的质量控制、测试和文档工作。
由于前些年企业对产品的测试工作重视不够,又加上没有系统地测试培训课程,因此软件测试工程师及系统测试工程师将在短期内出现严重的短缺现象。
从近期的企业人才需求和薪金水平来看,测试工程师的年工资有逐年上升的明显迹象。
测试工程师这个职位将成为IT就业的新亮点。
测试工程师一般分为以下几个等级:测试工程师、高级测试工程师和资深测试工程师。
测试工程师一般承担以下工作:利用软件测试工具按照测试方案和流程对产品进行功能和性能测试,检查产品是否有缺陷,性能是否稳定;高级测试工程师一般的职责是:不但能够编写测试工具,而且能够设计和维护测试系统,编写测试方案,编写测试文档、编写安装和使用手册;资深测试工程师的职责要求更高:不但能够具有初级测试工程师和高级测试工程师的能力,而且能够对测试方案可能出现的问题能够进行分析和评估。
今天看到论坛里一个学员在问“到底应该是谁把缺陷状态置为PostPone,Rejected,Duplicate是Developer还是PM或CCB?”,还有学员对优先级这个字段理解的不够透彻,原话是“优先级的填写要看情况的。
因为有时Tester 开的bug 很多,而PM又有好多TESTER,那PM就来不及去一一看那些BUG了,这时Priority就得由tester填写”,而论坛里还有同学找了篇英文的文章来告诉大家“看,老外都是这么做的”。
我觉得有必要给大家解释透这两个概念,这样不至于在日后的工作中做错。
软件缺陷描述规范一、缺陷基本定义软件缺陷(Software Defect):软件缺陷是对软件产品预期属性的偏离现象。
它包括检测缺陷和残留缺陷。
缺陷的优先性,分为5级,参考下面的方法确定:1)最高优先级(Blocker),例如,软件的主要功能错误或者造成软件崩溃,数据丢失的缺陷,或用户重点关注的问题,缺陷导致系统几乎不能使用或者测试不能继续,需立即修复。
2)较高优先级(Critical),例如,影响软件功能和性能的一般缺陷, 严重影响测试,需要优先考虑;3)一般优先级(Major),例如,本地化软件的某些字符没有翻译或者翻译不准确的缺陷,需要正常排队等待修复;4)低优先级(Minor),例如,对软件的质量影响非常轻微或出现几率很低的缺陷,可以在开发人员有时间的时候再被纠正;5)最低优先级(Trival),例如,属于优化,可以不做修改的问题或暂时无法修复但影响不大的问题。
二、缺陷描述软件缺陷的描述是软件缺陷报告的基础部分,也是测试人员就一个软件问题与开发工程师交流的最好机会。
一个好的描述,需要使用简单的、准确的、专业的语言来抓住缺陷的本质。
否则,它就会使信息含糊不清,可能会误导开发人员,因此,正确评估缺陷的严重程度和优先级,是项目组全体人员交流的基础。
缺陷描述的原则:有效的缺陷描述有以下几个原则:➢可以重现:在缺陷的详细描述中提供精确的操作步骤,可以让发人员容易看懂;➢定位准确:缺陷描述准确,不会引起误解和歧义;➢描述清晰:对操作步骤的描述清晰,易于理解,应用客观的书面语,避免使用口语;➢完整统一:提供完整、前后统一的软件缺陷的步骤和信息,按照一致的格式书写全部缺陷报告,有关缺陷的格式参见“缺陷的格式”;➢短小简练:通过使用关键词,可以使问题摘要的描述短小简练,又能准确解释产生缺陷的现象。
如“在新建任务窗口中,选择直接下达,负责人收不到即时消息”中“新建任务窗口”、“直接下达”、“即时消息”等是关键词;➢特定条件:许多软件功能在通常情况下没有问题,而是在某种特定条件下会存在缺陷,所以软件缺陷描述不要忽视这些看似细节的但又必要的特定条件(如特定的操作系统、浏览器或某种设置等),能够提供帮助开发人员找到原因的线索。
软件缺陷的7个基本状态软件缺陷是指软件系统中存在的错误或问题,可能导致系统功能失效、数据丢失、安全漏洞等问题。
在软件开发过程中,缺陷是无法避免的,因此了解和掌握软件缺陷的基本状态对于开发人员和测试人员都非常重要。
本文将介绍软件缺陷的7个基本状态。
一、未发现状态未发现状态是指软件开发人员或测试人员没有发现软件中存在的缺陷。
在这种情况下,软件被认为是没有问题的。
二、已知状态已知状态是指开发人员或测试人员已经确认了某些缺陷,并将其记录在错误跟踪系统或其他文档中。
这些记录通常包括缺陷的描述、影响范围、严重程度等信息。
三、修复状态修复状态是指开发人员已经修复了某些已知缺陷,并在代码中进行了更新。
在这种情况下,需要对更新后的代码进行重新编译和测试。
四、待验证状态待验证状态是指测试人员需要对修复后的代码进行验证以确保修复操作成功。
在这个阶段,测试人员会使用相应的测试用例来验证每一个修复操作是否成功。
五、重新打开状态重新打开状态是指之前被认为已经修复的缺陷,在重新验证后又被发现。
这种情况通常发生在修复操作没有完全解决问题的情况下。
六、已解决状态已解决状态是指测试人员已经确认修复操作成功,并且相关缺陷已经得到了解决。
在这个阶段,开发人员需要将更新后的代码进行提交并进行版本控制。
七、关闭状态关闭状态是指所有缺陷都已经得到了解决,并且相应的记录也被删除或标记为“关闭”。
在这个阶段,软件可以交付给客户或用户使用。
结论以上就是软件缺陷的7个基本状态。
了解和掌握这些状态对于开发人员和测试人员来说都非常重要,可以帮助他们更好地管理和维护软件系统。
同时,在软件开发过程中,也需要注意及时记录和跟踪缺陷,并及时进行修复和验证操作,以确保软件质量的稳定性和可靠性。
软件开发缺陷等级定义bug缺陷等级一般划分为四个等级:致命、严重、一般、轻微。
1、致命:不能执行正常工作或重要功能、导致系统崩溃或资源严重不足、造成数据丢失,包括:1)系统或程序引起死机2)系统崩溃、意外退出3)程序死循环、数据库发生死锁4)因错误操作导致的程序中断2、严重:严重影响系统要求或基本功能实现、且不存在可替代的解决方法或方式,包括:1)功能未实现或实现错误2)数据计算错误、产生错误结果3)数据通讯错误、程序接口错误4)需求功能流程错误或需求缺失5)数据约束错误、数据输入输出错误6)交易报错(交易报错导致交易无法继续等)3、一般:影响系统要求或基本功能实现,但存在可替代的解决方法或方式。
属于该级别的缺陷包括:1)打印内容、格式错误2)简单的输入限制未放在前台进行控制3)删除操作未给出提示4)操作界面信息错误(包括数据窗口内列名定义、含义是否一致)5)数据库表中有过多的空字段4、轻微:操作不便或遇到麻烦,但不影响执行工作或使用重要功能。
属于该级别的缺陷包括:1)界面不规范,域控制不规范2)辅助说明描述不清楚、提示窗口文字未采用行业术语3)输入输出不规范4)长时间操作未给用户提示5)可输入区域和只读区域没有明显的区分标志6)控件没有对齐、标点符号丢失或不正确7)需求瑕疵包括需求错别字等8)9)10)11)12)(注:专业文档是经验性极强的领域,无法思考和涵盖全面,素材和资料部分来自网络,供参考。
可复制、编制,期待你的好评与关注)13)14)。
软件缺陷的严重程度标准定义软件缺陷的严重程度标准定义一、引言在软件开发和测试过程中,软件缺陷是不可避免的。
然而,确定缺陷的严重程度对于制定优先级和决定修复方案至关重要。
本文将探讨软件缺陷的严重程度标准定义,并根据深度和广度的要求进行全面评估。
二、软件缺陷的严重程度标准定义1. 严重程度分类软件缺陷的严重程度常常被分为严重、一般和轻微三种。
严重的软件缺陷会导致系统崩溃或功能无法正常使用,影响用户的核心体验;一般的缺陷可能会导致某些功能无法正常工作,但并不影响整体的使用;轻微的缺陷通常是一些小问题或界面上的不适,对系统功能影响较小。
2. 影响范围除了将缺陷分为严重、一般和轻微外,对缺陷的影响范围也是评定严重程度的重要因素。
一个缺陷可能只在特定条件下出现,仅影响少数用户,也可能是系统性的缺陷,影响广泛。
对于影响范围广泛的缺陷,即使影响程度较轻,也应该被视为严重的。
3. 修复难度修复软件缺陷的难度也是评估严重程度的重要因素之一。
一些看似严重的缺陷可能很容易修复,而一些看似轻微的问题可能需要大量的时间和资源。
评定软件缺陷的严重程度时,需要考虑修复的成本和时间。
4. 用户反馈用户反馈也是评估软件缺陷严重程度的重要指标。
对于影响用户使用体验的缺陷,即使在技术上可能属于轻微问题,也应该被重视。
三、对软件缺陷严重程度标准的个人观点和理解在评定软件缺陷的严重程度时,需要综合考虑多个因素,而不是仅仅依靠技术层面的评估。
从用户角度出发,对软件缺陷的影响程度可能和技术人员的评估有所不同,因此用户反馈应该被优先考虑。
修复难度和影响范围也是评定严重程度的重要因素,在制定软件缺陷的修复计划时,需要根据这些因素综合评估,确定优先级。
四、总结与回顾软件缺陷的严重程度标准定义涉及到多个方面,包括缺陷分类、影响范围、修复难度和用户反馈等。
在评定软件缺陷的严重程度时,需要综合考虑以上因素,并根据具体情况确定优先级和修复计划。
对于公司来说,确立明确的严重程度标准定义,能够帮助更好地管理和优化软件开发和测试过程,提高产品质量和用户满意度。
浅析软件缺陷摘要:在软件的开发过程中,软件缺陷的产生是不可避免的。
那么究竟什么是软件缺陷,造成软件缺陷的主要原因又有哪些呢?本文将从软件缺陷的类型、级别和软件缺陷产生的原因等方面进行阐述。
关键词:软件缺陷级别状态原因一、所谓软件缺陷,即为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。
软件缺陷的产生主要是由软件产品的特点和开发过程决定的。
软件缺陷的主要类型有:1. 软件没有实现产品规格说明中提到的功能;2.软件中出现了产品规格说明指明不应该出现的错误; 3.软件没有实现虽然产品规格说明未明确提及但应该实现的目标;4.软件难以理解,不容易使用,运行缓慢。
二、软件缺陷的级别和状态(1)软件缺陷大体可分为四种级别,分别为:致命的缺陷。
出现致命的错误,往往导致系统或应用程序崩溃、死机,或者造成数据丢失、主要功能完全丧失。
严重的缺陷。
出现严重的错误,表现为功能特性没有实现,主要功能部分丧失,次要功能完全丧失,或者出现致命的错误声明。
一般的缺陷。
出现一般的错误,表现为不太严重,虽然有一些缺陷存在,但是不会影响系统和程序的基本使用,功能没有被很好的实现,如次要功能丧失,提示信息不太准确,或用户界面差,操作时间长等,没有达到预期要求。
微小的缺陷。
出现微小的错误,都是无关紧要的小问题,软件还可以使用,而且不影响功能的实现。
(2)从表现状态方面,软件缺陷可分为以下五种。
激活状态(open):问题没有解决,测试人员新报告的缺陷或者验证后缺陷仍旧存在。
已修正状态(fixed):开发人员针对缺陷来修改程序,认为已解决问题或者通过单元测试。
关闭状态或非激活状态(close):测试人员验证已经修正的缺陷后,确认缺陷不存在后的状态。
保留状态:当所报告的缺陷目前无法解决或是第三方产品引起的,可以看成保留状态。
不一致状态:当所报告的缺陷暂时不需要解决或者在下一版本解决的会更好些,可以看成是不一致状态。
软件缺陷定义
软件缺陷概述
软件缺陷,通常又被叫做Defect或者Bug,即为软件或程序中存在的某种破坏正常运行能力的问题、错误,其存在会导致软件产品在某种程度上不能满足用户的需要。
从产品内部看,缺陷是软件产品开发或维护过程中存在的问题、错误。
从产品外部看,缺项是系统所需要实现的某种功能的失效或违背。
软件缺陷属性
软件缺陷的属性包括缺陷标识、缺陷类型、缺陷级别(或严重等级)、缺陷产生可能性(或概率)、缺陷优先级、缺陷状态、缺陷起源、缺陷来源、缺陷根源(原因)。
以上属性是为了准确描述缺陷而赋予的,这里分别作介绍:
1.缺陷标识:是标记某个缺陷的唯一标识,可以用数字序号表示;
2.缺陷类型:功能、用户界面、文档、软件包、性能、接口、兼容性等;
a)功能:影响了各种系统功能、逻辑的缺陷;
b)用户界面:影响了用户界面、人机交互特性的缺陷;
c)文档:影响发布和维护,包括注释、用户手册、设计文档等的缺陷;
d)软件包:由于软件配置库、变更管理或版本控制引起的错误;
e)性能:不满足系统可测量的属性值,如执行时间、事务处理速率等;
f)接口:与其他组件、模块、调用参数、控制块等不匹配、冲突;
g)兼容性:与工作环境、其他外设,如操作系统、浏览器、网络环境等不匹配、
冲突;
3.缺陷级别:致命、严重、一般、轻微;(举例)
a)致命:系统任何一个主要功能完全失效,用户数据受到破坏,系统崩溃、悬挂、
司机或者危机人身安全;
b)严重:系统的主要功能部分失效,数据不能保存,系统的次要功能完全丧失,
系统所提供的功能或服务受到明显影响;
c)一般:系统的次要功能没有完全实现,但不影响用户的正常使用。
如提示信息
不准确或用户界面差、操作时间长等。
d)轻微:使操作者不方便或遇到麻烦,但它不影响功能的操作和执行,如个别不
影响理解的错别字、排布不整齐等。
4.缺陷产生可能性:必现、通常、有时、很少;
a)必现:按照一定路径必定出现,其产生概率为100%;
b)通常:按照测试用例(即已知步骤),通常情况下回产生这个缺陷,其产生频
率大概是80%;
c)有时:按照测试用例,有时候产生这个缺陷,其产生频率大概是30%;
d)很少:按照测试用例,很少产生这个缺陷,其产生概率大概是1%以下;实际
测试中,仅出现过一次后无法复现的缺陷也划分到此类;
e)缺陷优先级:参见“缺陷级别定义”章节;
5.缺陷状态:打开、已修复、关闭、拒绝、重复、重新打开、推迟、保留、不能重现;
(可根据实际情况增加或减少使用的缺陷状态)
a)打开:问题还没有解决,确认“提交的缺陷”,等待处理,如新报的缺陷;
b)已修复:已被开发人员检查、修复过的缺陷,通过单元测试,认为已经解决但
还没有被测试人员验证;
c)关闭:测试人员验证后,确认缺陷不存在之后的状态;
d)拒绝:开发人员认为不是缺陷;
e)重复:开发人员认为此缺陷与某打开的缺陷重复;
f)重新打开:测试人员验证后,确认缺陷仍然存在后的状态;
g)推迟:这个软件缺陷可以在下一个版本中解决;
h)保留:由于技术原因或者第三方软件的缺陷,开发人员不能修复的缺陷;
i)不能重现:开发人员不能再现这个缺陷,需要测试人员确认缺陷再现的步骤;
6.缺陷的起源:需求、架构、设计、编码、测试、用户;
在软件生命周期中,缺陷所占比例:需求和架构阶段54%、设计阶段25%、编码阶段15%、其他6%;
7.缺陷的来源:需求说明书、设计文档、系统集成接口、数据流(库)、程序代码;
a)需求说明书:需求的错误或不清楚引起的问题;
b)设计文档:设计文档描述不准确,与需求说明书不一致的问题;
c)系统集成接口:系统各模块参数不匹配、开发组之间缺乏协调引起的缺陷;
d)数据流(库):由于数据字典、数据库中的错误引起的缺陷;
e)程序代码:纯粹由编码引起的缺陷;
8.缺陷的根源:测试策略,过程、工具盒方法,团队/人,缺乏组织和沟通,硬件,
软件,工作环境;
a)测试策略:错误的测试范围,误解测试目标,超越测试能力等;
b)过程、工具和方法:无效的需求收集过程,过失的风险管理过程,不适用的项
目管理方法,无效的变更控制过程等;
c)团队/人:项目团队职责较差,缺乏培训,没有经验的项目团队,缺乏士气等;
d)缺乏组织和沟通:缺乏用户参与,职责不明确、管理失败等;
e)硬件:硬件配置不对、缺乏等;
f)软件:软件配置不对、缺乏,或操作系统错误导致无法释放资源,工具软件错
误,编译器错误等;
g)工作环境:组织机构调整,预算改变,工作环境恶劣等。
缺陷级别定义
按照CMM5,缺陷级别(严重等级)可分为3-5个等级,根据公司实际情况来决定缺陷级别的划分。
这里将缺陷划分为四级:致命、严重、一般、轻微。