1.为什么做软件质量管理(Why)
1)防患于未然
减少或避免在软件使用过程中出现的问题。
2)控制成本
质量成本分为:
- 符合性成本:培训、检测;
- 不符合性成本:返工、纠错;
- 失去机会成本:未完成销售、口碑差而丢失潜在客户;
2.什么是软件质量管理(What)
软件质量管理是保证软件产品、服务、以及生命周期产物满足组织的软件质量目标,并让干系人满意的全部过程的集合。
软件质量管理通常分为两大工作:
- 产品质量管理(软件测试);
- 过程质量管理(软件质量保证、软件配置管理等);
软件质量是在特定条件下软件产品满足规定的和隐含的需求的能力。
软件质量特性:
- 功能性:当软件在指定条件下使用,软件产品满足明确和隐含要求功能的能力;
- 可靠性:在指定条件下使用时,软件产品维持规定的性能级别的能力;
- 易用性:在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力;
- 效率:在规定条件下,相对于所用资源的数量,软件产品可提供适当的性能的能力;
- 维护性:软件产品可被修改的能力,修改可能包括修正,改进或软件适应环境、需求和功能规格说明中的变化;
- 可移植性:软件产品从一种环境迁移到另一种环境的能力;
针对软件特点,对软件的质量控制更应注重软件过程的控制,通过完善质量管理体系以适应软件质量管理要求和加强软件管理过程来实现。
3.怎么做软件质量管理(How)
在项目开发前、开发中、发布后做好保障,建立预防、审查、应急三套体系。
预防体系,防止工作成果出现缺陷,采取的预防性措施。建立预防体系的方式如下:
-
培训:不断提高项目成员的技术水平、管理水平、质量意识;
-
流程化:不断提高规范化水平,把经验和教训固化在流程中,使产品质量更多的依赖流程、制度、规范,减少对人的依赖。 让流程工具化,把流程固化在工具中,更容易执行流程。
-
复用化:共享公共组件,提高程序代码;
审查体系,为了在开发过程中尽早的发现问题,解决问题,最大程度的减少损失。建立审查体系的方式如下:
- 技术评审:请专家对技术方案、思路进行评审,在编码之前找出可能的问题;
- 代码走查:保障最终代码与评审过的设计方案一致,减少不规范、效率低的代码;
- 产品测试:保证产品质量最直接手段,避免将严重问题带到生产环境;
- 过程审计:保证软件产品的开发过程标准化、规范化,保证以上活动的有效实施;
应急体系,在产品发布后发现问题,尽快提供解决问题、消除负面影响的保障措施。建立应急体系方式如下:
- 升级流程:规定了上线后立即验证的机制、回滚机制,尽可能不给用户体验到问题;
- 客服:服务部接收客户的问题反馈,跟进技术部门问题解决、答复的进度;
- 奖惩制度:作为促进各项流程被标准化执行的补充手段;
PDCA循环:
- Plan,为达到目标制定计划;
- Do,执行计划;
- Check,检查结果;
- Action,如果未达标,作必要调整;