摘要: 待补充
关键字:质量红线,质量模型,质量规范,迭代内验收,
正文:软件项目的实施过程是质量的形成过程,体现在产品的整个生命周期里,而开发阶段是其中极为重要的一个环节,也就是常说的“质量是设计出来的”。在目前敏捷scrum开发框架的大背景下,经过长期的学习实践,以及经验教训的总结,部门建立了质量管理的体系,并借力DevOps搭建高效的迭代内交付质量防护网。
(中心思想:1.部门和项目,矩阵管理。2.管理和技术,两手都要抓。)
1.管理方面
部门负责的产品是光纤上行家庭网关,其特点是结构小,功能多,定制多,产品迭代快,版本多,发货量大。当一个故障泄露到外场,有可能会需要全网软件版本升级,影响范围大。为应对这种特点,部门和项目在不过于影响效率的前提下,制定并实施了多种质量保证措施。
1.1组织架构
部门内成立质量小组,人员来自各团队研发人员,小组负责制定部门质量规范,监督规范的实施,优化开发过程中的质量活动,并通过小组成员将质量意识带回到所在团队。
(待补充,质量小组的职责示意图)
项目内由SM和QA定期召开复盘会议,回顾这个周期内的故障泄露情况,找出根因,制定对策。
1.2质量规范
质量小组制定部门的《质量红线》,《质量规范》,定期发布《血泪史》,指导开发团队实施质量措施。
1.3质量相关标准动作
在部门质量规范的框架下,各个特性或组件团队可以有选择的将以下活动纳入到开发流程中,包括:
1.3.1专业领域内的架构review
输入是:检查单,各种层级的方案设计,软件架构。检查单。
输出是:经过评审后方案设计,软件架构。
1.3.2特性团队内的迭代内验收
1.3.3团队回顾会
输入:本迭代的故障泄露数据,本迭代高质量交付的样本。
输出:经验教训,改进措施。
1.3.4部门质量小组月度抽查
检查EC和gerrit信息填报内容,由工具检查格式的正确性,由人工抽查内容的准确性。
2.技术方面
管理离不开技术的支持。部门成立专门的工具组,制作检查工具。结合TLCop的运作建设质量防护网。
2.1Devops工具链
即便有上述的开发流程基本动作,人工检查还是会有遗漏,这是就需要DevOps的协助。
(待补充流水线图)
工具组制作EC检查工具,加入DevOps工具链里,按月扫描。对超期和格式不符合规范的EC单发出告警。并将检查数据可视化。
在Devops流水线上,在CI中集成多个检查环节,并作为CI红线拦截不合格的入库代码。包括代码静态检查,编译,kw,coverity,cppcheck)。代码动态检查,包括UTFT,冒烟测试,CRT测试。其中UTFT建设结合了需求体系化,ST用例关联服务树,FT关联功能树,力求做到从需求输入到代码提交入库前,都有测试用例保护。
UTFT建设部门的重点任务,按计划逐步提升核心组件的覆盖率,并收集verify阶段的拦截次数,用以评估有效性。
冒烟和CRT测试依托项目强大的自动化工厂建造,由特性团队维护。这项我们已经深耕多年,目前的目标是做精做细,提高效率和有效性。方法是1.结合团队和项目复盘结果增删用例,2.优化用例脚本,缩短用例执行时间。
三.效果
今年泄露到系统测试,外场的故障为xxx
四.总结
开发质量管理是一个过程管理,需要持续改进,需要PDCA闭环跟踪。组织专门的质量小组,制定规范,监督执行。管理和技术结合,将质量意识融入到开发的各个主要环节里。(待补充)
网友评论