软件测试需要项目管理.doc
软件测试需要项目管理 随着信息技术的飞速发展 ,使软件产品应用到社会的各个领域 ,软件产品的质量自然成为人们共同关注的焦点。不论软件的生产者还是软件的使用者 ,均生存在竞争的环境中 ,软件开发商为了占有市场 ,必须把产品质量作为企业的重要目标之一 ,以免在激烈的竞争中被淘汰出局。用户为了保证自己业务的顺利完成 ,当然希望选用优质的软件。质量不佳的软件产品不仅会使开发商的维护费用和用户的使用成本大幅增加 ,还可能产生其它的责任风险 ,造成公司信誉下降。在一些关键应用中使用质量有问题的软件 ,还可能造成灾难性的后果。因而软件的质量愈来愈受到广泛的重 视。 软件测试在软件生命周期中占有非常重要的地位 ,是保证软件质量的重要手段。根据 Boehm 的统计 ,软件开发总成本中 ,用在测试上的开销要占 40%~ 50%。现代软件测试不仅仅是在软件开发完成以后来做测试工作 ,而是将测试渗入到软件开发的各个阶段 ,全程控制软件质量。因而 ,为保证软件项目按时、保质在预算范围内完成 ,加强对测试工作的组织和科学的管理就显得尤为重要。 项目管理无处不在 项目管理就是以项目为对象的系统管理方法。通过一个临时性的、专门的柔性组织 ,对项目进行高效率的计划、组织、指导和控制 ,以实现项目 全过程的动态管理和项目目标的综合协调与优化。 项目管理从其本质上讲是一个不断整合和平衡的过程 ,因而非常适合软件测试这种不定因素很多的项目。 软件测试项目常常不能令客户或开发方满意 ,其症结体现在多个方面 ,而解决这些问题需要运用项目管理的方法和理论指导。从知识领域来说 ,项目管理包含整体管理、范围管理、质量管理、时间管理、沟通管理、成本管理、人力资源管理、风险管理、采购管理 9 大知识体系。软件测试涉及客户、开发人员、测试人员三方的沟通交流不够、交流上有误解或者根本不进行交流。测试人员通常对软件测试复杂性估计不足 ,图形用户界面、分布式应用、数据通信、超大型关系型数据库以及庞大的系统规模等众多因素导致软件及系统的复杂性呈指数增长 ,从而对应的测试工作也需要分层次、分阶段进行。而软件项目的日程表也很难做到准确 ,很多时候需要预计和猜测 ,当最终期限迫近和关键时刻到来之际 ,主管人员首先考虑的是压缩测试项目时间。测试过程中 ,需求通常会发生变化使得是测试人员的日程需要重新安排 ,对其它项目产生影响。随着软件复杂程度的加深 ,软件体系越来越庞大 ,软件测试工具在某些测试中是不可或缺的 ,那么采购管理也是必需的。另外 ,软件项目计划阶段低估测试 子项目的费用 ,测试人员专业水平不如开发人员 ,脚本的重用性差、缺陷跟踪 ,需要软件测试强调成本管理、人力资源管理、质量管理与风险管理。 采用项目管理技术 ,软件测试工作有更好的工作能见度 ,对不同的工作任务可改进协调和控制 ,能够缩短产品开发时间 ,能够减少总计划费用 ,提高利润率 ,可保证项目成员有较高的工作热情和较明确的任务方向 ,广泛的项目职责能够加速管理人员的成长 ,实现较好的项目安全控制。 项目管理标准化测试流程 从概念上讲 ,软件测试的项目管理是指为了使软件测试项目能够按照预定的成本、进度、质量顺利完成 ,而对成本、人员、进度、质量、风险等进行分析和管理的活动。它关注的是子系统中人员、过程、产品三要素的互动与变化 ,子系统内部各过程的相互关联、相互作用以及测试管理 子系统与开发管理子系统的相互关联、相互作用。 软件测试中的项目管理 ,特别强调工作分解结构的合理性、项目测试文档的规范、良好的沟通机制与项目成员沟通能力、项目管理工具和测试工具的作用。工作分解结构 (WBS),是进行范围规划时所使用的重要工具和技术之一 ,是面向可交付成果的对项目元素的分组 ,它组织并定义了整个项目范围 ,未列入工作分解结构的工作将排除在项目范围之外。它是项目团队在项目期间要完成或生产出的最终细目的等级树 ,所有这些细目的完成或产出构成了整个项目的工作范围。进行工作分解是非常重要的工作 ,它在很大程度 上决定项目能否成功。 通常 ,每个测试过程有 5 个基本测试文档 :测试计划指明测试范围、方法、资源 ,以及相应测试活动的时间进度安排表的文档 ;测试方案指明为完成软件或软件集成特性的测试而进行的设计测试方法的细节文档 ;测试用例指明为完成一个测试项的测试输入、预期结果、测试执行条件等因素的文档 ;测试规程指明执行测试时测试活动序列的文档 ;测试报告指明执行测试结果的文档。 在软件测试项目中 ,许多专家都认为 :对于成功 ,最大的威胁就是沟通的失败。软件测试项目成功的三个主要因素是用户的积极参与、与开发项目组的协调配合和管 理层的大力支持。三要素全部依赖于良好的沟通技巧。沟通管理的目标是及时并适当地创建、收集、发送、储存和处理项目的信息。有效的沟通管理能够创建一个良好的风气 ,让项目成员对准确地报告项目的状态感到安全 ,让项目在准确的、基于数据的事实基础上运行 ,而不会因为害怕报告坏消息而形成盲目乐观的氛围。 现代项目管理工具提供了项目管理理念和方法 ,可以使我们方便的完成项目管理的过程控制 ,进度、费用跟踪。软件测试工具在适合的项目中 ,可以大大减小工作量 ,并保证测试结果的准确性。 软件测试项目管理是一项系统工程 ,合同签订后 ,项 目经理应拥有一定权利 ,并能及时调动企业资源 ,为项目的按时完成提供必要条件 ,即在项目成员、客户、开发经理、主管人员、服务商等之间定义明确的责权利关系。 我国在经过了软件产品无序竞争阶段 ,已经进入理性化竞争 ,各个企业都在强调软件质量 ,以保证质量作为企业生命线。在这样的大环境中 ,强调软件测试 ,突出软件测试管理 ,大胆地对软件项目分出软件测试子项目 ,并进行项目管理 ,将会得到企业领导的大力支持 ,并且 ,如果项目管理工作做到位 ,将产生事半功倍的效果。