基于Quality Center的团队测试管理的研究与应用

2014-08-27 04:10曹晓青
卷宗 2014年7期
关键词:测试工具软件测试

摘 要:信息时代对软件产品的要求逐渐提高,软件质量直接影响着软件在市场上的生存,这同样给软件测试工作带来新的挑战。测试周期的增长、测试团队规模的扩大等问题引发了测试管理方法的革新。引入软件测试工具,可以辅助解决团队协作式的软件测试的管理问题。惠普公司的Quality Center整合了软件测试全过程,为建立测试需求、制定计划、编写用例、用例执行与缺陷反馈提供全面支持。文章结合企业中实际的测试工作,给出了基于Quality Center的测试管理解决方案。

关键词:软件测试;测试管理;测试工具;Quality Center

软件开发团队的质量意识不断提升,团队对测试的重视与依赖程度也逐步提高。软件质量是各种特性的复杂组合,软件测试是软件质量保证的一个重要环节,通过软件测试来验证软件是否满足了需求,验证产品是否满足内部质量和外部质量。

复杂的项目和有限的工期,要求测试人员用更短的时间、更高的效率进行软件测试。测试人员组成的团队,需要有效而明确的管理。软件测试管理是一种活动,可以对各阶段的测试计划、测试用例、测试流程、测试文档等进行跟踪、管理并记录其结果。随着软件产品的迅速发展,软件复杂度逐渐提升,这给软件测试带来了更多挑战,测试的组织与执行成为软件工程的重要部分。

借助工具,可以使测试管理可视化,协助测试顺利进行。在IT企业的软件测试团队中,结合软件测试理论与方法,适当选择工具软件,可以促进企业工作规范化,提升团队工作效率,让多人协作完成复杂测试工作成为一项管理清晰、目标明确的系统工程。

1 Quality Center简介

Quality Center是HP(惠普)公司的软件测试管理产品,该产品前身是Mercury Iteractive(美科利)公司的Test Director,后被惠普公司收购,正式命名为HP Quality Center(后文简称QC)。QC是一个基于Web的测试管理工具,可以组织和管理应用程序测试流程的所有阶段,包括指定测试需求、计划测试、执行测试和跟踪缺陷。此外,通过Quality Center还可以创建报告和图来监控测试流程。

QC功能比较丰富,善用QC可以完成复杂的测试管理工作。相比其他过程管理与缺陷管理软件,QC是一个“重量级”的软件帮手。介于使用成本的限制,更适合于企业级应用。在系统测试的组织与管理方面,更显优势。

2 使用QC管理系统测试

QC软件模块较多,本文从最实用模块入手,主要包含版本管理、测试需求、测试版本管理、测试用例、测试执行与缺陷管理六个方面,完成整个测试过程的监控、管理与执行。下文将通过图文描述,展示具体的操作过程与方法。该测试方法的解决方案经过实际系统测试工作的检验,是一种有效的测试管理手段。

2.1 权限管理——自定义中的“组”

测试管理的主体是“测试人员”,测试人员在测试团队中有不同的分工,测试经理、测试用例设计人员、测试用例执行人员各司其职。根据项目复杂度的区别,人员配置会有不同。

测试经理的职责是制定测试计划和进度并及时反馈、建立与维护测试基线、团队成员能力了解与工作安排等[4];测试用例设计人员应掌握项目的具体细节和操作流程,设计出合理用例。在实际工作中,存在着人员复用情况。管理与设计人员需要拥有操作QC的较高权限。测试执行人员根据设计的用例进行执行,对整个测试需求、用例的修改需要较为慎重,所拥有的权限应较低。可以根据实际项目的人员分工设施操作权限。

设置权限的方法如下,管理员账号登陆,点击右上方“工具”--“自定义”,出现权限管理界面。点击“组”,可以建立或修改权限分类。点击“项目用户”,可以添加、编辑和删除用户,并确定测试人员所属的组。

2.2 测试需求——QC中“需求”模块

项目需求不同于测试需求,不能够指导实际的测试工作。而如何将项目需求转化为测试需求,考验着每一个测试经理的工作能力。使用QC,可以清晰地梳理测试需求,是需求处理工作的得力助手。

QC支持以树状结构建立需求,并为每一个需求分配ID。实际测试过程中,可以将“需求”模块用作测试需求的梳理,结合整体需求文档建立所需要测试的需求。每个功能需求均须有测试需求对应,根据实际情况,功能需求可能需要对应多个测试需求来进行测试。

2.3 测试版本——QC中“版本”模块

测试工作非一蹴而就,测试需求与用例都可能存在多个版本。可以在QC的“版本”模块建立相应的测试版本。版本名可以根据项目具体需要确定。在版本的下一级建立循环以表明测试的轮次,可以在每一轮次中,记录本轮次的开始日期和结束日期。

这里提供一些实用技巧:

当系统测试只涉及一个基线时,可以使用“輪次_基线”来命名测试轮次当系统测试包含几个基线时,可以使用“轮次”作为测试轮次名,在详细信息中写明所有系统的基线。在“详细信息”中写明所有系统的基线。

可以在每一轮次中,记录本轮次的开始日期和结束日期。

建议使用“系统名_模块名_基线日期”来规范基线名称。

2.4 测试用例设计——QC中“测试计划”模块

用例编写是测试工作的核心任务之一。

测试计划中包含所编写的所用用例,并可以控制用例的版本。介于QC的测试实验室部分展示不方便,所以实际的执行结果,也会体现在测试计划之中。

2.4.1 从“需求”导出“测试计划”中的用例

“需求”模块可以直接转换为测试计划中的用例或者文件夹,右键点击要转换的需求,选择“转换为测试..”,之后会弹出对话框,可以根据需求粒度,来选择转换方式。可以将最底层子需求转换为设计步骤、测试或主题。当需求较复杂,未拆分到具体步骤时,建议选择的是“将底层的子要求转换为测试”。转换后,测试计划中,就会生成与需求对应的测试主题,根据具体需求可以增减主题,调整目录结构,设计具体的测试用例。

2.4.2 关联用例与需求

设计用例时,可以让用例与需求关联,这样可以清晰显示测试需求的覆盖度与完成度。在每个用例中,点击“需求覆盖”,然后点击“选择需求”,右侧会出现具体的需求,选择相应需求则可以将此需求关联到用例中。

2.4.3 用例设计

具体到每一个用例,可以分为“步骤名称”“描述”和“预期结果”三个部分。不同项目对此三个模块的应用方式不同。以某具体项目为例,定义用例编写规范如下:

步骤名称:以步骤编号开头,并简要描述步骤执行的意义

描述:此步骤执行的具体方法,根据此描述,可以指导测试的输入

预期结果:这部分填写实际测试结果,记录真实的测试情况

2.4.4 保存每一轮次的用例

QC的测试实验室模块对测试结果的保存有待优化,所以,在非自动化执行的测试中,建议项目选用测试计划模块保存用例结果。值得注意的是,如果选择在测试计划中呈现具体的执行结果,即将“预期结果”填写为实际执行结果时,一定要注意:对于多轮测试时要复制测试计划中的用例,并单独与轮次关联和命名。

2.4.5 测试执行——QC中“测试实验室”模块

QC设计测试实验室模块是希望用此模块来记录实际测试的执行情况。但因为展现不清晰,所以,实际测试结果记录在了测试计划的“预期结果”中。这部分内容可以根据项目具体调整。此外,测试实验室还有以下作用:管理每一轮测试所执行的用例,监控本轮次用例状态、测试进度,以及分派测试任务。

测试实验室可以根据测试计划,来建立测试用例集。通常,测试计划的树状结构和测试实验室的树状结构是一致的,测试计划中最底层文件夹,对应测试计划中的一个测试集。当然,也可以建立一个测试集,将测试计划中所有的用例放置在一个测试集中,并分配测试给相关测试人员。具体建立测试集的方法如下:根据测试建立测试文件夹,在测试文件夹下建立测试集,并使用“选择测试”将测试计划中的测试用例拖入相应测试集中,分配测试给相关测试人员。

在测试过程中根据测试用例的实际执行情况,由测试人员将测试用例的状态置为:

测试未执行,状态为“No Run”

测试正在执行,状态为“Not Completed”

测试执行完成并通过,状态为“Pass”

测试失败,状态为“Failed”

2.5 缺陷管理——QC中“缺陷”模块

使用工具管理缺陷,可以清晰地向开发人员反馈问题,记录问题沟通和修改状况,是测试历史过程的重要参考。

缺陷由测试人员根据实际情况填写,进入“缺陷”模块,点击“新建缺陷”,并根据提示填写“摘要”、“测试版本”、“测试轮次”、“测试日期”、“测试者”、“模块”、“缺陷状态”、“严重程度”、“原因分类”以及“描述”,并将缺陷与引发此缺陷的测试用例关联起来。在笔者工作过程中发现,缺陷的描述越清晰对开发人员定位问题越有帮助。

一个完整的缺陷描述应包含以下元素:

测试数据:运行该测试用例时建立的数据,如指令内容、输入字符串等。

测试步骤:执行该测试用例的操作过程。如果是前台程序,需要详细描述打开界面的title、录入的内容、点击的按钮等;如果是后台程序,需要详细描述测试环境(服务器、环境变量)运行的指令、SQL语句等。

期望结果:根据需求确定该测试用例的预期。

实际结果:测试用例执行后的真实结果 试用例执行后的真实结果,可以用文本形式或截图形式来展现。

3 结论

QC工具拥有自身的一些特点,会给测试工作带来一定影响。通过企业级项目测试的应用,发觉QC最大的优点是使得工作分配与测试用例完成情况可视化,并可以清晰地梳理测试用例等。而同样有QC带来的缺点,最显著的缺点是网页反应慢,操作耗时长,贴图不方便,内容导出困难等。

在笔者工作的测试团队中,同样一个项目的测试人员来自不同的部门,甚至所属不同城市。这时,测试的管理是非常棘手的问题。多人合作的项目测试,使用QC管理带来的好处完全弥补了它的不足。使用QC进行系统测试的维护和管理,能够达到降低沟通成本、明确任务划分、实时反馈测试问题的良好效果。

参考文献

[1]苏秦,何进,张涑贤.软件过程质量管理[M].北京:科学出版社,2008.

[2]吴慧韫,李卓群.基于H 模型的软件测试管理应用模型研究[J].计算机工程与设计.2006,27(11):1993-1995.

[3]Black.R,龚波.软件测试过程管理[M].北京:及其工业出版社,2003.10:1-53.

[4]http://www.chinatesting.cn

作者简介

曹晓青,女,中国民航信息网络股份有限公司,工程师,学士,研究方向为管理科學与工程。

猜你喜欢
测试工具软件测试
基于OBE的软件测试课程教学改革探索
Http并发连接测试工具
EXCEL和VBA实现软件测试记录管理
关于软件测试技术应用与发展趋势研究
刍论软件工程开发与测试的有效关联
基于移动平台APP测试
手车式真空断路器回路电阻测试电流线接头研究
福禄克推出先进的连接式测试工具系统
智能电能表软件测试技术概述
《软件测试》课程教学策略研究