前言

随着时代的发展,软件规模越来越大,复杂程度越来越高,对测试工作也提出了更高的要求,测试领域也随之涌现出了各种各种的理论、方法和工具。这其中很重要的一个分支便是测试管理工具,它主要解决的是测试过程中团队协作的问题,比如缺陷管理、用例管理、测试任务管理等。

目前市面上比较流行的测试管理工具有QC、Mantis、BugZilla、TestLink、Trac、Redmine、 BugFree等。有开源软件,也有商业软件。这些软件的各自侧重点不同:比如Mantis, BugZilla偏重缺陷管理,TestLink则偏着测试用例管理,QC则更加全面,Trac和Redmine项目管理的概念又更强一些。 我们在总结分析这些软件的优缺点基础上,结合自己日常实际工作的需要,设计了一套测试管理软件,这篇文章是在设计这款软件过程中的总结和思考,希望可以 给大家一些启发。

在设计的过程中,我们确立的目标是在一套软件里面可以实现测试全过程的管理。那么,哪些功能是在这个管理过程中必不可少的呢?经过激烈的讨论和不断的修正,我们整理总结出以下九大功能,它们分别是:测试需求管理、测试用例管理、测试套件管理、测试版本管理、测试计划管理、测试执行管理、缺陷管理、发布管理和分析报表。下面笔者这些功能一一阐述。

一、测试需求管理

需求是一款软件产品的灵魂,是开发和测试重要的参照标准。很难想象一个没有需求的软件如何去设计它的测试用例。无论是测试用例,还是缺陷,都是建立在特定的需求基础之上的。因此,一款好的测试管理软件首先具备的便是测试需求管理。

1.1 需求拆分

传统的项目管理流程中,需求往往以需求规模说明书的形式呈现。需求规格说明书比较全面,但缺点是没有拆分为需求点,无法实现对某一个具体的功能点的跟踪。因此在我们设计的测试管理工具中,需求是以需求功能点的形式呈现。这样有利于针对每一个功能点撰写测试用例,并进行测试的跟踪管理。

大模块拆成小需求,小需求拆成需求点,拆分之后,一层层的分级管理便是必不可少的了。为了适应日益复杂的需求和变化响应,需求的模块还需要实现无限级的划分,这样可以形成一颗树状结构,无论从浏览还是管理上都更为灵活和方便。

1.2 需求管理

有了模块之后,紧接着需要实现的便是测试需求的管理。我们需要一个界面来录入需求,常见的字段包括:标题、描述、优先级等。另外也可以对需求进行修改,删除等操作。

1.3 需求搜索

实现了基本的需求维护功能之后,我们还需要实现需求的搜索功能,这样方便我们找到自己想要的需求。

二、测试用例管理

好,我们现在有了测试需求,我们可以为每一个需求撰写测试用例了。测试用例的维护涉及到模块划分、测试用例维护、导入导出和搜索等功能。

2.1用例模块划分

类似于需求的模块维护,用例也需要通过模块的划分来维护用例。在我们设计的软件中,测试用例的模块和需求的模块式分开的。读者肯定会问,为什么还要为用力维护一套模板呢?为什么不重用需求的模块划分呢?这是因为在实际项目中,需求是从用户和产品的角度来看,需求更多的是帮助用户如何达成一个操作,实现一个功能。但是用例设计不止要考虑需求,还需要考虑一些异常情况来设计用例,为用例单独开设模块管理不会影响到原有的需求管理部分。

2.2用例的维护

下面我们要实现的便是测试用例的基本添加,编辑等操作。这个功能在大多有测试用例管理的工具中都会实现,但需要特别说明的是,在绝大多数的管理工具中,测试用例的步骤是没有分开的,每一步的预期甚至也是混在一个字段中。其实这样并不可科学,不仅会降低用例执行的粒度,还会影响后续的一些数据生成,至于是生成什么样的数据,先在这里 卖个关子,后面解释:-)。在我们设计的系统中,用例的步骤和每步的预期是完全分开的。

2.3 用例的导入导出

目前很多公司还是在使用Excel书写和保存测试用例,如果一家公司准备采用一套测试管理系统,将这些用例手工导入将是一项繁重的工作。 因此测试管理工具需要能够将Excel里面的用例导入到系统,同样,也能够将测试用例导出为Excel格式的文件。

从数据库导出Excel的功能还是比较好实现的,Excel的导入功能方面,笔者设计的思路是可以通过excel的VBA编程自动实现数据的获取,并且可以更新回到系统中,这样会更加方便快捷。目前正在研究摸索中。

2.4 用例搜索功能

同需求的搜索功能,我们同样也需要对测试用例进行方便的检索,以便找到自己想要用到的测试用例。

三、测试套件管理

有了测试用例之后,紧接着一个问题会产生,那是如何组织维护这些用例。除了上面所说的模块功能、导入导出和搜索之外,测试套件功能也可以非常方便的帮助测试人员来组织整理自己的测试用例。

测试套件(Test Suite)可能是一个分歧比较多一个概念,在我们看来,测试套件是一个集合,可以方便的将某一些用例按照某个特征组织在一起,方便后续的管理和维护。因此从这个角度来实现测试套件的功能包括测试套件的创建、关联测试用例、测试套件的浏览维护等功能,不再细述。

四、测试版本管理

在目前的软件开发流程中,代码的版本控制已经得到了普遍的应用。 而由此我们可以引申出测试版本这个概念。 一个测试版本可以是对应一个Build,也可以对应一个时间点,测试版本的概念很重要,通过它我们可以明确我们目前测试的范畴,知晓我们需要执行哪些测试 用例。同时开发人员在修复bug的时候,也可以明确当前的修复工作会影响到哪个版本。

4.1 版本和需求、bug的关联

首先我们需要实现的便是测试版本和需求、bug的关联。也是我们在创建一个测试版本的时候,需要确定这个版本都完成了哪些需求,解决了哪些bug,这样界定了我们测试的范畴。下图是我们设计的系统中实现的创建版本时,需求和bug的关联页面。

4.2 版本和源代码管理系统的集成

一个版本肯定对应到源代码管理系统中的某一个路径,一般是对应到类似tags/xxx.1.0.build1类似的 目录。细心的读者可能已经注意到,我们上面图中的源代码和存储地址是以文本框的形式呈现的。这也是我们正在计划实现的一个功能,是源代码的版本可以自动 从源代码管理软件中获取。 比如我可以从Subversion的某一个路径中获得对应的代码版本,这样可以将测试管理系统和代码管理系统进行有机的结合。

上一页12下一页

最新发布

热门文章

热门标签

沪ICP备07036474号 2003-2020 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd.