您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 软件项目缺陷跟踪和持续改进
11.1转测质量1.1.1交付要求1.产品开发或修改准备提交测试版本在做转测试前需要开发设计工程师完成必要的自检并输出自测报告或调试报告2.产品开发版本必须满足各阶段测试输入质量要求,并在对其自检并输出自测报告或调试报告审核后给出结果;3.对于产品设计开发验证各阶段各类型缺陷Bug要求开发设计工程师必须给出明确清晰的问题分析原因和改善解决对策,并在Buglist和缺陷回馈体现!并自检其有效性!4.对于满足提交标准的测试版本必须在提交测试申请同时配备软/硬件程序版本配置清单说明!5.交付件必须完成过程审查与归档;1.1.2测试标准1.1.2.1测试开始准入标准1.首次测试准入标准:硬件环境可用并要求标准,软件正确安装且可执行;核心和关键业务功能100%实现;提供产品功能调试报告或自检报告;并配备软硬件程序配置清单;2.里程碑版本要满足阶段的质量要求。里程碑版本必须提交调试报告;3.版本测试前需提交完整的产品软件包(不能是单个软件)4.版本软/硬件测试申请、程序配套表和系统配套表(配置清单)5.版本回归测试标准:致命缺陷修复率必须为100%,重要缺陷修复率不低于85%,缺陷总修复率必须不低于80%的情况下,才能提交新版本测试申请。6.版本回归测试标准:对于提交的版本缺陷报告中的CRI、MAJ、MIN缺陷问题分析原因和改善解决对策描述不清晰或无描述;软件项目质量管理27.对于设计变更或缺陷修复后的验证版本需要提供必要的测试申请说明和操作步骤指导说明,包括:环境、条件、配置、步骤、方法、达成目标等。1.1.2.2测试中断标准1.测试环境无法达到标准或无法满足测试的一致性,安装无法正确完成;2.产品关键业务功能、性能、可靠性发现致命缺陷导致后续测试活动无法继续开展或测试结果不可靠;3.已修复致命缺陷重现和新发现的致命缺陷导致后续功能无法连续实现或后续测试用例无法实施或测试结果不可靠;4.对于提交的版本缺陷报告中的CRI、MAJ、MIN缺陷问题分析原因和改善解决对策描述不清晰或无描述;5.基本用例有缺陷,中断测试打回。1.1.2.3测试完成标准1.除因缺陷导致无法实施的测试用例之外,测试覆盖率达到95%;2.除因缺陷导致无法实施的测试用例之外,测试有效性和准确性评审达到95%;3.达到各阶段测试质量目标。1.2缺陷修复质量和及时性软件的缺陷是软件开发过程中的重要属性,它提供了许多信息。不同成熟度的软件组织采用不同的方式管理缺陷。低成熟度的软件组织会记录缺陷,并跟踪缺陷纠正过程。高成熟度的软件组织,还会充分利用缺陷提供的信息,建立组织过程能力基线,实现量化过程管理,并可以此为基础,通过缺陷预防实现过程的持续性优化。1.2.1缺陷定义1.软件未达到需求规格说明书的功能。2.软件出现了需求规格说明书指明不会出现的错误。3.软件功能超出需求规格说明书的范围。软件项目质量管理34.软件未达到需求规格说明书未指出但应达到的目标。5.测试工程师认为软件难以理解、不易使用、运行速度慢,或者最终用户认为不好。1.2.2缺陷生命周期1.2.2.1缺陷生命周期图1.2.2.2缺陷状态说明缺陷状态状态说明激活状态缺陷的初始状态,或者重新被激活的状态。激活状态的缺陷可以通过编辑来修改缺陷内容,并指派给合适的工程师处理。解决状态缺陷被解决之后的状态。激活状态的缺陷经过成功修复以后,由开发工程师操作为解决状态,系统将自动指派回创建者。关闭状态解决状态的缺陷在验证通过后关闭,缺陷状态变为关闭,生命周期结束。如果验证未修复或者新版本又发生,则重新激活,缺陷状态重新变为激活。1.2.3缺陷处理过程1.2.3.1正常处理过程(1)创建问题软件项目质量管理4在测试管理系统中,所有用户都可以创建新问题,包括需求问题和软件缺陷等。创建问题时,需要描述清楚,并选择正确的选项。(2)指派问题创建问题时,创建者通常要指派给该项目开发负责人,再由其指派任务,或直接指派给相应模块的开发工程师。如果指派人是错误的,或者需要他人确认或帮助,则可以重新指派给合适的工程师,写上相关备注。(3)确认问题通常开发工程师收到新问题后,需要分析和确认此问题是否为Bug。如果是Bug,则选择“确认状态”;如果认为非Bug,则注明原因并指派回创建者。当创建者收到确认指派时,需要进行及时确认。如果同意为非bug,则及时关闭它;如果不同意,则需要注明理由并指派回相关工程师。(4)解决问题此为开发工程师的主要职责,包括Bug的复现、修改和修改验证。开发工程师需要及时对确认状态Bug进行分析和解决,并自己验证通过,则操作为解决状态,解决方案规则请参考5.4中解决方案定义部分,在缺陷管理系统中解决方案选择相应的选项,解决后系统将自动指派回给创建者。如果Bug无法解决或修改影响比较大,可申请进入“延期解决”流程,请参考5.2中延期处理部分。(5)验证问题创建者需要及时对解决状态的Bug在对应版本上面进行验证。如果验证通过,则可关闭Bug;如果验证不通过,则激活此Bug,系统将自动指派回给解决者。验证通过准则:相同的操作步骤,进行一定次数的验证测试都没有发生。验证不通过准则:相同的操作步骤,全部或部分实际结果还会发生,验证不通过则激活Bug。(6)关闭问题通过验证的Bug,验证者需要注明验证结果并进行关闭操作,系统将指派给Closed。如果关闭状态的Bug在之后版本又会发生,则激活此Bug,系统将自动指派回给解决者。1.2.3.2特别处理过程(1)客户问题软件项目质量管理5客户反馈的问题可以由客户直接反馈或项目经理、市场部等了解到的客户问题,经确认后的Bug提交到测试管理系统,按照以上处理流程进行处理,由创建者或测试组进行跟踪验证关闭。创建客户问题时,创建者需要在Bug标题开头标记为[客户问题],测试组负责检查和更正。(2)争议处理当开发和测试工程师对某问题有争议并且多次沟通无果时,可以注明双方的理由,并指派给项目经理进行处理。项目经理可以召开评审会议,或者直接与双方沟通了解,并根据项目情况给出专业意见和最终决定。开发和测试工程师根据项目经理的最终决定执行。(3)延期解决当开发工程师对确认Bug进行解决时,发现或评估其解决时间紧或风险比较大等,可以说明原因或理由并指派给项目经理来确认。项目经理可以召开评审会议,或者直接沟通了解,并根据项目情况给出最终决定。如果不同意,项目经理将此Bug指派开发工程师,开发工程师继续分析和解决。如果同意,项目经理需要在Bug标题开头标记为[延期解决]和在处理状态选择“延期解决”,然后注明解决时间计划并指派回开发工程师,开发工程师根据解决时间计划来规划和解决此Bug。1.2.3.3缺陷管理工具软件测试过程中所有缺陷要提交到测试管理系统进行跟踪管理。1.2.4缺陷处理及时性缺陷问题处理及时性,是指要求缺陷发现后,项目经理、测试人员、开发工程师在短时间内做出快速反应和处理。处理的及时性要求:1、测试人员在测试出问题缺陷时,要第一时间将问题按照要求规范整理并录入问题管理平台;根据问题所属模块,将问题指派给对应的开发人员;并根据问题的等级将问题抄送给对应的关注人。2、开发工程师在收到问题平台所分配的问题,要第一时间根据问题的优先级安排问题修改计划。如果问题优先级高,需要立即处理。3、项目经理或问题关注人要及时关注问题平台,遇到优先级高的问题需要软件项目质量管理6及时关注问题。如果问题在处理过程中遇到困难要第一时间进行资源协调、问题讨论,拒绝问题搁置。4、质量专员要定期分析问题平台的问题,将常见问题归纳终结别面再次出现。1.3上线后代码质量验证和持续改进1.3.1版本代码控制规范软件产品的开发、测试、发布流程,提高开发人员的代码开发质量,通过加强对编码过程的监控,细化工作流程,达到提升软件开发效率,并逐步推进敏捷开发过程,实现代码管理的自动化。1.3.1.1版本管理工具通过GIT、SVN等代码管理工具进行版本管理,实现每个本都有单独的代码分支。实现代码分支管理和版本的追溯、回退操作。1.3.1.2版本管理流程1.3.1.2.1岗位划分1、代码管理员(SourceCodeManager)负责管理版本管理系统使用者的权限。根据项目新建请求,创建新开发分支并划分权限。负责监督生产用分支代码的集成/编译/部署。2、项目开发负责人(ProjectLeader)全面负责管理项目所涉及到所有相关资源,包括文档、代码等。审核本项目中所有提交到测试和生产分支上的代码,对其质量和可靠性负有责任。对项目开发进度负责。负责项目开发分支的管理工作。3、项目开发组成员(ProjectDeveloper)承担具体代码开发工作。软件项目质量管理7负责个人开发分支上代码管理工作。负责个人开发内容的自测工作。对提交到项目分支上的代码质量控制,负有主要责任。4、测试组人员(ProjectTester)负责项目的全面测试工作,对测试报告的可靠性承担主要责任1.3.1.2.2版本树划分1、生产分支最新节点应与生产环境中的运行软件保持一致,此分支上的所有节点均满足生产上线要求,并根据实际生产环境代码状态进行演进。完成测试准备上线的项目代码,必须提交到该分支上,进行独立编译生成部署文件。2、版本分支收集开发人员的开发成果,由项目开发负责人统一管理。此分支为打版分支。由代码管理员建立此分支,在对应版本中,所有开发人员的开发成果需要汇总到此分支,版本结束后关闭该分支的提交功能,只允许进行查询。3、个人开发分支由开发组成员自主创建和管理,承担日常开发过程中代码归集,记录详细开发过程。要求每日工作完成必须在该分支上产生节点,每一个功能点均有独立的节点存在。1.3.1.2.3流程分析1、流程图软件项目质量管理8代码管理员SCM项目组负责人项目开发人员测试组项目分支创建,权限发放创建初始版本提供源码信息给具体开发人员获得源码,创建个人开发分支修改/提交/编译/调试功能点完成,提交测试单个功能点测试功能点测试报告代码修改记录代码评审项目完整性测试项目测试项目测试报告代码提交至生产分支生产编译/部署2、流程介绍成立代码管理员收到项目成立申请,根据项目归属,从指定的生产分支节点拉出项目分支,将项目组相关人员添加到项目分支下,设定相应权限,提供分支地址等信息给项目负责人。项目负责人在项目分支上做初始化设定,做基本修改,建立初始版本后,将项目分支信息提供给开发组成员。开发项目组开发成员以项目分支为父分支,建立包含个人姓名的开发子分支(可多个),并在该分支上进行代码修改。在完成修改后,提交代码,在开发环境中获取修改后的代码,进行编译调试和自测,根据调试结果进行后续的代码开发工作。在完成一个功能点的代码开发并自测通过后,将个人开发分支及集成节点信息,提交给测试组成员,进行单个功能点测试。软件项目质量管理9测试组完成单个功能点测试后,开发成员将个人修改代码和项目分支最新点进行对比,并将对比结果提交给项目负责人进行代码评审。项目负责人根据评审结果,决定是否将该代码合并到项目分支。测试在完成所有的项目开发工作和代码评审后,项目负责人将最终的代码节点信息提交项目测试组,由测试组根据节点内容进行编译、部署、测试后,根据测试结果,提交测试报告。部署代码管理员在项目满足进行生产部署的所有必备条件后,将项目分支的最终测试通过节点,合并到生产分支,并启动生产环境的编译、部署工作。1.3.2上线版本控制系统上线后,需要明确版本提交/测试/发布/上线的流程与要求,明确各流程中的人员职责和配合关系等,以便所有版本的工作得到有效跟踪,保证工作顺利有序地进行。1.3.2.1版本发布流程版本上线:包括新系统初始版本上线及升级版本升级上线两类。项目负责人:项目负责人一般为项目经理或项目经理指定的项目负责人员.软件项目质量管理101.3.2.2流程图版本上线和系统割接流程图项目负责人测试人员用服人员项目相关人员用服部经理发起版本提交/撰写提交信息执行版本测试/撰写测试结果确定执行时间/制定实施方案根据实际情况反复多次提交阶段测试阶段审核执行方案/安排配合/提出要
本文标题:软件项目缺陷跟踪和持续改进
链接地址:https://www.777doc.com/doc-1671015 .html