软件测试管理方法研究与应用

2017-03-23 09:04张峰王斌
科学与财富 2016年34期

张峰+王斌

(91404部队 河北 秦皇岛 066000)

摘 要:随着计算机的广泛应用和计算机科学技术的不断发展,计算机系统的组成也相应发生了许多变化,计算机软件的主导作用愈加明显。软件工程的进一步发展,给软件测试及测试管理带来很大帮助。本文简要介绍了软件测试管理的概念、计划、活动、功能、周期、工作量模型及其应用。

关键词:软件测试管理;软件过程;软件质量

1 软件测试管理的系统活动

实践证明,对软件进行测试管理可及早发现错误,避免大规模返工,降低软件开发费用,为确保最终件质量符合要求,必须进行测试与管理。对于不同企业的不同类产品、同一企业的不同类产品、或不同企业的同一类产品,其各阶段结果的形式与内容都会有很大的不同。所以对于软件测试管理我们除了要考虑测试管理开始的时间、测试管理的执行者、测试管理技术如何有助于防止错误的发生、测试管理活动如何被集成到软件过程的模型中之外,还必须在测试之前,制订详细的测试管理计划,充分实现软件测试管理的主要功能,缩短测试管理的周期。

2.1软件测试管理计划

一个成功的测试开始于一个全面的测试管理计划。因此,在每次测试之前应做好详细的测试管理计划:

首先应该了解被测对象的基本信息,选择测试的标准级别,明确测试管理计划标识和测试管理项。在定义了被测对象的测试管理目标、范围后必须确定测试管理所使用的方法,即提供技术性的测试管理策略和测试管理过程。在测试管理计划中,管理者应该全面了解被测试对象的系统方法、语言特征、结构特点、操作方法和特殊需求等,以便确定必要的测试环境,包括测试硬件/软件及测试环境的建立等等。由于任何一个软件不可能没有缺陷、系统运行时不出现故障,所以在测试管理计划中还必须考虑到一些意外情况,也就是说,当问题发生时应如何处理。因为测试管理具有一定难度,所以对测试管理者应进行必要的测试设计、工具、环境等的培训。最后,还必须确定认可和审议测试管理计划的负责人员。

2.2软件测试管理过程

我们对测试过程中每个状态进行记录、跟踪和管理,并提供相关的分析和统计功能,生成和打印各种分析统计报表。通过对详细记录的分析,形成较为完整的软件测试管理文档,保障软件在开发过程中,避免同样的错误再次发生,从而提高软件开发质量。

2.3软件测试管理内容

具体的测试管理内容有:

测试计划管理:单元测试、集成测试和系统测试的测试计划的录入、修改、删除、查询和打印。

测试用例管理: 测试用例的编号、增加、删除、修改、拷贝和查询;对测试用例的测试情况进行管理,测试状态包括:未测试、测试中、已测试,测试结果为:通过、未实现、存在问题等。

问题报告管理:问题报告处理流程(问题报告→整改报告)、实现问题报告与测试案例的关联。

测试报告管理:生成单元测试、集成测试和系统测试的测试报告。

项目管理:对项目、项目中模块、用户及权限进行管理。

通信管理模块:把测试计划、测试用例等测试信息分发给各测试代理,同时接收各测试代理传送来的测试结果。

测试代理:测试代理负责把测试需求信息接收给测试工具进行测试,并把测试结果发送给测试管理工程数据库中。

除了以上这些,在测试管理过程中还应对人员和环境资源进行管理。

软件测试管理人员:为了实现软件测试管理,需要组成一个专门的测试管理队伍,队伍中的人员都能够胜任他们所担任的角色是很重要的。另外,还需确认每种角色的人员应具有必要的权利以完成他们的责任。同时为了能够获得很高的效率,每个测试管理参与者又都应最大限度地发挥出其最大的技术能力。

环境资源包括硬件资源和软件资源,它们是提供测试管理的基础。每类资源都可以用四个特征来说明:资源描述、可用性说明、需要该资源的时间、及该资源被持续使用的时间。

2.4软件测试管理的主要功能

测试控制对象的编辑和管理:该部分主要是为各测试阶段的控制对象提供一个完善的编辑和管理环境。

测试流程控制和管理:测试流程的控制和管理是基于科学的流程和具体的规范来实现的,整个过程避免了测试人员和开发设计人员之间面对面的交流,减少了以往测试和开发之间难免的摩擦和矛盾,提高了工作效率。

统计分析和决策支持:在系统建立的测试工程数据库的基础上,进行合理的统计分析和数据挖掘。

2.5软件测试管理周期

任何程序,无论大小,都可能会有错误发生。每一个新版本都需要进行新特性的测试和其他特性的一些回归测试。

测试管理人员在接受一个测试管理任务后,除了要制定周密的测试管理计划,还要进行测试方案管理;并且对测试人员所做的测试活动予以记录,做好测试流程的管理。同时,对发现的缺陷予以标识,一方面反馈给提交测试的人员;另一方面将存在的问题和缺陷存入案例库,直至测试通过。

2.6软件测试管理工作量模型的提出

软件测试管理所花费的工作量一般用于:测试、人员、文档料等方面的管理。参考Belady和Lehman模型,我们认为软测试管理工作量模型可以是:

M=P+K×e×p(c-d)+O

其中:M—总的软件测试管理工作量;

P—软件测试工作量;

K—软件测试管理经验常数;

c—软件测试管理复杂程度;

d—软件测试管理人员对软件的熟悉程度的参数;

O—由于不确定因素而带来的额外工作量。

从模型可以看出,如果软件测试管理的方法不好(即软件测试管理过程过于复杂),或者软件测试管理人员对软件不熟悉,不能充分发挥他们的技术能力,那么软件测试管理的工作量或成本将指数地增加。

3软件测试管理的应用

软件测试是一个完整的体系,主要由测试规划、测试设计、测试实施、资源管理等相互关联、相互作用的过程构成。软件测试管理系统可以对各过程进行全面控制。具体的实现过程如下:

1)按照国际质量管理标准,建立适合本单位的软件测试管理体系,以提高本单位开发的软件质量,并降低软件开发及维护成本;

2)建立、监测和分析软件测试过程,以有效地控制、管理和改进软件测试过程,监测软件质量,从而确定交付或发布软件的时间;

3)制定合理的软件测试管理计划,设计有效的测试案例集,以尽可能发现软件缺陷。并组织、管理和应用庞大的测试案例集;

4)在软件测试管理过程中,管理者、程序员、测试员(含有关客户人员)协同工作,及时解决发现软件问题;

5)对于软件测试中发现的大量的软件缺陷,进行合理的分类以分清轻重缓急。同时进行原因分析,并做好相应的记录、跟踪和管理工作;

6)建立一套完整的文档资料管理体系。因为,软件测试管理很大程度上是通过对文档资料的管理来实现的。软件测试每个阶段的文档资料是以后阶段的基础,又是对前面阶段的复审。

4总 结

软件质量优劣直接影响着计算机应用的深度和廣度。因而科学地对软件进行测试和进行软件测试管理是十分必要的。我们认为软件测试管理已变得越来越重要,我们也将运用测试管理工具,对目前正在进行的中间件、构件库以及嵌入式软件测试等科研课题和一些中、大型软件项目进行有序的测试管理,使我们的工作更有特色。所以,只有科学地进行测试管理,才能促进软件开发、测试单位重视全面质量管理、促进软件测试管理队伍的成长、促进软件质量的提高、进一步推动软件测试行业产业化过程。

参考文献

[1] 郑人杰,计算机软件测试技术,清华大学出版社,1992.

[2] 汤庸,软件工程方法学及应用, 中国三峡出版社, 1998.

[3] 朱三元,软件质量及其评价技术,清华大学出版社, 1990.