如何做好软件项目的质量管理?
2023-03-08 17:27:33 2 举报
AI智能生成
软件项目质量管理的涵义是确定软件项目的质量方针、目标和职责,并通过质量计划、质量保证与质量控制各项工作确保软件开发项目中各项工作的质量,进而保证所交付的产品满足客户的需求。
作者其他创作
大纲/内容
质量管理是什么
质量(Quality)
质量作为实现的性能或成果,是“一系列内在特性满足要求的程度“
项目质量管理
定义
包括把组织的质量政策应用于规划、管理、控制项目和产品质量要求,以满足相关方目标的各个过程。
项目质量管理做什么
规划质量管理
识别项目及其可交付成果的质量要求和/或标准,并书面描述项目将如何证明符合质量要求和/或标准的过程。
管理质量
管理质量是把组织的质量政策用于项目,并将质量管理计划转化为可执行的质量活动的过程。
控制质量
为了评估绩效,确保项目输出完整、正确,并满足客户期望,而监督和记录质量管理活动执行结果的过程。
项目质量管理需要因地制宜
项目质量管理需要兼顾项目管理与项目可交付成果两个方面,它适用于所有项目,无论项目的可交付成果具有何种特性。
质量的测量方法和技术则需专门针对项目所产生的可交付成果类型而定,例如,对于软件与核电站建设的可交付成果,项目质量管理需要采用不同的方法和措施。
软件特点与软件质量
软件
软件不同于传统工业产品,软件开发也不同于传统制造业
软件质量
软件质量的特性分析
软件质量管理活动
质量管理理念之全面质量管理
四个一切的指导思想:一切为用户着想、一切以预防为主、一切凭数据说话、一切按PDCA循环办事;。
发轫于质量运动,但非简单的质量管理;实质是文化变革,关键在建立实施框架。
通用软件质量工程体系
软件质量保证
软件质量保证SQA:通过开发过程的可见性给管理者提供实现软件过程的质量保证。
制定和展开质量方针
制定质量保证方针和质量保证标准
建立和管理质量保证体系
明确各阶段的质量保证任务
坚持各阶段的质量评审、整理面向用户的文档与说明书等
收集、分析和整理质量信息
提出和分析重要的质量问题
总结实现阶段的质量保证活动
软件质量计划
质量计划的管理内容
软件需求、需求规格说明书的评审;
软件配置管理计划;
软件测试需求和计划;
软件架构设计、详细设计或程序设计的复审;
软件代码和单元测试的审查;
软件集成和系统测试的审查;
参与验收测试;
对产品质量状态、产品维护变更的全程跟踪;
对顾客满意度的调查
根据项目需求制订质量计划
识别本软件项目或产品的主要质量因素或关键质量因素;
软件质量风险分析,包括识别风险、采取措施回避风险和降低风险等;
效益/成本分析;
质量水平基线;
质量分析工具;
试验设计。
软件质量控制
软件工程大师Donald Reifer对软件质量控制的定义
软件工程领域专家Fisher和Light对软件质量控制的定义
质量控制活动可以设在软件开发过程的任何一个地方。
测试和评审是软件质量控制的基本活动
软件质量组织
基本的软件质量组织
软件测试部门:对半成品或成品进行测试,找出软件中存在的缺陷
软件质量保证组织:从流程上对软件的质量进行控制
建立软件质量工程体系
行业特点、公司文化和组织行为模式
组织规模:大型、中小型企业;
企业性质:国企、民企或外企等;
研发流程:如敏捷开发、精益开发、瀑布模型等;
产品类型:如性命攸关系统、使命攸关系统、一般商业系统;
团队能力、地域等
软件测试
不同研发模式下的测试
瀑布模式(IPD)
测试周期单位:月/周
测试是最后端的验证者
测试围绕发现缺陷展开
敏捷(Scrum、XP)
测试周期单位:周/天
测试前移或后移(CI、CD)
发现缺陷+预防缺陷
DevOps
测试周期单位:天/小时
随时都在测试
专职测试可能淡化
测试的核心:“测什么”和 “怎么测”
测试的六大问题:
测试的对象和范围是什么
测试目标是什么
测试的重点和难点是什么
测试的深度和广度?
先测试什么,再测试什么
如何评价测试的效果
测试策略
测试策略是对本次测试的系 统的思考(认知)
更是一种“选择”(价值观)
测试策略应该贯穿测试的始终,会随着当前的测试状况而变化和调整
软件测试级别
单元测试
验证程序及模块内部逻辑符合系统设计说明书,又称为模块测试,是动态测试的最早期阶段。
集成测试
将应用内部的模块组合在一起进行测试,测试接口,各类集成以确保接口数据不会丢失,一个模块的功能不会影响其他模块的功能,各模块组合起来能达到预期要求等。
系统测试
针对单一被测系统以及系统内部组件间接口进行的测试,通过功能测试和非功能测试相结合的方式验证该系统应正确运行、满足项目需求规格说明书,从而确保系统功能及操作性上的成熟度和健康度。
系统集成测试
针对多个被测系统之间数据交互以及系统间接口进行的测试,验证整个系统承载的业务流程实现正确及系统整体与外界的硬件、网络间合作运行正确,从而确保整个系统在生产环境中的运行可达到客户预期。
验收测试
在模拟的客户环境中,验证产品能满足客户的需求。
测试级别选择原则
完全自主研发
应进行单元测试、集成测试、系统测试及验收测试
部分模块或组件为外购
因其外购模块或组件需与自主研发或其他产品集成,故应对外购模块或组件进行集成测试、系统测试、系统集成测试及验收测试
完全外购
因其需经过配置、联调才可与其他系统整体协同工作,故应对外购软件产品进行系统集成测试及验收测试
软件测试的三维空间
层次或过程
验收测试
系统测试
集成测试
单元测试
特性-质量目标
功能测试
适用性测试
性能测试
兼容性测试
安全性测试
可靠性测试
方法(哲学思想)
黑盒测试方法
白盒测试方法
灰盒测试方法
测试结果分析与测试报告
测试覆盖度分析
需求覆盖度
代码覆盖度
测试过程分析
测试用例分析
测试方法分析
测试投入分析
缺陷分析
缺陷分布报告
缺陷趋势报告
缺陷年龄报告
质量改进
泰戈《质量工具箱》一书中提出了一种通用的质量改进“10步骤”法
我们想取得什么结果?
谁关注?他们关注什么?
我们正在做什么?我们做得怎么样?
我们在什么方面可以做得更好?
什么事情妨碍我们做得更好?
为了做得更好?我们需要什么样的改变?
采取行动!
我们做得怎么样?要不要再试一次?
如果有效,如何保证每次都按照这个方法执行?
我们学到了什么?
质量改进之漏测问题分析
漏测试问题: 软件产品缺陷没有在测试过程中尽早被发现
漏测问题分析过程
漏测问题识别
分析漏测原因
分析改进措施
改进措施实施改进确认
改进措施示例
更新测试用例。例:测试用例增加验证点。
输出测试经验。例:补充测试案例、添加到测试经验库。
提高测试技能。例:进行相关测试技能培训。
改进测试工具。例:增加对日志的自动化验证功能。
改进测试流程。例:修改测试方案模板,增加观察点分析
质量改进之质量回溯
质量回溯
指从产品质量问题的现象出发,一步步地向上追踪问题的发生过程,找到导致问题的根本原因,并针对问题根因采取改进措施。
0 条评论
下一页