谈项目管理和软件测试过程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
谈项目管理和软件测试过程
1软件测试在公司的组织保障是基础
1.1 研发部组织结构介绍
以华友公司研发部的组织结构为例,测试部门属于研发部副总裁直接管理,见如下结构图公司研发部的组织结构图
对于从事软件研发的组织来说,工作类型至少包括项目管理、产品设计、编码、测试、质量确保和软件设置管理,及其他人员,如文件编制人员和美工人员/系统硬件管理人员等。根据职能需要,能以半独立方式进行部门和项目的矩阵管理,即职员要对项目经理/组长负责,也要对部门经理/总监负责,工作考核由双方一起完成,标准的组织应包括技术研发部/组(主要是编码和设计人员),产品研发部/组(产品需求和项目管理),测试部/组,设置管理部/组(因为设置管理人员基本上是按20个技术人员配一个设置管理人员,所以一般部门规模较小,或只是设置管理组),软件质量保障部/组,其他部/组(如系统/文件/美工等)。华友公司组织结构中,研发部是公司软件研发的核心部门
产品研发Ⅰ部、Ⅱ部、和应用研发部主要负责:
和软件产品部或内容产品部配合,协助完成内容产品的可行性、合理性分析;
平台、网关、应用产品的研发项目的立项和方案评审;
研发项目的概要设计、周详设计工作;
研发项目的编码、单元测试工作;
组织公司相关部门进行研发产品的培训;
协助相关部门做好产品的售前技术支持工作;
协助相关部门进行软件的安装和调试;
根据相关部门的需求做好产品的售后服务工作,保障软件的运行正常。
测试部隶属研发部,主要职责如下:
和内容产品部和软件产品部配合完成软件需求分析讨论,并根据需求说明书制订《项目测试方案》,编写《测试用例》,建立测试环境;
负责完成研发部各研发组研发的软件产品研发过程和投入运营之前的新增软件和修改升级软件的模块测试和系统测试;
建立、推广并维护实施软件版本管理系统CVS和VSS;
使用并维护软件缺陷管理系统Bugzilla,负责软件问题解决过程跟踪记录;
负责推广实施软件研发文件规范化工作,管理研发产品相关文件;
负责配合软件运维部门等对于新业务软件或修改升级业务软件的上线测试工作,并提供上线测试报告;
负责监督软件研发流程的执行,并负责提出软件研发过程改进建议,提高软件产品质量。
1.2 软件产品研发各部门的组织结构分解
1)华友公司从2003年10月开始,对项目组制订明确指标的独立考核,各研发部门是技术总监带队,再细分各项目经理具体负责项目计划和执行,对项目具体研发成员进行分工。对于测试部门制订年度测试部门任务计划/考核表,如SMS业务销售额指标完成:目标1:9900万(奖金提取比例为0.01%);目标2:16800万(奖金提取比例为0.02%);目标3:23200万(奖金提取比例为0.03%)
周详给出财务目标和业务运营目标。
在每周的研发经理工作会议上交流报告任务进展情况,并提出最近测试需求,测试部门经理负责制订测试计划、测试用例和测试实施方案,安排测试工程师和对应的研发人员交流完成测试执行工作。测试部经理负责研发流程管理和人力资源、测试用软硬件资源调配,需要和研发之外的部门定期交流掌控下周或近期可能测试任务,所有其他外部接口都由测试部经理负责完成,和其他项目组和产品部门协调项目进度。
2) 工作汇报关系为:
研发部门:Team Member->Team Leader->研发总监->研发部副总裁->总裁。
测试部门:测试工程师->测试小组经理->测试部经理/总监->研发部副总裁->总裁。
3)项目成员结构:
公司通常的研发项目组为6到8个研发人员,最多不超过10人。
华友公司的经过三次改造后的组织结构和项目组结构,各个业务部门分类非常细,任务明确,软件研发的每一个步骤都有专门的部门、专门的人员负责,从最基础的研发人员到负责统领全局的总监和副总裁,层层管理,沟通渠道畅通。而在软件测试上,由于有限的测试资源,首先体目前公司的组织结构上,集中表现为测试部门不得不面对公司级管理部门的缺失和管理的交叉上,没有质量管理部门,部门质量管理工作测试部门兼做。公司从成本角度考虑,测试部门规模较小,测试人员总数不超过10人,几乎每个测试人员接收处理10个研发人员的测试任务需求。从实际情况出发,首先明确测试部门和软件研发部门相对独立的组织关系,确保测试人员的工作不受研发小组的控制,实现测试客观、公证。华友公司要想有效地保障产
品质量,首先就要在构架合理的组织结构和测试流程上下功夫,这就如同盖高楼首先要打好地基相同,地基不打牢,结构和流程不合理,其他方面再下功夫也是徒劳。
从实践经验看,一年前首先成立测试部,把属于研发部门的测试工程师归口到独立的测试部门管理,其次建立规范的测试流程,和研发部门交流,需求每周提出测试需求,再根据现有的资源制订每周测试计划,同时向人力资源部门提出招聘计划,随着测试工作的成绩不断被研发部门和上级领导认可,再推广实施软件研发过程规范化的管理,通过测试实践的优良成绩来确立测试部门在公司的地位和作用,经过一年的奋斗测试部门从无到有,从最初两人到目前十人,软件设置管理和缺陷跟踪系统已被60%的研发人员自愿使用和接收。总结本人在华友一年多测试工作经验,深深体会到在国内从事软件项目研发难、从事软件测试和质量确保工作更难,需要具有扎实的技术功底同时,不断提高测试项目管理能力,寻找工作的突破口。世上无难事,只怕有心人,不过只要你努力献身于软件测试工作,打出一片天地是有可能的。(待续)
2设置管理系统是项目经理的"眼睛",是软件测试有效实施的前提
在软件质量体系的诸多支持活动中,设置管理系统处在支持活动的中心位置,他有机地把其他支持活动结合起来,形成一个整体,相互促进,相互影响,有力地确保了质量体系的实施。建立公司设置管理系统非常容易得到公司领导层的支持,几乎没人反对。更重要的是建立设置管理系统后测试人员的工作有了系统确保,测试工作的"矿藏资源"有了明确的位置,能主动积极开展测试工作。
2.1 项目管理存在的主要问题
华友公司测试部门去年刚成立时,以建立、规范和推广使用设置管理系统CVS为突破口,同时建立缺陷跟踪系统Bugzilla提高测试流程的管理水平。我做为测试负责人首先分析华友公司几个软件项目在研发管理上的现状,。
存在问题一、公司几个核心项目仍然过分分依赖少数个人的作用,没有建立起协同作战的氛围,没有科学的软件设置管理流程; 技术上只重视系统和数据库、研发工具的选择,而忽视设置管理工具的选择,导致即使有些项目有设置管理的规程,也由于可操作性差而搁浅。以上种种原因导致研发过程中普遍存在如下一些问题: 调查说明华友研发成员的变动的比率达到30%,几乎每周都有新加入的员工或辞职人员,一个新成员熟悉项目的最佳途径就是通过设置管理系统阅读项目文件,甚至阅读同行代码,达到快速学习、一起提高的目的。一个辞职人员能利用设置管理系统保留部分一段时间工作,最大程度减少对项目研发造成的损失。
存在问题二、研发管理松散。领导了解工作完成情况重视口头交流,忽视书面文件。有些部门主管无法确切得知项目的进展情况,项目经理也不知道各研发人员的具体工作,项目进展随意性非常大,可"左"可"右"。"左"时按领导下达的"期限"进行,到期时,似乎一切已顺利完成,大家一阵胡弄,交差完成,反正领导看的是界面,至于里面是什么,留到施工时再说。施工时的工作因此变成了无法汇报、无法理清的无休止的维护。"右"时则项目工期无休止地延期。对我们软件工程来说,总的特点是先"左"后"右"。在领导面前表现"左",在用户面前表现"右"。有个测试人员经常利用上班时间学习英语,过了一个多月,看她依然如此,我做为项目领导进行批评教育,这名员工并不认为自己错了,她争辩,公司采取弹性工作时间,考核员工是分配