海鼎,助您成就梦想!

走有海鼎特色的质量管理之路

2014年11月20日

评论数(0)
 

摘要:海鼎一直把软件产品质量视为重中之重,经过多年探索,提出质量管理体系的概念,并逐步形成海鼎的质量文化和管理思想。在质量预防机制、缺陷管理机制、版本管理、用例管理、数据统计报告分析等方面梳理出切实可行的流程方法、规章制度,走出一条有海鼎特色的质量管理之路。

关键词:质量管理 质量预防 缺陷管理 版本管理 用例管理 数据统计


 

一、质量和质量管理

 

  从“三鹿奶粉”到“双汇火腿肠”到“上海福喜过期肉”,大量事实告诉我们质量管控是企业健康发展的重中之重,是企业生命力和社会价值的体现。那么对于一个软件公司来说,什么是质量呢?软件质量从概念上说就是“软件与需求相一致的程度,是软件产品满足明示或暗示需求能力的特性和特征的集合”。具体地说,软件质量是软件符合明确叙述的功能和性能需求、文档中明确描述的开发标准、以及所有专业开发的软件都应具有的隐含特征的程度。影响软件质量的主要因素包括:正确性、健壮性、效率、完整性、可用性、风险(产品运行);可理解性、可维修性、灵活性、可测试性(产品修改);可移植性、可再用性、互运行性(产品转移)等等。

  软件质量管理就是对软件开发过程中的各个环节的质量进行持续跟踪和改进,综合应用各种质量控制方法和管理手段,建立管理保障机制,使软件开发过程向着既定的质量目标发展。


 

二、海鼎质量之路的历程

 

  从公司成立至今,海鼎走过了不断探索,精益求精的质量改革之路。公司成立之初,开发人员也是测试人员还是实施人员,人人都是多面手;随着公司发展,开始有了专门的服务实施人员和测试人员;2007年组建了正式的测试组,走上了质量管控的正规化道路,同年,因为该小组对公司产品质量提升做出重大贡献,被提名为“2007秋冬季之星”;2010年测试组扩展为测试部门,更专业,分工更明确,出现了专门的配置测试工程师,建立起完善的测试体系。现在,开始筹备组建质量中心,正式提出质量管理体系的概念,要走有海鼎特色的质量管理之路,建立海鼎的质量文化和管理思想。


  质量管理体系结合公司现有的规范制度,对软件生产过程各环节和接口进一步梳理,着重从整个生产过程上进行改进,以预防为主,以过程管理为重,从软件产品需求分析、设计开始,引入预防思想,面向客户特征,降低质量成本,提高软件质量。

 

 (一)质量预防机制(需求管理)

  据分析,54%~56%质量缺陷来自需求不清晰,25%质量缺陷来自设计和编程,所以,目前我们主要从需求这个环节着手对整个生产过程进行梳理。如下图:


1 需求生命周期全程管理

 

  1、需求提交

  业务顾问或者项目工程师按规范格式和规范内容提交需求,提交需求的同时,要有客户确认单(与客户邮件沟通,确认有留档),同时与客户初步沟通时间。

  2、需求审核

  1)需求复核。需求负责人(项目经理或其他资深项目工程师检查需求文档规范,确认业务逻辑是否符合产品体系(为需求的业务逻辑负责),是否有客户确认。

  2)需求审批。项目经理沟通、安排项目需求进展,安排需求实现版本,并为项目整体需求进展负责,同时制定需求实施计划。

  3)需求审核。开发经理定时审核需求平台需求,检查需求是否经过需求负责人审核,并给出具体的备注意见,同时对需求质量打分。审核通过确定需求的开发计划。

  3、需求开发

  审核后的需求,会自动提交到jira平台。开发经理安排设计和编码人员,在规定时间内完成设计和编码任务单。

  4、需求测试

  测试人员得到需求后,参与需求评审,和设计人员一起确认需求的实现。根据需求和设计,完成测试用例。

  测试人员根据测试用例,对编码任务单进行测试。反馈任务单缺陷,回测缺陷的修改。

  测试完成,测试经理按需发布补丁。同时根据发布计划,定期发布制品(见下面的版本管理)。

  5、需求实施

  项目经理指定工程师按需求中要求时间点进行实施。

  实施成功标准:流程走通、选项配置正常、编译无报错。

  实施前检查制品提供时间符合计划安排;制品提供内容是否完整。

  实施时做好实施记录、现场备份、交接文档。

  实施后按制品所述是否成功实施,对实施情况打分。

  6、需求结果确认

  需求的原提出人对制品实施确认:检查环境是否更新为制品提供后的内容,且运行正常。

  需求现场测试:记录制品实现情况(验收文档,验收功能清单),并对制品质量打分(按需求所述是否正确实现功能)。

  以上内容,可以通过下面的流程图有个直观的认识:




图2 需求管理流程图

 

  (二)缺陷管理机制

  当以上的预防机制后,仍有个别缺陷成为漏网之鱼,那么就有必要对这些缺陷进行分析。比如,是因为产品的新功能开发从而引入了新的缺陷呢?还是产品以前遗留下来的缺陷现在被发现了?出现问题的模块是不是总是其中的某一个模块呢?等等。如果问题总是出现在一个模块或业务流程,那么可能需要考虑督促开发部门对其进行重构,从而从根本上去解决问题。

  因此我们制定了产品漏洞分析机制定期对漏洞进行分析:

  1、每月月末,质量管理部门统计本月的漏洞,出《产品漏洞报表》。

  2、质量管理部门将此报表放到WIKI产品漏洞分析的页面。

  3、质量管理部门通知各相关开发与测试经理。

  4、产品线节点(测试部、开发部)在一周内认真对漏洞进行分析,并提出整改意见。

  5、质量管理部门根据各节点所填写的漏洞处理说明,整理成《漏洞处理跟踪说明文档》,并将最终结果放到WIKI漏洞分析项目下。

  6、相关部门负责人将本月漏洞分析结果下发到部门员工。

  7、质量管理部门跟踪漏洞改进措施的执行情况。

流程图如下:


图3 缺陷管理流程图



 

  (三)版本管理

  对产品发布进行严格管理,杜绝了该环节产生缺陷的可能性。

  1、制定发布计划

  产品经理和测试经理共同确定发布周期具体发布时间点和发布内容,并在jira上对产品的版本进行规划。

  2提取发布制品

测试部在发布时间点到来时,整理发布相关文档。包括:发布任务单列表、发布任务单明细、安装说明、升级说明、操作手册等。

测试部提取发布源程序,生成要发布的程序。根据定义的发布周期,在指定的时间点去SVN上取源程序;编译、整理源程序,形成要发布的目标程序。

  3、发布测试

  测试部门根据各产品定义的发布测试案例对提取出的版本进行流程验证;对全新安装和升级安装的脚本进行安装测试;提交本版本的缺陷,最后合并已经修复的缺陷。

  4、发布最终制品

  制定最终制品统一的命名规范,根据规范对发布的制品进行命名,评估版本风险编写公告,同时在Intra上发布公告,以便项目人员及时下载最新版本。

 

  (四)用例管理

  每个产品都建立起自己的用例库,制定公司级别的统一用例编写和维护规范,达到用例库与程序同步,并用用例库指导目前的测试工作开展,以及后续的产品实施。新需求、需求变更都要整理到用例库中,在具体的编码任务开始之前,就要有用例。用例由有两年以上经验的高级测试工程师编写,然后由测试经理、产品经理、需求提出人共同进行用例评审,准确评估用例覆盖率。评审后的用例才交给测试工程师执行。

  在缺陷管理环节发现的缺陷,也及时补充、更新到用例库中,不断对用例库进行完善。

  同时,用版本工具对用例库进行管理,做好用例的备份和恢复。


 

  (五)数据统计 报告分析

  每月对各产品质量情况出具报表,通过各项统计数据对产品质量做直观的评定和分析,及时发现问题并提出解决方案,从而不断改进产品质量。报表内容例如:


 

图5 质量总体情况报表

 

图6 缺陷分析示例图(从来源和Bug类型看趋势)

 



结束语

 

  时间、质量、价值--时间检验质量,质量创造价值。

  品质,是我们不变的追求。展望未来,让我们的产品,跟得上时代潮流,经得起岁月考验,成为业界高质量的典范,给客户更完美的体验,创造更多社会价值。

 

文/严萍 施杰

文章为作者独立观点,不代表联商专栏立场。

联商专栏原创文章由作者授权发表,转载须经作者同意,并同时注明来源:联商专栏+海鼎。