项目质量控制管理方案.docx
《项目质量控制管理方案.docx》由会员分享,可在线阅读,更多相关《项目质量控制管理方案.docx(26页珍藏版)》请在冰豆网上搜索。
项目质量控制管理方案
项目质量管控方案
项目质量管控方案
前言
目的
本计划的目的在于对所开发的软件规定各种必要的质量保证措施,以保证所交付的软件能够满足项目预定需求,能够满足本项目总体组制定的且经领导小组评审批准的该软件系统需求规格说明书中规定的各项具体需求。
软件开发项目组在开发软件系统所属的各个子系统(其中包括为本项目研发或选用的各种支持软件、组件)时,都应该执行本计划中的有关规定,但可根据各自的情况对本计划作适当的剪裁,以满足特定的质量保证要求,剪裁后的计划必须经项目组相关负责人批准。
术语和定义
1、质量管理:
在质量方面指挥和控制组织的协调活动
2、质量策划:
质量管理的一部分,致力于制定质量目标并规定必要的运行过程3、和相关资源以实现质量目标
4、质量控制:
质量管理的一部分,致力于满足质量要求
5、质量保证:
质量管理的一部分,致力于提供质量要求会得到满足的信任
6、质量度量:
质量管理的一部分,致力于对已存在的质量数据进行分析,得出当前质量管理结果的评估数据。
7、质量改进:
质量管理的一部分,致力于增强满足质量要求的能力
质量计划:
制定新项目及维护性项目质量计划
在本环节中,根据项目的规模及性质进行质量策划,制定本项目的质量计划;为后续的质量控制、质量评估及质量改进做出行动纲领。
针对公司主要有新项目及维护性项目两类版本,且两者之间的质量投入有所差异的特性,故质量计划可以区分以下:
常规项目质量计划要求
常规项目的质量计划制定按质量要求分析/质量目标/人员.职责及质量保障、过程检查计划组成,各项的具体要求如下所述。
质量要素分析
1.主要的质量要性如下:
⏹功能性质量因素:
正确性,健壮性,可靠性
⏹非功能性质量因素:
性能,易用性,清晰性,安全性,可扩展性,兼容性,可移植性
⏹其它质量因素:
非以上要求之外的要求。
2.根据产品的特性及市场目标,将关键的质量要素确认,同时区分本项目的类型
⏹倾质量型项目:
指本项目对质量控制更关注
⏹倾成本型项目:
指本项目对成本控制更关注
⏹倾工期型项目:
指本项目对工期要求更关注
根据以上分析,再制定相应的质量目标。
质量目标
订立质量目标时,一般遵循SMART原则
S:
specific具体的
M:
measurable可测量的
A:
achievable可取得的
R:
realistic切实的
T:
timely及时的
根据以上原则,我们可以制定如下质量目标:
1.比如本项目的质量要素为功能正确性、功能健壮性、性能
那质量目标可定义例下:
●需求中所定义的功能都得以实现
●不稳定问题(等级非轻微)都被解决
●关键模块(模块名称)的性能不能低于V1.0版本
……
2.针对质量目标定出优先级
●1、3、2
3.目标分解
●分解为阶段质量目标
●完成阶段质量目标的手段
人员与职责
参加质量管理活动的人员,一般情况下,项目组所有的人都可以参与到质量管理活动中来。
但我们一般可定义如下人员去分别承担相应的职责。
1.质量管理人员:
制定质量管理计划,对质量过程进行控制;对过程检查单进行实施;进行质量度量,制定质量改进计划及实施;参与各类评审活动。
2.测试人员:
制定测试计划,对项目进行测试,进行测试结果的度量分析;参与各类评审活动。
3.项目管理人员:
协助组织解决质量管理过程中所发现的各类问题及风险。
质量保障计划
根据当前的质量目标,计划需要进行哪些质量保障工作,一般可包括专业培训、同级评审、测试。
培训
1.确认是否需要培训
2.确认培训的内容、人员、时间,以及所耗费的资源。
评审
1.确认评审内容及计划;需要包括评审的内容、评审的方式以及评审的人员等等。
2.对评审结果的跟踪、管理方式。
测试
1.根据当前的质量目标,确定测试的初步计划,包括测试的范围及测试方法、手段以及投入的人力及时间资源
过程检查计划
根据当前的质量目标,制定项目过程中需要检查的对象、例如:
阶段
检查对象
检查时机
次数
检查执行人员
检查依据
计划阶段
计划阶段的产出
项目组成立之后至计划阶段结束
3次
对应测试接口人
根据计划阶段检查清单进行检查
需求阶段
需求评审
需求评审启动
1次
对应测试接口人
根据需求阶段检查清单进行检查。
维护性项目质量计划要求
维护性项目的质量计划制定相对简单,不需要花较多的时间在其上,并且可以套用比较固定的模板。
维护性项目基本上会有很明确的需求点以及具体的时间点要求,一般情况下,维护时期会很长,且需求相对较散、小,针对这些特性,维护性项目的质量计划要求仅可以包括:
质量目标、质量保障计划、过程检查计划。
质量目标
根据当前的需求简单定出本版本的质量目标。
质量保障计划
在维护性项目中,质量保障计划主要包括:
需求讨论、联调以及测试。
需求讨论:
参与人员包括开发及测试人员;需求讨论结果报告
联调:
对所做的修改及周边进行联调;联调测试报告
测试:
根据质量目标制定相应的测试计划安排,
过程检查计划
无论质量目标定为如何,维护性项目的过程检查,仅需要如下环节:
●需求讨论会:
是否进行了需求讨论会,需求讨论会的与会人员及结果
●联调:
是否进行了联调,对原版本的影响
●测试执行:
对测试过程进行检查
质量保证与控制
质量保证与控制是质量管理中最重要的一个环节,质量目标是否能够有效的实现都有赖于此环节的实施控制。
本环节根据质量保障计划、过程检查计划对版本开发的各过程定出质量指导方针、评审环节规则以及检查清单。
其中
质量指导方针:
用于简要指引如何高质量的完成本阶段的工作
评审管理:
主要制定简单的评审输入、输出以及该阶段评审的基本准则
任务检查单:
用于检查该阶段的任务是否进行以及进行的效果如何
常存在的问题:
更多的是让各成员了解一些经验所谈会存在哪些问题,可提前预防或纠正
计划阶段
计划阶段指从项目启动至项目总体计划制定完成的阶段。
质量指导方针
在项目的计划阶段,期望产出高质量的项目总体计划,建议遵守以下原则:
1.根据《项目总体计划模板》、《项目总体计划编制说明书》的指导原则进行计划编排
2.计划制定时需结合实际并与相关人员进行必要的沟通
3.了解项目背景、项目目标以及可调动的资源等
4.计划制定时需考虑相应风险及应对措施:
如人员变动、需求变化、技术难题
5.对于把控不准的项目进行不同层面的评审
评审管理
计划阶段的评审主要指项目总体计划的评审。
评审输入项
《项目总体计划》以及当前项目原始需求等相关资料
评审准则
项目总体计划的评审主要从完整性、正确性、合理性、可管理性进行评审。
评审项
评审要求
备注
完整性
1.是否包括从需求至发布各个阶段的任务计划?
2.是否对各任务的交付件定义了质量要求?
正确性
1.各阶段定义是否正确?
2.各子任务所属的阶段是否正确?
合理性
1.各个任务的先后顺序是否合理?
并串行安排是否合理?
2.各任务分配的资源是否合理?
3.各任务细化的程度是否合理?
4.任务与任务之间的约束是否合理?
5.各阶段的时间投入比例是否合理?
6.项目的结束时间,是否与客户承诺的一致
7.项目的计划中是否考虑一些常见的风险?
8.对风险的应对是否体现在计划中?
可管理性
1.对于每个阶段是否有明确的里程碑事件?
2.里程碑是否有明确、可衡量的目标?
3.里程碑达到时,是否能提供标志阶段结束的正式输出文档?
评审输出
评审结果输出包括:
1.《评审结果记录表》
需求阶段
需求阶段指从需求获取至输出需求规格说明书阶段。
需求阶段可划分为:
获取需求、分析需求、编写需求规格说明书三个阶段。
1.获取需求:
主要从编写项目视图与范围、用户群分类、选择产品/项目需求代表、确定使用实例、分析工作流程、需求重用这几步骤进行
2.分析需求:
包括绘制关联图、创建开发原型、分析可行性、划分需求优先级;
3.编写需求规范说明书:
根据项目特点裁剪模板、获取功能和技术需求、注明需求来源、开发需求追踪矩阵。
质量指导方针
⏹根据《需求模板》、《需求编写指导说明书》制定需求说明文档
⏹需求文档中应包括明确的需求范围
⏹需求文档中应包括主要的质量属性
⏹需求需细化到要求的程度(可以根据需求进行开发设计及测试设计)
⏹需求的不确定项不超过总体需求的5%
⏹需求中应明确定义需求的优先级
⏹制定需求管理原则(包括需求标识、跟踪方式、变更控制原则)
评审管理
需求阶段评审主要针对需求的清晰性、正确性、完整性、可管理性进行评审。
评审的形式按实际的质量计划中要求而定。
评审输入项
《技术方案建议书》、《需求分析》、《需求规格说明书》
评审准则
需求评审时,主要针对需求的清晰性、正确性、完整性、可行性、可管理性进行评审,评审细项如下图所示:
评审项
评审要求
备注
1.清晰性
1.系统的目标是否已定义?
2.是否对关键术语及略缩语进行了定义?
3.是否有对整套系统进行了功能概述?
2.正确性
1.需求与需求之间是否有重复或冲突?
2.本需求说明书与相关需求素材是否一致?
3.是否清晰、简洁、无二义地表达了每个需求?
4.是否每个需求都在项目的范围内
5.是否每个需求都没有内容和语法上的错误?
3.完整性
1.编写的所有需求,其详细程度是否一致和合适?
2.需求是否能为设计提供足够的基础?
3.所有对其他需求的内部引用是否正确?
4.是否已经列出了系统所必要的依赖/假设以及约束
5.是否包含了所有已知的客户需求或系统需求?
6.是否已经对每个业务逻辑进行输入、输出以及过程的详细说明
7.是否已详细说明了软件环境(共存的软件)和硬件环境(特定的配置)
8.是否遗漏了必要的信息?
如果有遗漏的话,把他们标记为待确定的问题(TBD)?
9.是否包括了主要的质量属性,例如性能要求、安全性要求、可靠性要求、可恢复性要求、稳定性要求等等
10.是否分析了潜在的需求
11.是否标识并解决了需求中的潜城的问题
4.可行性
1.所描述的所有功能是否都必要?
2.所描述的所有功能是否充分的满足客户/系统目标?
3.已知的限制(局限)是否已经详细说明?
4.是否已经确定每个需求的实现优先级?
5.在现有的资源内,是否能实现所有的需求?
6.是否每个需求都可以进行验证(测试)?
5.可管理性
1.是否将需求分别陈述,因此它们是独立的并且是可检查的?
2.是否所有需求都可以回溯到相应的需求素材,反之亦然?
3.是否已详细说明需求变更的过程?
一致性
1.是否存在冲突或重复的需求项
2.开发计划/产品和活动和需求是否保持一致
3.是否可以根据软件需求规范中的信息制定出详细的测试集,并且每项需求是否可以测试
4.是否有《需求跟踪矩阵》
评审输出
1.《评审结果清单》
2.《根据评审修订后的需求规格说明书》
设计阶段
设计阶段包括技术方案形成、概要设计、原型设计、详细设计(如果有的话)等工作的完成。
质量指导方针
1.根据概要设计文档模板要求及需求剪裁适合当前项目的模板
2.根据模板编写概要设计说明书
3.对于质量计划中的关键质量属性在设计中需要重点考虑
4.需要针对项目的结构、项目的特征和用户的需求来分析,同样也要考虑到参与项目小组成员的素质
5.对于不同的方案分别进行评估
6.对概要设计文档进行同行评审
7.在设计阶段同时完成原型的设计
8.根据实际需要考虑是否需要进行详细设计
9.涉及到的需求变更需同步知会其它环节的更新。
评审管理
在设计阶段需要对设计实现方案、设计、原型等进行评审;评审的形式按实际的质量计划中要求而定。
以下仅提供概要设计说明的评审准则
评审输入项
《概要设计说明书》,《需求规格说明书》
评审准则
概要设计说明书评审准则
评审项
评审要求
正确性
1.设计说明书的编写是否按照标准模板来编写?
2.设计是否正确?
是否能够满足需求?
可行性
3.设计方案在现有条件下是否可行?
可理解性
4.设计方案是否能被相关人员理解?
完整性
5.是否包括核心功能的实现方案?
6.所有的功能需求与非功能需求是否都体现在了设计中?
7.在设计中是否增加了不必要的功能?
8.是否为未来的变更进行了过渡设计?
9.各子系统、模块之间的关系是否描述得清楚
10.系统的设计是否考虑了系统的可扩展性
11.设计是否考虑了重用性
12.重用构件是否进行了标识
13.是否说明了重用模块的获取方式和相关的文档
14.系统的设计是否考虑了系统的易移植性
15.设计是否使用标准的技术,避免使用怪异的、不易理解的方式和方法
16.设计的调用宽度、调用深度、耦合度、内聚度和结构化程度是否进行了描述
可追溯性
17.设计是否可以跟踪到需求
18.需求是否可以追溯到设计
评审输出
《评审结果列表》、评审修订后的《概要设计文档》
开发阶段
开发阶段主要从代码规范、代码走查、调测等进行控制管理。
质量指导方针
1.约定开发的编码规范
2.约定代码审计所需的时间及规则
3.约定开发阶段的调测方式
4.约定开发阶段自测的标准
5.约定提交版本提交的原则
代码走查
走查项
走查要求
备注
规范性
编码是否符合项目或组织的编码标准
头文件包含是否完整
参数在程度开始时是否被初始化
参数在循环开始时是否被初始化
在承数或过程调用的时候参数是否被初始化
函数调用的格式和参数是否正确
变量的声明和拼写是否一致
变量声明的范围是否恰当
是否所有的指针都被初始化为NULL
程序中申请的内存使用后是否释放
是否每个==,||等都验证了正确性
是否打开的文件都及时关闭了
测试阶段
质量指导方针
1.尽早的介入测试,所有的测试都可以追溯到需求
2.在测试相应方案启动之前,必须先理解且分析需求
3.根据质量计划来制定相应的测试计划
4.测试计划中需涵盖所有关键质量属性
5.进行测试计划评审及修订
6.建立测试用例对测试需求的覆盖率
7.进行测试用例评审及修订
8.不同测试阶段可有计划的调整当前的测试重点
评审管理
测试评审包括测试方案、测试用例的评审,一般可分为内部评审及外部评审;评审的形式按实际的质量计划中要求而定。
以下仅提供测试用例的评审准则。
评审输入
《需求规格说明书》、《概要设计说明书》、《测试计划》、《测试用例》、
评审准则
测试用例评审活动可以确保用例符合优秀用例陈述的特征,包括完整、正确、可行、必要、具有优先级、无二义性和可验证性,同时亦符合好的用例特征,即完整性、一致性、易修改和可跟踪性;评审过程保证用例满足如下要求:
●完整性:
指有明确的目的、输入、输出,提供必要的备注信息;
●正确性:
指每个用例的期望结果与实际需求一致;
●可执行性:
可执行性指测试人员根据测试用例能够独立执行测试;
●代表性:
指能用最简单的数据,最简捷的路径达到测试的目的;
●唯一性:
指在各个测试用例没有重复交叉的现象;
●有效性:
指每个用例是否有效?
是否冗余?
是否能够执行;
●独立性:
是用例与用例之间是否互不依赖?
是否能够独立执行;
●可读性:
指测试用例描述清晰,逻辑正确,拆分合理;
●质量指标:
指是否能够满足质量指标中的覆盖率要求,是否可以满足BUG密度的质量要求;
⏹
内部评审准则
评审项
评审要求
备注
完整性
1.针对每个测试需求,是否至少有一个正面用例,是否至少有一个以上反面用例去测试?
2.针对重要测试需求,是否至少使用了两种以上的设计方法?
唯一性
1.是否存在重复的用例?
2.是否存在可以合并的用例?
3.是否存在需要拆分的用例?
4.是否存在冗余的用例?
5.是否存在无效的用例?
独立性
1.每一个用例的目的、操作过程、期望结果是否独立?
2.每一个用例的目的及期望结果是否保持统一?
期望结果是否过于发散?
可读性
1.不同用例之间针对相关联的内容描述是否相同?
是否存在互斥、矛盾的地方?
2.每个测试用例是否清楚的填写了测试特性、步骤、预期结果?
代表性
1.是否考虑到测试用例的执行效率?
怎么样的步骤组合才是最高效的?
2.测试用例是否具有指导性,是否能灵活指导测试人员通过用例发现更多缺陷,而不是限制他们的思维
⏹外部评审准则
评审项
评审要求
备注
全面性
1.用例树结构定义是否合理?
2.用例是否包括如下方面:
功能、界面、性能用例及需求中涉及到的其它方面用例
完整性
1.用例是否覆盖了所有显性的需求?
用例是否覆盖了所有隐性的需求
2.针对每个测试需求,是否从正面、反面分别去验证测试需求?
3.测试用例是否覆盖每个被测功能的所有可能的输入输出的组合?
4.测试用例是否覆盖正常的输入输出组合的所有可能的取值范围?
5.测试用例是否包括测试了被测试对象的初始化过程?
6.测试用例是否包含了被测对象中所有异常流的测试?
7.是否把最多的测试用例精力放在系统的最主要功能上?
8.针对每个测试用例,是否标识了优先级,且标识合理?
1.针对每个期望用例的期望结果;对开发的要求是否合理?
测试开发设计的认识是否一致?
2.用例期望结果理中与需求保持一致?
3.每一个用例的依赖数据、期望结果是否具体到表及字段的变化?
质量指标
1.用例覆盖率是否达到相应质量指标?
2.用例预期缺陷率是否达到相应质量指标?
评审输出
《评审结果列表》
《评审修订通过的测试用例列表》
发布及维护阶段
质量指导方针
1.根据发布阶段要求准备相应的程序及文档
2.及时检查归档的各类资源
3.根据项目特性或公网情况制定现网问题跟踪流及管理方式
4.与用服结合制定软件的客户满意度调查单
质量控制中的文档管理
质量管理会形成除项目文档之外的管理文档,故文档管理主要为解决项目过程中产生的各类文档的正确性、唯一性、及时性、有效性所做的相应约束。
文档分类
(1)开发文档:
这类文档在软件项目开发过程中,体现了软件开发人员前一阶段工作的成果,同时又是后一阶段工作的依据。
这类文档包括可行性研究报告、软件项目开发计划、软件需求规格说明、系统规格说明书、软件功能说明书和数据字典等。
(2)管理文档:
这类文档在软件项目开发过程中,由软件开发人员制定的需提交管理部门的一些工作计划、工作方案和工作报告。
通过阅读这些文档,管理人员能够了解软件项目开发活动安排、进度、资源使用等情况。
这类文档包括项目开发计划、测试计划、测试方案、开发进度报告和项目总结报告等。
(3)用户文档:
这类文档是软件开发人员为使用该软件的网点经办人员准备的有关该软件产品使用、操作的资料,主要是操作手册及新功能介绍方面的文档。
(4)记录文档:
与客户交流往来的记录、软件项目开发过程中各种会议、跟踪记录、审查记录、产品投产记录和问题跟踪解决记录等。
(5)反馈文档:
这类文档主要是软件产品在推广使用以后,客户对产品使用过程中意见及产品缺陷、质量等方面的信息反馈。
文档管理工具
文档管理工具现在采用VSS管理方式;存放至文档基线库。
文档基线库
文档管理的基本要求
●正确性:
所有的文档都使用相当的标准模板文档中所述的内容正确无误
●唯一性:
每个版本的文档只有一个。
●及时性:
文档随每个任务的执行能够及时编制及公布
●有效性:
防止无效的文档归档以及过期文档被误用。
具体要求:
1.所有的文档都使用相应的标准模
2.文档发布或归档前得到批准
3.必要时对文件进行定期评审与更新
4.确定文件的更改和现行修订状况得到识别
5.确保在使用时可获得有关版本的适用文件
6.确保文件保持清晰、易于识别
7.确保外部文件得到识别并控制其分发
8.防止过期文件被误用,若因任何原因而保留时,需对其进行适当的标识
文档管理流程
根据现有的状态,文档的管理流程仅涉及归档及发布,如下图所示:
说明:
⏹由作者或相应负责人提出归档申请,必须是评审通过且修改后的文档方可提出归档申请
⏹是否及时归档的检查在各个过程中的检查清单中进行检查
⏹文档作废:
文档归档发布后,需同时作废此文档之前的相应版本。
⏹每次进行归档后,由归档人员统一进行文档更新发布
⏹归档之后的文档如有再更新的需求,则从基线库取出来进行更新后,重新归档。
质量度量:
制定项目评估项
质量度量主要针对项目进行评估,从项目的计划、过程、质量、成本、客户满意度不同维度进行评估。
具体细节如下。
计划评估
计划评估主要根据计划历史变更记录来评估计划的正确、合理性、可实施情况,并为以后的计划制定提供参考数据。
主要针对里程碑进行评估,对于非里程碑的计划变化不进行评估。
评估基准
1.项目启动时的《项目总体计划》、每次变更后的项目计划、项目结束时的《项目总体计划》
2.项目变动记录文件
评估项
评估项
第x次变更
变更原因
与上次偏离率%
与初始偏离率%
计划变更
里程碑1
里程碑2
里程碑3
……
总结
1.计划变更的主要原因是什么?
比如
⏹项目计划不够详细,工作安排不够细致,时间浪费
⏹对项目的技术、工作量等认识不清,导致计划时间失误
⏹对项目人员的工作效率、特长认识不清,导致计划时间失误
⏹项目任务跟踪不及时,错过最佳调整时机
过程评估
过程评估是根据项目的每个阶段的质量指导方针以及检查结果来进行的评估,用于检查各项目的过程控制是否达到应有的要求。
过程评估最终使用计分的方式来得出过程得分。
输入条件
每个过程的每次的《过程检查清单》
评估记录
评估记录根据对不同阶段的关注不同,定出相应的百分比,以及每个阶段中不同评估项的重点不同,给予不同的分值,最终统计出对过程的总体评分。
总结
对过程得出的最终分进行分析:
1.哪些过程存在严重的质量问题?
2.哪些过程缺乏哪些质量控制环节?
3.哪些质量控制环节没有起到相应的作用?
项目质量评估
质量评估主要根据测试结果的质量评估以及现网问题跟踪情况进行的评估。
输入条件
1.《版本质量评估报告》
2.现网问题跟踪表
评估项
⏹测试阶段评估主要依据测试各类数据根据质量评估标准进行质量评估。
⏹维护阶段评估主要根据现网问题清单对缺陷率、平均缺陷时间来进行质量评估
◆缺陷率:
指现网问题数/总问题率
◆平均缺陷时间(MTF):
指平均多久时间反馈一个问题。
◆平均缺陷恢复时间:
指出现一个缺陷后,恢复所需要的时间。
总结
对质量情况得出来的评估结果进行分析。
1.测试结果反馈情况主要是哪些环节中的问题
2.现网问题反馈情况主要是哪些环节中的问题
3.测试结果反馈情况与现网问题反映结果是否一致
通过以上总结分析出哪个阶段所存在的问题最多,测试方法/策略是否存在问题;改善明确存在问题的环节。
成本评估
成本评估主要用于评估在各阶段的成本投入比较是否合理,质量控制成本投入是否合理,是否存在成本的浪费等情况。
输入条件
1.项目初始时的《项目总体计划》
2.项目结束时的《项目总体计划》、《项目开发计划》、《测试计划》
评估项
1.计划成本
指