工欲善其事,必先利其器。测试管理平台就是测试过程中的“器”,它是贯穿测试整个生命周期的工具集合,它主要解决的是测试过程中团队协作的问题,比如缺陷管理、用例管理、测试任务管理等。目前市面上比较流行的测试管理工具有QC、 Mantis、 BugZilla、TestLink、Redmine等。有开源软件,也有商业软件。这些软件的各自侧重点不同:比如Mantis、BugZilla偏重缺陷管理,TestLink则偏重测试用例管理,QC则更加全面,Redmine项目管理的概念又更强一些。下表从以下九大功能对各个工具进行对比:测试需求管理、测试用例管理、测试套件管理、测试版本管理、测试计划管理、测试执行管理、缺陷管理、发布管理和分析报表。
国内外有很多测试管理平台,比如Jira, IBM RQM等。但大多数平台为商用的不开源的,今天我们主要介绍几个开源的平台,商用平台仅以QC为例。
1. TestLink:http://www.testlink.org.cn/
TestLink是开源的基于web的测试用例管理系统,主要功能有产品需求管理、测试用例管理、测试计划管理,并且还提供了一些简单的统计功能。
需求管理:维护用户需求,并可做到与测试用例关联,及统计用例对需求的覆盖度。
测试用例管理:可制定测试计划,维护测试用例及生成测试用例集,记录测试执行结果。
测试用例输入模式为:
产品名称 | 测试项 | 功能测试点 | 功能测试点摘要 | 测试步骤 | 期望结果 | 关键字 |
---|
度量分析:包括用例执行进度,主要问题存在点,哪些用例无法执行。及通过分析用例执行结果,报告哪些需求未被测试到,分析测试风险。
可与Mantis(http://www.mantis.org.cn/)或bugzilla(https://www.bugzilla.org/)集成进行缺陷管理。
2. QC:
QC是HP提供的企业应用级商业软件,提供项目与组合跟踪功能、版本管理程序、具体需求、测试管理程序、手动测试执行过程、缺陷跟踪程序、测试自动化规划/执行支持服务以及跨项目报告、资产共享和重复利用、开发过程洞察和问题根因分析。
对于需求和测试,它可以做到:
应用QC的测试执行过程如下:
1、检查应用程序,以确定测试范围,包括测试目标,测试策略。
2、构建Requirements Tree以定义全部的测试需求。
3、为需求树中的每个需求创建详细的测试需求列表。描述每一个需求,为之分配优先级,必要时添加附件。
4、生成报告和图表以助于分析测试需求。复审需求以确保该需求适宜测试范围。
5、检查应用程序、系统环境和测试资源以确定测试目标。
6、将应用程序划分为模块或功能以备测试。构建Test Plan Tree,将应用程序划分为测试单元或主题。
7、为每个模块确定你所需要的测试类型。向Test Plan Tree中的每个测试添加基本定义。
8、每一个测试连接到相应的一个或多个需求。
9、在TestPlan Tree中,通过为测试添加测试步骤开发手度。测试步骤描述了每一个测试的测试操作、需要检查的点和预期结果。然后确定哪些测试需要被自动化。
10、可集成内部或第三方测试工具,应用第三方测试工具为需要自动化的测试创建测试脚本。
11、生成报告和图表以助于分析测试计划数据。复审测试以确定该测试适宜测试目标的程度。
12、定义多个测试集以用于在项目中达到各种各样的测试目标。确定在每个测试集中包括哪些测试 .
13、确定测试执行的时间并给测试人员分配任务。
14、在相应的测试集中自动或手动执行测试。
15、查看测试运行的结构以确定是否在应用程序中发现了缺陷。生成报告和图表以分析测试运行结果。
16、项目相关人员可以在测试过程中的任意阶段添加缺陷。
17、复审新缺陷并且确定哪些缺陷应当被修复。
18、改正那些需要修复的缺陷。
19、测试新创建的应用程序。继续以上过程直到被修复。
20、生成报告和图表以助于分析缺陷修复的过程,还可以帮助确定何时发布相应的程序。
从测试执行过程可以看到QC提供了强大的分析统计能力——分析需求,分析测试计划,分析测试执行及结果,分析缺陷修复。
3. Redmine:http://www.redmine.org.cn/
Redmine是用Ruby开发的基于web的项目管理软件,是用ROR框架开发的一套跨平台项目管理开源系统。还可以集成其他版本管理系统和BUG跟踪系统,例如Perforce、SVN、CVS、TD等等。这种 Web 形式的项目管理系统通过“项目(Project)”的形式把成员、任务(问题)、文档、讨论以及各种形式的资源组织在一起,大家参与更新任务、文档等内容来推动项目的进度,同时系统利用时间线索和各种动态的报表形式来自动给成员汇报项目进度。Redmine较适用于100人以内的项目。Redmine支持如下功能:
页面如下所示:
4. 禅道: http://www.zentao.net/
禅道是国产的一个比较优秀的开源测试管理工具,它实现了需求到任务,需求到用例及用例到bug之间的相互跳转,从产品、研发和测试分视图进行管理,做到了以下几方面的管理功能:
1. 产品管理:包括产品、需求、计划、发布、路线图等功能。
2. 项目管理:包括项目、任务、团队、build、燃尽图等功能。
3. 质量管理:包括bug、测试用例、测试任务、测试结果等功能。
4. 文档管理:包括产品文档库、项目文档库、自定义文档库等功能。
5. 事务管理:包括todo管理,我的任务、我的Bug、我的需求、我的项目等个人事务管理功能。
6. 组织管理:包括部门、用户、分组、权限等功能。
7. 统计功能:丰富的统计表。
8. 搜索功能:强大的搜索,帮助您找到相应的数据。
9. 灵活的扩展机制,几乎可以对禅道的任何地方进行扩展。
10. 强大的api机制,方便与其他系统集成。
以下各图显示了各个视图下的可见项,尤其三层打开式使各视图下结构清晰,跳转方便。
产品视图:
开发视图:
测试视图:
事务管理:
5. TestCenter
TestCenter是国内一个新兴的开源测试管理软件,可以支持需求管理、测试管理和缺陷管理,甚至可以支持事务管理。但经过试用,功能多而不细,故不作详述。
缺陷跟踪
测试管理软件的另一个方面是缺陷跟踪。缺陷跟踪的软件比较多,国外比较著名的有Bugzilla,mantis (其他还有),国内有bugfree(原作者后来自创了禅道)。接下去我们重点介绍下Bugzilla和Mantis。
1. Bugzilla
完善的Bug跟踪体系,包括报告Bug、查询Bug记录并产生报表、处理解决、管理员系统初始化和设置四部分. Bugzilla具有如下特点:
2. Mantis
Mantis是基于角色和项目模块为划分的BUG跟踪系统。Mantis基本特性有:
各角色权限如下表:
View Bug | Report Bug | Update Bug | Assign Bug | Resolve Bug | Close Bug | Reopen Bug | Delete Bug | |
---|---|---|---|---|---|---|---|---|
Viewer | Y | N | N | N | N | N | N | N |
Reporter | Y | Y | N | N | N | N | N | N |
Updater | Y | Y | Y | Y | Y | Y | Y | N |
Developer | Y | Y | Y | Y | Y | Y | Y | Y |
Manager | Y | Y | Y | Y | Y | Y | Y | Y |
Administrator | Y | Y | Y | Y | Y | Y | Y | Y |
作为商业级的应用软件,QC功能最为强大,最大的优势在于其贯穿整个研发流程的透明化,及其详尽的报告内容。Testlink很易用,但是缺少缺陷管理这个重要指标,必须与其他工具集成方可。国内测试管理软件中禅道功能很全,甚至包含了事务管理和文件管理,也能与敏捷开发很好地对接,比如使用了燃尽图来标识项目过程。
TAPD与这些优秀的测试管理软件相比,在以下几方面有待提高:
1、项目树形结构及项目间关联关系待提升;
2、没有与SVN连接,无法做到迭代与代码提交的对应;
3、项目过程不透明,无法透视开发过程完成率和测试完成率;
4、无预警制度,没有在项目脱离正常开发时自动报警;
5、没有与自动化用例关联,不可自动触发自动用例的执行。
测试用例管理类:
全能类: