5.3缺陷管理
是软件产品研发过程中重要的属性,会导致产品在某种程度上不能满足客户的需要,开发人员根据它来分析产品潜在问题或缺陷,评估产品的质量、测试也需要进行跟踪与维护。
缺陷管理就是在生命周期中识别、管理、沟通缺陷的过程。可以概括为一个中心、两个基本点、三个要求。一个中心是确保软件的质量;两个基本点就是缺陷的管理和维护。三个要求是要求测试人员对每一个缺陷进行跟踪,要求开发人员对每一个缺陷进行分析改进。
5.3.1缺陷的状态
通常软件缺陷的状态见表5-1
5.3.2缺陷管理的角色
有:测试工程师、项目测试经理、项目开发经理、开发工程师以及评审委员会CCB
1、测试工程师
是缺陷的发起者,主要负责发现缺陷、提交缺陷、验证修复缺陷即回归。
2、项目测试经理
3、项目开发经理
对已确认的缺陷进行再次分析,主要分析缺陷类型以及缺陷的认可,还有巨石对缺陷修复后的代码进行封装。
4、开发工程师
是度已分配的缺陷进行修复并分析
5、评审委员会CCB
主要对有争议的缺陷进行最后的裁决
5.3.3缺陷管理基本流程
如图5-4所示
5.3.4缺陷的等级划分
大致可以分为5个等级,分别为致命的、严重的、一般的、建议的。
1、致命的:致命的错误是主要指造成系统或应用程序死机、奔溃、非法退出等。造成用户数据丢失或被破坏,或功能设计与需求不符以及性能问题等。
2、严重的:指功能和特性没有实现,导致严重的问题或致命的错误声明,导致模块功能失效或异常退出,还有程序接口错误以及数据流错误等。
3、一般的:指次要功能丧失、提示信息不太正确、用户界面设计太差以及删除提示等这样的缺陷虽然不影响系统的基本使用,但没有达到预期的效果。
4、提示的:指对功能计划没有什么影响的缺陷,产品及属性仍可使用,如提示窗口为采用行业术语,界面不规范等。
5、建议的:指由问题提出人度测试对象的改进意见或测试人员提出的建议、质疑。
5.3.5缺陷 告的内容
缺陷 告是测试执行完成后,最重要的输出之一,一个好的缺陷 告通常包含的内容如下:
1、缺陷编 :用数字进行唯一标识缺陷的,通常在缺陷管理工具中新建Bug时会自动生成。
2、缺陷状态:比如挂起、延期等
3、缺陷标题:用一句比较简洁的话来概括缺陷,开发通过描述可以初步推测缺陷原因,来提高处理的效率。
4、缺陷类型:主要为了进一步描述缺陷产生的原因,通常类型系统缺陷、数据库缺陷、界面错误、接口错误、功能缺陷、性能缺陷、建议习惯错误等。
见表5-2
5、所属版本:用例描述当前缺陷所在的测试版本,便于后期回归时注意测试版本。
6、所属模块:描述缺陷所在的业务模块,便于后期统计缺陷的分布情况,利于在进行回归测试的方法以及测试策略的改进。
7、严重级别:指缺陷的严重程度
8、处理优先级:有非常紧急、紧急、正常等,根据验证级别来确定处理的优先级。
9、发现人:指缺陷的发现者,不一定是测试工程师、可能是开发、产品以及维护人员或客户等。
10、发现日期:提交缺陷时,又缺陷管理工具自动生成,便于后续今昔缺陷跟踪。
11、重新方式:指缺陷的重新概率,便于开发定位分析。重新方式有:必然、偶然、无法重现等。
12、指定处理人员:指具体的开发人员。如是需求错误、需要指定产品或需求分析人员,便于后期进行跟踪缺陷。
13、详细描述:详细描述缺陷引发的原因,包括前提条件、输入数据、重新步骤、重现次数、预期结果、实际结果等信息。
14、附件:通常为了加深模式可以添加一些附件信息,如截图、错误的日志信息等。
5.3.6缺陷分析
正测试管理中,缺陷分析也是最重要的部分。缺陷分析是对缺陷的信息今昔收集、汇总、从而得出分析结果。
1、缺陷收敛点有零返单点,如图5-5所示
收敛点:由图得知,首轮测试Bug数量不断上升,当上升到峰值逐渐下降直到缺陷数量下降到与首轮从测试的缺陷数量持平时,该点就是缺陷的收敛点。
零返弹点:有图得知,随着开发不断修复缺陷以及测试时间周期变化,缺陷数量会越来越少,直到零。反弹点通常指修复后引发新的Bug
3、缺陷分析方法
常用的缺陷分析方法有: ODC分析、Gompertz分析、DRE/DRM分析、四象限分析等。
5.4风险管理
在整个软件的生命周期中都会存在一定的风险,严重影响项目研发和维护。软件项目的风险管理是软件项目管理的重要内容,它是通过一种规范、可行的一些原则来控制项目中存在的风险。
5.4.1风险管理的过程
有三个阶段:风险识别、风险评估、风险处理
1、风险识别:指风险产生的条件,通常需要有经验的人员或者风险专家来进行,应当在项目整个生命周期中定期进行的。主要内容有:市场风险、环境风险、技术风险、人员风险、管理风险等。在实际工作中,主要利用头脑风暴来进行。
2、风险评估:主要评估出现的概率以及度项目目标造成的后果,来确定哪些风险需要指定应对措施。
3、风险处理:方法有四种:风险回避、预防风险、风险自留、风险转移。
1)风险回避:属于消极处理技术,它是主动去避开风险。通常用在处理风险的成本大于其带来的效益和风险出现的频率相当高的情况下。
2)预防风险:通过分析找到其出现的原因,彻底消灭或中和。预防风险主要考虑成本与损失的问题,若损失远大于支出成本,就需要采取预防风险对的方法。
3)风险自留:是一种自我保护的方式,也就是风险由自己承担。有主动自留和被动自留,主要自留是指风险通过分析后,发现对用户、企业计划不带来损失或损失在承受范围之内。被动自留就是指风险处理起来比较麻烦,但是出现风险的概率很小。通俗的讲就是一种侥幸心理,就像无法重新的Bug一样。
3)风险转移:是将风险全部或部分转移到另一方,从而得到保障。也是应用比较广泛的一种方法。
5.4.2项目中常见的风险:主要体现在人员、技术、成本和进度四个方面。项目中常见的风险由需求风险、人员风险、技术风险、管理风险等。
1、需求风险:需求是一个项目的主图,也是项目成功的关键所在。常见的需求风险由
1)需求讨论中客户参与不够
2)没有建立有效的需求变更管理过程
3)对新产品、新市场的认知不足等
2、人员风险
常见的人员风险有
1)项目缺少一个好的管理者来带动真个项目组的积极性
2)对员工缺少精神上的、物质上的激励措施
3)使用一些不熟悉业务的或工具的人员
4)员工之间沟通交流发生冲突
5)项目中人员的离职、请假变动等
3、技术风险:技术是项目的核心,主要指研发的技术、测试的计算以及框架平台的技术常见的技术风险由
1)缺少专业设计人员以及具有特定技能的人
2)对新技术难以实现
3)测试人员不熟悉编程语言, 络技术等。
4、管理风险
1)缺乏规范的流程指导、以致角色、职责不明确
2)不切实际的承诺
3)缺少员工之间的沟通、交流
总之风险无法不在,质量需要管理、更需要测试
下面介绍在测试过程中常见的风险,见表5-3
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!