软件项目管理实践之如何实施质量控制?

质量控制包括对项目管理过程绩效和项目可交付成果的质量控制。质量控制主要通过文档评审、技术评审、代码走查和测试检查实现。

  一、技术评审

  技术评审包括技术文档评审、技术实现评审和代码走查。

  1、文档评审

  实施过程前期产生的需求规格说明书、系统设计说明书、测试用例等文档是后期编码、测试的主要依据和输入,这些文档的质量直接决定了软件系统的好坏、系统返工的多寡以及客户满意度。因而对这些文档的评审尤为重要,评审的目的在于在交付给下游开发或测试时及早发现问题,修正错误,以免问题和错误在系统中的蔓。

  文档评审采用同行评审会议的方式进行,由项目经理组织,开发相关文档参与的角色包括其他子系统的系统分析员、质量控制部相关人员、其他兄弟部门有类似经验的系统分析员等;测试相关文档则由项目经理、测试经理、系统分析员和其他测试人员参与。评审过程中,主要从以下几方面考察文档的质量:

  ● 可读性。主要从文档是否符合公司模板规范、逻辑结构层次是否清晰明确、文字表达是否无歧义等方面判断;

  ● 完整性。主要从文档是否完全满足要求,是否已覆盖所有的功能点等方面判断;

  ● 一致性。主要判断文档表述是否前后不一、是否有矛盾等;

  ● 技术可行性。主要判断目前的技术框架是否支持,是否有类似的经验,是否有技术风险等。

  2、技术实现评审

  技术实现评审包括项目技术框架选型评审、具体某个模块的技术实现方法评审。技术框架的评审目的是为了在进入大规模编码开发前确认选择何种技术框架、判断现有的技术框架是否满足项目功能和性能需求、框架是否足够稳定以及可能存在的风险等;具体某个模块的技术实现方式评审目的是为了保证选择的实现方式目前来说是最优的、可以推广到其他模块使用的。技术评审通过评审会议的方式进行,参与的人员包括项目经理、系统分析员、开发人员、公司内部相关技术的专家、有同类项目经验的实施人员、质量控制人员等。

  3、代码走查

  代码走查主要是对软件代码进行复审,主要以高级程序员复审代码或同级别的程序员交叉检查的形式进行。代码走查的目的是通过抽查,保证代码的编写和注释符合编码规范,编码逻辑符合系统设计要求,减少测试返工以及因测试返工引起的来回沟通、回归测试等问题,降低管理成本,提高开发效率。

  二、测试检查

  测试检查是由测试人员根据测试用例对软件产品进行功能测试以及使用压力测试工具对系统进行压力测试。测试检查的目的是确保交付给客户执行验收测试前软件产品经内部严格测试,检查系统是否满足用户需求和符合实际应用环境的需要,从而增强客户对项目成功的信心。

  我们定义了五个测试检查过程,包括单元测试、集成测试、系统测试、客户验收测试以及确认缺陷已正确修复的回归测试。

  单元测试由开发人员自行负责,测试通过标准由系统分析员制定,测试团队核准,确保开发人员在提交代码前在本地已经过测试,主流程可以跑通,可以进入集成测试阶段。主要目的是通过自查自纠减少返工以及降低后续测试阶段中开发人员与测试人员之间的来回沟通成本。

  集成测试由系统分析员负责,通过集成开发人员提交的代码,利用Ant等自动化工具发布到测试环境。系统分析员选取典型的测试用例对软件产品进行测试,确保业务模块在操作过程中没有出现重大的业务逻辑错误以及页面方面的低级错误,可以提交到测试团队进行进一步的深入测试。测试过程如出现问题,进一步分析产生原因和影响分析后提交到JIRA系统中交由开发人员处理,同时在JIRA系统上进行缺陷跟踪。

  系统测试由测试团队负责,依照经过评审的测试用例对已发布可用于测试的软件产品进行全面的功能性测试,确保系统满足功能需求。测试过程中,发现的问题连同问题出现时的系统截图一并提交到JIRA系统中,由系统分析员分析后转由开发人员实施缺陷修复,同样的,在JIRA系统中进行缺陷跟踪。

  客户验收测试由客户需求负责人负责,测试团队配合完成。测试的过程也是对客户系统操作培训的过程,必要时,由系统分析员给客户演示和解释。客户需求负责人往往是业务骨干,精通业务规则,熟悉业务流程和操作,可以对系统进行更深入的功能测试,发现隐藏较深的缺陷或者因为考虑不周引致的设计缺陷。

  回归测试由测试团队负责,根据JIRA系统上的缺陷修复状态,对已包含缺陷修复的版本进行验证测试。测试过程不单是对缺陷修复进行验证,同时对因修复缺陷影响到的其他模块进行回归测试,确保缺陷被正确修复的同时不影响原有模块以及不引入新的缺陷。由于回归测试的工作量很大,我们使用QTP工具,通过录制测试脚本,使回归测试可以自动化执行,减轻测试团队的负担,提高工作效率。

  每周的测试情况以测试周报的形式体现,周报内容包括测试范围、测试过程中遇到的问题以及解决方法等。另外,周报还报告了缺陷的统计信息,包括缺陷总数(其中:本周新增的缺陷)、已关闭的缺陷总数(其中:本周关闭的缺陷)、已处理但未关闭的缺陷总数、正在处理的缺陷总数以及未处理的缺陷总数。通过这些信息基本上可以看出软件系统的缺陷趋势,从而为后续的决策提供量化支持。

  测试发现的缺陷我们使用JIRA系统进行跟踪和监控。测试人员在系统上提bug,由相应的系统分析员负责对缺陷进行原因分析和影响分析,必要时与程序员一起确认问题产生的原因和可能影响的模块,分析后转交由相应的开发人员进行修改,缺陷修复并经单元测试后发布到测试环境交由测试人员进行验证测试并关闭此问题,最后由客户进行验收测试后并确定发布版本和发布时间后予以发布。在这个流程中,测试人员验证测试时需要对该缺陷涉及的本模块其他功能和其他模块进行一轮回归测试,确保已修复的缺陷不再重复产生,其他功能不受影响。

  另外,为了确保已发现的缺陷不再重复出现,对于频繁出现的,如界面显示的是代码而非中文、缺乏信息提示、没有进行逻辑检查、后台计算结果有误等缺陷进行进一步的分析,找出是因为系统设计文档的缺陷、人为疏忽还是没有按照设计文档设计或其他原因所导致,从而制定相应的改进措施。

本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-29 13:01:53

软件项目管理实践之如何实施质量控制?的相关文章

《挖掘管理价值:企业软件项目管理实战》一2.6 项目实施控制

2.6 项目实施控制 挖掘管理价值:企业软件项目管理实战软件完成测试后,就可以进入发布阶段,即实际使用阶段.对于发布阶段,也可以称之为实施.升级或迁移.它们的区别在于:"发布"往往是将软件打包给商业或零售用户,因为开发人员并不直接面对用户:"实施"是将软件包括配套的硬件安装到客户那里,开发人员需要自己面对用户提供支持和服务,如配置服务器.安装软件.调试设备等,一般而言需要实施的软件都是面向企业的大中型软件,如ERP或CRM等:"升级"是指将现有的

《软件项目管理》复习概要

今天下午复习了一下<软件项目管理>这门课程.因为快要考试了,所以总结了一下个人认为比较重要的内容,分享一下. 另外,大家如果感兴趣的话,还是下载这个PPT版本的话,因为文字就是总结这个PPT的.我上传到了新浪微盘:http://vdisk.weibo.com/s/4QlGr 不过这个PPT虽然是老师上课用的,但是老师额外增加了许多的内容,PPT只是提醒老师而已,许多的内容都是老师课堂上说的,所以大家可能会发现有些部分这个PPT比较粗略. ----------------------------

软件项目管理中的进度管理

一.什么是软件项目管理 软件项目管理是按需求确定范围.按目标制定项目计划.按计划执行管理的过程.对软件开发各阶段加强项目管理的根本目的在于增强对软件开发的控制能力,提升软件开发的质量.软件项目的建设按软件工程的生命周期法可分为项目立项.启动.需求分析.系统设计.系统开发.系统测试.系统上线.项目验收和上线后评估等9个阶段进行. 加强软件项目管理,就是以软件工程的各个环节为管理主线,将动态项目管理贯穿其中,通过对软件开发的项目范围.项目进度.项目质量.项目沟通.人力资源.项目成本六大核心要素的集成

《软件项目管理》课程知识总结

   这篇文章是结合<软件项目管理>课程知识进行的总结,我也不知道自己为什么要总结这篇文章,很多事情没有原因就做了,希望对大家有所帮助,尤其是上这门课的同学吧!有时候也在想写这样的文章到底有没有用,估计用处不大,但没办法兴趣使然~    --吾亦无他,唯心向尓    (By:Eastmount 2014-11-25 下午5点 http://blog.csdn.net/eastmount/) 一. 什么是项目管理?     随着软件危机(Software Crisis)带来软件代价高.难于控制开

《挖掘管理价值:企业软件项目管理实战》一2.2 项目确立过程

2.2 项目确立过程 挖掘管理价值:企业软件项目管理实战 软件开发项目的确立有的时候是必然发生的,如用户需求或对现有系统的升级和更新:有的时候是偶然发生的,如市场商机或业务部门突然提出一个需求或者是系统突然出现了故障.不管是何种情况,软件开发都不可能一蹴而就,总需要一个或长或短的过程.因此在开始软件项目之前,通常需要一个立项的过程. 2.2.1 立项目的 立项的目的是为了确定软件开发的目的和范围,评估项目的投入.回报.合理性和可操作性,同时得到上层的批准和预算. 通常而言,立项要解决以下问题.

《张成功项目管理记》一软件项目管理的主要关注点

软件项目管理的主要关注点 张成功项目管理记 如何让项目朝着既定的目标良性进展?如何让项目能最终获得成功?针对这两个问题,张成功根据自己的项目管理经验,总结出有助于项目良性进展.有助于项目成功的15个主要关注点. (1)项目目标. "目标是行动的航标",因此目标对项目的重要性不言而喻. 一个不关注项目目标的项目经理,最终只能将项目带入失败.实践已经并继续证明,任何不针对目标的行动都将是徒劳的.因此,项目经理一定要将项目目标装在"心"里并时时关注. (2)项目范围. &

浅谈软件项目管理环境下的质量管理

浅谈软件项目管理环境下的质量管理 摘要:软件项目管理是为了使软件项目能够按照预定的成本.进度.质量顺利完成,而对成本.人员.进度.质量.风险等进行分析和管理的活动.软件项目的质量管理就是产出的软件,满足客户明确需求.隐含需求的能力的所有特性.在现实生活中,监控所有对质量有影响的关键点,采用有效的测量手段来管理软件的质量,从而实现软件项目的"高"质量.使软件项目管理较之其他项目管理而言有其特殊性.采用CMM标准可以确保软件项目的质量,CMM是美国卡纳基梅隆大学软件工程研究所提出的软件研发

《挖掘管理价值:企业软件项目管理实战》一导读

前 言 挖掘管理价值:企业软件项目管理实战 我自2000年开始从事软件开发工作,至今已经有12个年头.刚开始进入公司的时候,我还是一个程序员,每天跟在师傅后面完成代码片段的开发.除了要完成日常的工作任务以外,我还要不停地学习新的技术.语言和工具.在经历了几年的热情之后,面对干涩枯燥的代码,我开始感到迷茫和厌倦,我问自己:"我的出路在哪里?以后做什么?写程序能写到几岁?" 所幸的是,公司的规模在不断发展中,业务量越来越大.现有的开发资源已经明显不足,人员进行了扩编,于是我顺理成章地当上了

软件项目管理“固化、简化、标准化”

我曾任职的某公司软件工程中心有8位项目经理,成功地管理过许多应用软件开发项目,部门同事戏称他们"八仙",因为他们带项目的风格迥异,就像八仙过海,各有神通. 第一位,性格温和.思路清晰.走的是专家形象的路子,只要和用户交流一次,就能获得用户认同和尊重:一般问题刚有苗头,就会被他察觉,并化解于无形之中.因此被用户敬若神明,言听计从. 第二位,性格开朗.善于沟通.走的是关系调节的路子,几次接触,就能和用户称兄道弟,于是项目中所有的问题都在酒桌上解决. 第三位,善于把握用户心理和用户内部之间的