软件测试项目管理研究*

2015-12-26 09:35童纪新马晶晶
项目管理技术 2015年1期
关键词:测试项目测试人员软件测试

童纪新 马晶晶

(河海大学商学院,江苏 南京 211100)

0 引言

信息技术飞速发展给人民生活带来日新月异的变化,软件日益成为生产生活中不可缺少的重要工具,应用于社会生产生活的各个领域。软件的性能直接影响着生产效率,软件质量成为人们关注的焦点,也是软件项目工作的重点。软件项目的测试工作不仅能够帮助研发者监测软件是否满足开发需求,符合用户需要,同时能够检测出程序中的Bug,并督促测试人员及时调试,减少产品在使用过程中出现的技术错误。测试作为项目中的一个重要环节,会因为管理不当而变成一项浪费成本的无用工作[1]。测试人员的工作积极性也会因为测试管理不善而大打折扣,并直接影响项目工作进度,造成人力资源浪费。测试工作由于对产品质量的重要性而不可取代,理应被视为项目而进行单独的管理。测试工作常常因为多种原因不能够让客户满意,使用科学的项目管理方法对其进行有效规划和管理能够提高测试工作效率,明显降低研发过程中出现的Bug 数量,缩短软件产品的研发时间,保证产品研发质量,降低项目研发风险,并切实提高企业利润率。

本文根据软件测试项目管理工作经验,针对测试项目中存在的问题,从项目管理的角度,对测试项目管理工作的规划和实施提出具体建议。

1 测试项目管理价值分析

1.1 测试项目问题分析

测试人员在项目第一线的日常工作中积攒了大量测试经验,同时也总结了大量具有代表性的测试常见问题,测试项目管理的目标就是避免并解决这些问题。根据项目经验积累和相关文档材料,表1 对测试项目常见问题进行了列举。

表1 测试项目常见问题汇总表

1.2 测试项目管理的价值

测试项目管理已被大量的测试工作经验证实有着十分重要的现实意义,它能有针对性地解决上述测试的常见问题,并有效克服测试工作因缺乏管理而造成的不足,这些构成了测试项目管理重要价值的前提,表2 是测试项目管理价值分析。

表2 测试项目管理价值分析

现代项目管理理论为测试项目管理的成功提供了科学的原理和工具,合理运用相关理论可为提高测试工作的质量提供保证,在以用户需求至上的服务理念先行的软件项目中,注重质量控制是十分有益的。在这样的大环境下,只有突出强调测试项目管理,充分发挥测试项目管理对测试工作的改善作用,才能保证最后交予用户的软件产品质量的优良。

2 测试项目管理工作框架

测试项目管理基本流程是开展管理工作参考的时间轴,本文论述的测试项目管理的基本内容则根据项目组常使用的测试模型内涵决定[2]。测试项目管理基本按照接手项目、执行项目和项目总结的流程来展开日常工作,具体流程见图1。

图1 测试项目管理基本流程

V 模型是测试项目中采用的最基础模型,该模型由学者Paul Rook 提出,指明了一种至左向右的开发过程和测试行为,并明确标明各个级别的测试行为,同时也清晰描述了开发流程中产生关系的各个代表性阶段。学者Marick 在V 模型的基础上进一步提出了X 模型,该模型更加贴近测试实际,它旨在解决一些实际测试问题而展开理论演化论述,其优点在于较好地解决测试与开发的交接过程,尽可能地减少额外的成本投入。以上两种测试模型都是测试环节采用的基础模型,但实际项目最终采用的测试模型必须与实际工作能力和需求相匹配。一些规模较小的项目通常会采取减少组件使用数量的方式来简化工作,较为完善的测试项目通常会根据图2 的模型进行。

图2 测试基本模型

3 测试项目管理具体内容

本文根据上述测试项目管理流程和测试基本模型的内涵对测试项目管理基本内容展开研究,具体包括需求、计划、案例、执行、缺陷、报告、团队以及项目管理工具八个环节的管理工作,测试项目管理体系见图3[3]。

图3 测试项目管理体系

(1)测试项目需求管理需从明确测试需求做起,以测试需求为工作的范围和第一准则,清晰的测试需求是高效工作的前提[4]。测试需求管理的目标是确保准确无误的测试结果输出以及测试被顺利通过。从某种意义上来讲,需求就是用户的需求,需求管理的首要任务,即及时发现系统设计与用户真实需求间存在的误差。准确无误的用户需求依赖于项目组与用户的多次有效沟通,依赖于用户需求被正确完整地解读。项目组通过需求调研、项目交流、阅读和获取相关文档数据信息等形式来获取用户需求。需求的设计文档、用户的业务资料和用户的访谈活动都是需求的重要来源和途径。项目组必须严格按照了解需求、设计需求、实现需求的流程来完善系统设计,而不能被实现的系统误导,造成损失。项目组必须提高对测试项目需求管理重要性的认识,不遗余力地做好需求管理工作,提高项目的工作质量,避免后期因需求管理工作不到位而造成的开发和交流成本的浪费。

(2)测试项目计划管理的首要任务就是确定项目的测试目标。测试计划管理帮助项目明确工作范围,对项目测试过程中采用的工作策略和技术方法做出具体规定,并做好项目开展所必需的资源分配和进度安排方案。项目的测试计划一般通过便于交流阅读的文档形式表达出来,文档材料是项目按照既定目标开展的宏观总领。项目测试计划管理旨在替项目运行提前做好各类支持工作和部署安排,它具有策略性、系列性、目标性的特点,是整个项目的核心,必须不断根据变化进行修改和精确化,以便团队充分交流。

测试项目计划管理的工作包括:①收集用户的细化系统功能需求、相关数据以及接口数据;②进行用户质量要求分析,功能使用频度和功能失败风险分析,通过风险分析,对项目过程中可能出现的问题进行详细考虑并及早部署解决,对风险级别进行分类并对各类型风险提出合理的应对方针,以降低因为风险和不可控因素造成的过多成本投入,同时也必须为项目配备及时更新维护的风险列表;③将一些粗略的测试策略纳入考虑,进行成本估算,测试策略是指为了实现某一特定测试目标而采取的测试方案,其阐述了测试工作将采用的模型、方法、具体的测试过程以及突发情况的处理方式;④测试的目标由测试需求决定,而测试项目的工作范围则必须根据软件企业的发展程度和测试项目组的实际工作能力来具体界定;⑤测试项目计划文档的主要内容必须包含测试项目计划管理工作的所有部署安排,并涵盖最终交予用户的产品使用说明、风险分析、风险处理对策和交流方式等。

(3)测试项目案例管理的任务是完成测试项目技术的追踪工作,协助项目验证测试需求和开发设计,为测试人员的工作提供便捷。测试案例是从大量的输入输出组合中筛选出来满足用户需求的一些组合描述,它便于及时发现错误。测试案例中必须首先架构起清晰的框架,由测试决策决定测试的颗粒度,好的测试案例应及时更新入库作为项目经验,以便新的项目采集使用。

(4)测试项目执行管理的目的是将测试项目明确划分工作阶段,选用可行的案例,同时落实好测试项目的环境及相关工作安排。在项目计划期间,对开发的情况并没有完整地了解,因此在项目执行期间及时准确地调整项目计划是十分必要的。明确的测试执行计划能够保证项目内各个工作小组有效地进行工作协调,并有效地实现内部人员的测试资源共享和外部人员的交互。测试项目执行管理具体的工作内容包括:①书写详细执行计划;②搭建测试执行包;③维护环境工作控制记录表。

(5)测试项目缺陷管理工作旨在收集当前开发代码中的缺陷,并根据缺陷类型制定具体处理对策。项目开展过程中出现的每一个缺陷都必须得到严格的追踪,直到完全处理结束为止,项目中积累的缺陷管理经验和维护记录可以为后续项目提供参考和工作依据。

(6)测试项目报告是项目宝贵的知识资产,是对测试工作的及时汇报总结,须采用合理和高效的方法对其进行保管和存储。它通常以书面文档的形式,通过数据分析决定软件是否能成功发布,是后期维护软件的指导性材料。测试项目报告是从测试角度对系统进行的专业评定,能够体现项目是否按照计划要求完成任务,按阶段制定的测试报告能够为项目的测试计划进一步修正更新提供依据。

(7)一个成功的测试项目离不开良好的团队管理,融洽的工作小组氛围是高效完成项目的前提条件。团队交流的主要形式为项目会议,文档书面材料交流和工作人员的个人沟通。项目人力资源部门须加强对人员流动的管理,尽可能使得工作的安排对参与者有一定的挑战性[5]。项目管理者在注意保持可控的同时,要积极为测试人员提供发挥的空间,并采取合理的途径引导测试人员主动接受具有挑战性的任务安排。

(8)测试项目管理须有相关工具的技术支持,主要包含一些办公自动化软件以及企业自身研发的用于测试的软件和一些通用的专业测试软件,获得良好的测试项目管理效果,需要性能优良的基础技术设施作支持。

4 结语

项目测试人员的技术和业务水平决定了测试工作的质量好坏和项目进程的快慢,在测试项目开展前应集中对测试人员进行测试培训。项目开展的前提条件是测试人员必须在测试开展之前熟悉系统的整体结构和性能,同时必须明确测试职责、任务分配和分工安排,学习和掌握测试工具和方法的使用,了解公司常用的测试流程和基本的测试项目管理方法[6]。在平时的管理工作中,项目组也要注意拓展测试人员的业务能力。

在软件测试项目过程中,测试人员要注重对产生的Bug 进行有效合理的管理,测试管理人员应注重对测试项目全过程进行跟踪管理,监控并及时调整,使测试项目按照既定的合理的测试目标开展。测试环境直接影响着项目能否良好进行,项目组应为测试工作人员创造适宜的测试环境,并配备专业维护人员及时应对随时会产生的环境问题。测试项目管理必须明确测试工作的目标计划,解决以往测试工作目标不明确,范围制定不标准的问题,使项目严格按照计划和目标进行,使项目能够得到应有的支持资源。项目中经常出现开发人员和测试人员工作不协调的问题,原因归咎于对测试项目管理工作的错误定位,甚至对测试项目管理工作的重要性认识不足,事实证明测试项目管理可以降低项目质量风险,测试项目管理中注重收集测试数据的行为将有助于在软件企业内部建立起质量控制的企业文化。

测试项目管理不仅可以从上述要素划分的角度展开,同时也可以采用基于项目运行时间顺序的方法进行开展。无论采用哪种方法,测试项目管理必须始终贯穿于软件项目的全过程,这已成为一种发展趋势。随着软件企业对测试工作的愈发重视,软件测试项目管理将在IT 产业发挥不可替代的重要作用。同时,建立起测试项目管理工作规范制度,以及用于检验测试项目管理成效的评价体系也已成为完善软件测试项目管理工作的一部分,只有这样,才能在合理范围内充分发挥测试项目管理的作用。

[1] 张保军. 谈软件项目的测试管理[J] . 项目管理技术,2008 (4):59-62.

[2] 尹福青,王一宁,李红生. 基于软件测试的项目管理研究[J]. 信息技术与信息化,2010 (5):64-65,81.

[3] 叶言苓,崔彦军. 软件测试管理的研究与应用[J]. 计算机应用与软件,2003 (9):17-18,71.

[4] 邓琨,刘星妍. 如何对软件测试进行管理[J]. 黑龙江科学,2010 (3):56-57,60.

[5] 黄莹. 软件测试技术与测试管理[J]. 工业控制计算机,2003 (5):36-37,47.

[6] 曹玉红. 软件测试需要项目管理[J]. 软件测试,2004(11):78-79.

猜你喜欢
测试项目测试人员软件测试
我国金融科技“监管沙盒”测试项目准入标准制度研究
移动应用众包测试人员信誉度复合计算模型研究
基于OBE的软件测试课程教学改革探索
篮球半场往返运球上篮的训练方法——体育中考篮球测试项目训练心得
航天软件测试模型构建与应用
EXCEL和VBA实现软件测试记录管理
浅析软件测试中的心理学应用
软件测试工程化模型及应用研究
纤检机构管理信息系统标准项目库存在的问题及改进建议
对《国家学生体质健康标准》测试的一点思考和建议