功不求戾,但求有恒。大家好,在翻阅旧文档的时候,发现一篇十几年前的干货,大概是2012左右,一款测试管理工具的介绍,虽然时过境迁,经过这些年技术的迭代,已经有了很多代替testlink的工具或者平台,但是testlink的流程线简洁明了,操作方便易用,数据库表的设计依然还是有很多值得参考的地方,如果有小伙伴的公司或者企业中有需要自研测试管理工具或者平台的,可以进行参考,希望能给大家带来帮助,不过现在大家各自的企业都是使用的什么工具或者平台来进行测试管理的呢?

前言

测试管理工具,是指用工具对软件的整个测试输入、执行过程和测试结果进行管理的过程。可以提高回归测试的效率、大幅提升测试时间、测试质量、用例复用、需求覆盖等。

     TestLink用于进行测试过程中的管理,通过使用TestLink提供的功能,可以将测试过程从测试需求、测试设计到测试执行完整地管理起来,同时,它还提供了多种测试结果的统计和分析,使我们能够简单地开始测试工作和分析测试结果。而且,TestLink可以关联多种bug跟踪系统,如Bugzilla、mantis和Jira、readme.

TestLink是sourceforge的开放源代码项目之一,是基于PHP开发的、WEB方式的测试管理系统,其功能可以分为两部分――管理和计划执行。

  管理部分,包括产品管理、用户管理、测试需求管理和测试用例管理;

  计划执行部分,包括测试计划并执行测试计划,最后显示相关的测试结果分析和测试报告。

 

TestLink的主要功能包括: 

  • 测试需求管理 
  • 测试用例管理 
  • 测试用例对测试需求的覆盖管理 
  • 测试计划的制定 
  • 测试用例的执行 
  • 大量测试数据的度量和统计功能 

TestLink的主要特色包括

  • 支持多产品或多项目经理,按产品、项目来管理测试需求、计划、用例和执行等,项目之间保持独立性;
  • 测试用例,不仅可以创建模块或测试套件,而且可以进行多层次分类,形成树状管理结构;
  • 可以自定义字段和关键字,极大地提高了系统的适应性,可满足不同用户的需求;
  • 同一项目可以制定不同的测试计划,可以将相同的测试用例分配给不同的测试计划,支持各种关键字条件过滤测试用例;
  • 可以很容易地实现和多达8种流行的缺陷管理系统(如mantis、bugzilla、Jira、readme等)集成;
  • 可设定测试经理、测试组长、测试设计师、资深测试人员和一般测试人员等不同角色,而且可自定义具有特定权限的角色。
  • 测试结果可以导出多种格式,如HTML、MS Excel、MS Word和Email等。
  • 可以基于关键字搜索测试用例,测试用例也可以通用拷贝生成等。

在本文接下来的部分里,将详细地介绍使用TestLink来进行测试管理的完整过程。

 

一、登录

访问本地搭建的testlink地址http://localhost/testlink/login.php,根据你的帐户和密码登录TestLink首页面。如下图所示:

首次登陆:可以注册,可以使用默认的admin/admin

 

测试管理流程

 

 

二、初始设置(设置用户、产品)

2.1设置用户

      在TestLink系统中,每个用户都可以维护自己的私有信息。admin可以创建用户,但不能看到其它用户的密码。在用户信息中,需要设置Email地址,如果用户忘记了密码,系统可以通过mail获得。

TestLink系统提供了六种角色,分别是tester、guest、tester、 test designer 、senior tester 、leader、admin。相对应的功能权限如下:

6个用户级别:

Guest:可以浏览测试规范、关键词、测试结果以及编辑个人信息 ;
Tester:可以浏览测试规范、关键词、测试结果以及编辑测试执行结果;
Test Designer:编辑测试规范、关键词和需求规约;
Senior Tester:允许编辑测试规范、关键词、需求以及测试执行和创建发布 ;
Leader:允许编辑测试规范、关键词、需求、测试执行、测试计划(包括优先级、里程碑和分配计划)以及发布 ;
Admin:一切权力,包括用户管理 ;

 

同时,支持不同地域用户对不同语言的需求,可以根据用户的喜好对用户提供不同的语言支持。

 

2.1.1管理员创建新用户

创建用户:

2.1.2 用户自注册

注:注册成功的用户默认角色为 guest

 

2.2产品管理

2.2.1测试项目管理

     TestLink可以对多项目进行管理,而且各个测试项目之间是独立的,不能分享数据,但只有admin级的用户可以设置项目。Admin进行项目设置后,测试人员就可以进行测试需求、测试用例、测试计划等相关管理工作了。

1)初次登录系统后,页面为添加项目页面,如下图:

如果选中“启用产品需求功能”,该测试项目的主页将会显示 产品需求 区域。默认未选中。

如果选中“启用测试自动化 (API keys)”,在创建测试用例时,会出现 测试方式 下拉选择框, 包括 手工 和 自动的 两个选项;如果不选,则不会出现该下拉选择框,所有的测试用例都是手工执行类型。

活动的”:该测试项目是否是活动的。非管理员用户只能在首页右上角的 测试项目 下拉选择框中看到活动的项目。 对于非活动的测试项目,管理员会在首页右上角的 测试项目 下拉选择框中看到它们前面多了一个 * 号标识。

输入项目名称,前缀,勾选“启用产品需求功能”,点击创建,即创建项目成功。

 

2)如果不是初次登录系统,admin用户可以在“主页”,可以点击“产品管理”-“测试项目管理”,在打开的新界面上点击“创建”按钮,创建新项目。

 

三、测试需求管理

      需求规格说明书是我们开展测试的依据。首先,我们可以对产品的需求规格说明书进行分解和整理,将其拆分为多个需求,一个产品可以包含多个需求,一个需求可以包含多个测试需求。

  • 创建测试需求规格
  • 创建测试需求

3.1创建测试需求规格

单击主页上面的“产品需求”-“产品需求规格”菜单,新建一个产品需求规格。对产品需求规格的描述比较简单,内容包含标题、范围,和类型。如下图所示:

标题:需求规格的标题 
范围:该需求包括的范围

 

3.2创建测试需求

选择你要编辑的需求规格,点击该页面上的“创建新测试需求”按钮,开始新建我们的测试需求。如下图所示:

测试需求内容包含:文档标识、名称、范围、需求的状态,需求的类型,以及需要的测试用例数。

TestLink提供了多种状态来管理需求:草案、审核、修正、完成、实施、有效的(Valid)、不可测试的(not testable)和过期。

需要的测试用例数:该需求包含的测试需求总数。在结果统计的时候会有一种根据需求覆盖率进行统计的 方式,在不是所有的需求都会添加到TestLink中的情况下,用需求总数来评估需求覆盖率。其中的需求总数,就是此处输入的数字。

另外:
1)Testlink提供了从文件导入测试需求的功能,支持的文件类型有csv和csv(door)、xml、DocBook四种。同时Testlink也提供了将需求导出的功能,支持的文件类型有xml一种。 
2)Testlink还提供上传文件的功能,可以在创建测试需求的时候,为该需求附上相关的文档。

 

四、测试计划管理

在TestLink系统中,一个完整的测试计划包括:创建测试计划、版本管理。

4.1创建测试用例集

点击主页“测试计划管理”模块下的“测试计划管理”菜单.

在出现的页面,点击“创建”按钮,进入测试计划创建页面,如下图所示:

测试计划的内容包括:计划名称,计划描述,以及是否从已有的测试计划创建,如果选择从已有的测试计划中创建,则新创建的测试计划包含选择的已有测试计划的所有相关联的信息,比如已有测试计划分配的测试用例。

创建一个名为“闪购V6.3系统测试”的测试计划。

 

4.2版本管理

点击主页“测试计划管理”模块下的“版本管理”菜单,创建一个新的测试版本。测试版本的内容包括:输入版本的标识,版本的说明,活动,如果是活动的构建,则说明该构建可用,否则该构建不可用。

 

4.3编辑/删除里程碑(暂时没有什么作用)

点击主页“测试计划管理”模块下的“编辑/删除里程碑”菜单,创建一个新的测试里程碑。测试里程碑的内容包括:名称,日期,优先级。 

4.4指派测试计划角色

点击主页“用户管理”模块下的“指派测试计划角色”菜单,为测试计划指派用户。

在指派测试计划角色页面,可以选择测试计划,选择好需要指派权限的测试角色后,点击更好按钮,则可以更好测试计划。 
选择好测试计划后,可以将该测试计划以不同的角色分配给不同的用户,通过角色列表,可以选择用户对该测试计划的操作角色。 
选择好后,点击更新按钮,可以保存结果。

 

五、测试用例管理

      TestLink支持的测试用例的管理包含二层:分别为新建测试用例集(Test Suites)、创建测试用例(Test Cases)。可以把测试用例集对应到项目的功能模块,测试用例则对应着具体的功能。
     我们可以使用测试用例搜索功能从不同的项目、成百上千的测试用例中查到我们需要的测试用例,并且还提供移动和复制测试用例的功能,可以将一个测试用例移动或复制到别的项目里,勾上自动更新树选项,添加、删除或编辑测试用例后更新树会被自动更新。

5.1创建测试用例集

点击主页上的“测试用例”-“编辑测试用例”菜单,编写测试用例。如下图:

点击“创建测试用例集”,创建组件。组件的内容包括:组件名称、详细资料,关键字。如下图:

填写好相关的内容后,可以点击“保存”按钮。

 

5.2创建测试用例

选择创建好的测试用例集,点击该页面右侧的“创建测试用例”按钮,新建测试用例。测试用例的要素包括:测试用例标题、摘要、步骤、期望结果、关键词。

摘要:包括测试目的和前置条件

 

建议:在编写测试用例的时候,要细分的每一个数据类型。在编写测试用例时,有些测试用例的步骤是相同的 ,可能变化的只是数据类型,我们可以采用复制的方法来实现。如果多个分类下面的测试用例操作相同,只是部分数据类型或者字段名称不同,可以通过移动测试用例的方法减少测试用例工作量。同时,也可以在创建测试用例的摘要中,将不同的测试数据罗列,然后在测试步骤中,根据不同的测试数据,执行相同的操作。

    完成上述的操作,我们来查看创建好的测试用例树(如下):

 

5.3建立测试用例和测试需求的覆盖关系

单击主页“产品需求”模块下的“指派产品需求”菜单,进入需求指派页面,选中左侧用例树中的测试用例,再选择右侧对应的测试需求,进行指派即可。

完成上述的操作,我们来查看已经指派的测试用例。

完成上述的操作,我们来查看产品需求概览,如下图:

 

 

六、测试用例集管理

测试用例准备好以后,可以对测试用例集进行相关的操作。

6.1添加/删除测试用例到测试计划

在主页通过测试计划下拉列表,先选择一个测试计划,点击“测试用例集”下的“添加/删除测试用例到测试计划”中按钮,进入向测试计划中添加测试用例。如下图所示:

可以将已经创建好的测试用例指派给该测试计划。点击一个测试用例集,可以看到该测试用例集下的所有测试用例,如下图所示:

1)增加选择的测试用例

你可以选择该测试计划中要执行的测试用例,也可以根据版本下拉列表来选择该测试计划下需要执行的测试用例版本。选择好后,点击“增加选择的测试用例”按钮,可以将选择好的测试用例分配给该测试计划。

2)删除选择的测试用例到测试计划

你可以选择该测试计划中要执行的测试用例,也可以根据版本下拉列表来选择该测试计划下需要执行的测试用例版本。选择好后,点击“删除选择的测试用例”按钮,可以将选择好的测试用例移除该测试计划。

 

6.2显示最新的测试用例版本

点击主页“测试用例集”模块下的“显示测试用例的最新版本”菜单,进入连接到测试用例的最新版本显示页面,在这里可以看到连接到测试计划的最新的测试用例版本。 

 

6.3指派执行测试用例(给测试人员分配任务)

点击主页“测试用例集”模块下的“设置测试用例的所有者”菜单,进入指派测试用例页面,可以为 当前测试计划中所包含的每个用例指定一个具体的执行人员。  

在指派测试用例页面,左侧用例树中选择某个测试用例集或者测试用例,右侧页面会出现下拉列表让你选择用户。选择合适的用户厚,在测试用例前面打勾,点击右侧页面下方的按钮即可完成用例的指派工作。  

当然,这里也可以进行批量指定——右侧页面的最上方,有一个下拉列表可以选择用户,下面的测试用例列表中选择要指派给该用户的用例,然后点击一下后面的“执行”按钮即可完成将多个用例指派给一个人的操作。  具体如下图所示:

1)选择左侧的测试计划、要指派的版本

2)在页面右侧选择要指派给的测试人员

 

七、测试执行/报告Bug

把他们放到一起,是因为报告bug是在执行的过程中同步进行的——即执行用例的过程中一旦发现bug我们需要立即把其报告到我们的bug管理系统bugzilla中去。  

执行测试以前,需要为每个测试计划创建一个build版本,一个测试计划可以创建多个构建——我们可以这样,用每次发布的版本号来标识,表明我们执行测试计划的版本是哪个,并且可以和bugzilla对应。   当然了,也可以用其他含义的标题,诸如本次测试执行的侧重点什么的。

创建好构建后,将测试用例也分配给了当前的测试计划接下来我们就可以执行测试了。

首页横向导航栏中的“执行测试”菜单,点击进入执行页面。该页面,同样一分为二,左侧是用例树,右侧页面内容为主体内容。

这里有一点要说明一下,虽然“执行”表面上针对的是测试计划,而实际上对应的是测试计划中测试用例的执行情况。 

左侧用例树中,可以根据具体的条件选择测试用例,选择某一个测试用例集后,右侧页面上方会出现测试计划,build描述,测试集的说明等等信息,还有一个批量设置该测试集中所包含的测试用例状态的按钮,可以将所有测试用例设定为通过,失败,锁定,在下面则是每个测试用例的详细情况,同时每一个测试用例的最后部分,有“说明/描述”输入框,可以在这里输入执行的一些说明性情况,还有“测试结果 ”,这两个输入都是需要我们执行完测试用例以后自己来填写的。

其中测试结果分四种情况:

  通过:该测试用例通过 (绿色底色
  失败:该测试用例没有执行成功,这个时候可能就要向bugzilla提交bug了 (红色底色
  锁定:由于其它用例失败,导致此用例无法执行,被阻塞。 (灰色底色) 
  尚未执行:如果某个该测试用例没有执行,则在最后的度量中标记为“尚未执行” (无底色

注:测试用例执行结果为不通过状态的,均需填写说明
该部分填写完成以后,在用例的开始部分会对这个结果有所记录。如果testlink和bugzilla集成后,在这个记录后面会有一个小虫子标记,点击这个小虫子标记后,会出现一个记录bug号的输入框,如果测试用例是失败的,可以在这个地方输入该测试用例发现的bug在bugzilla中的ID,然后会在该记录下面出现一个ID的链接,点击ID后,可以直接链接到bugzilla中该bug的页面。

 

7.1执行测试

 

测试执行页面如下图所示:

 

7.2报告bug

执行测试用例的过程中一旦发现bug,我们需要立即把其报告到我们的bug管理系统中。TestLink提供了与多种bug跟踪系统关联的接口配置,目前支持的bug系统有jira、bugzilla、mantis。配置管理的相关方法参照帮助。
如果testlink与jira集成后,那么执行完测试后,测试结果中会多出一项bug管理的项,它是一个小虫子的标记,点击那个小虫子标记后,会出现一个记录bug号的输入框。
如果测试用例是失败的,可以在这个地方输入该测试用例发现的bug在jira中的ID,然后会在该记录下面出现一个ID的链接,点击ID后,可以直接链接到jira中该bug的页面。

图略。

 

八、测试结果分析

TestLink根据测试过程中记录的数据,提供了较为丰富的度量统计功能,可以直观的得到测试管理过程中需要进行分析和总结的数据。点击首页横向导航栏中的“测试结果”菜单,即可进入测试结果报告页面,如下图所示:

左侧一栏列出了可以选择的度量方式, 所有度量是以构建为前提进行查询的,所有度量的报表格式分三种类型。 
Normal:报表格式在页面右侧显示 
MS excel:选择该类型后,报表以excel形式显示 
HTML_email:选择该类型后,如果testlink配置了邮件功能,则报表以email的形式发送到邮箱

 

8.1总体测试计划进度

查看总体的测试情况,可以根据测试组件,测试用例拥有者,关键字进行查看。

 

8.2根据每版本的测试者的报告

 

8.3失败的测试用例

统计所有当前测试结果为失败的测试用例

 

8.4阻塞的测试用例

统计所有当前测试结果为阻塞的测试用例

 

8.5尚未执行的测试用例

统计所有尚未执行的测试用例

 

8.6图表

点击图表,可以看到testlink以图表的形式生成的报告,非常直观。

 

8.7基于产品需求的报告

通过该报告,可以查看需求覆盖情况,具体有以下几个度量: 
需求概况:需求相关的信息 
通过的需求:测试通过的需求 
错误的需求: 
锁定的需求: 
尚未执行的需求:

 

九、易用性的功能

9.1关键字管理

9.1.1创建关键字

单击主页“产品管理”模块下的“关键字管理”菜单,创建一个新的关键字。关键字的内容包括:关键字的名称,关键字的说明。

9.1.2指派关键字

建立好关键字后,可以将关键字和测试用例相关联起来,建立好关键字后,可以将该关键字分配给测试用例,点击创建关键字页面的“指派到测试用例”按钮,或者单击主页“测试用例”模块下的“指派关键词”菜单,选中左侧用例树中的测试用例,再选择右侧对应的关键词,进行指派即可。

将有用的关键字列表中的关键字移动到分配关键字列表下,点击指派按钮,则完成指派关键字操作。

 

9.1.3指派好关键词,按关键词来搜索测试用例

单击主页“测试用例”模块下的“搜索测试用例”按照关键词进行搜索,右侧是搜索出所有指派该关键词的测试用例,直接单击其前面的“编辑”,“删除”,“移动/复制”按钮,来执行我们需要的操作。

9.1.4在执行测试的时候按照关键词搜索需要的测试用例

我们建立一个“15_070916”(可以理解为build号)关键词,按关键词搜索出这个版本需要的测试用例,执行测试.

 

9.1.5编辑删除测试用例

进入某个关键字管理页面,点击某个关键字信息后面的删除按钮,可以将该关键字删除。

 

9.2从测试需求直接生成测试用例

 

9.3文档的导入、导出功能

9.4报告可以导出为excel

 

9.5自定义

9.5.1自定义字段管理

击主页自定义范围下的自定义字段管理菜单,进入自定义字段管理页面,点击创建按钮,可以创建 一个字段,如下图所示

可以填写名称,标注,类型(包括很多),还有一些显示条件。最后要选择将该字段用在哪个地方, 可以使用的地方有,测试用例,测试计划,测试分类。

 

9.5.2指派自定义字段

填写好一个自定义字段后,必须将该自定义字段进行指派才可以使用,点击主页自定义范围下的分配自定义字段菜单,进入自定义字段分配页面,如下图所示:

勾选自定义字段前面的框,点击指派按钮,就可以完成指派。

十、数据表关系

10.1 用户

10.1.1 创建用户,页面如图:


所涉及到的数据库表:

10.2 项目

10.2.1 创建项目,页面如图:

所数据到的数据库表如下:

10.3 需求

10.3.1 创建需求规约,页面如图:

所涉及到的数据库表如下:

10.3.2 创建新需求,页面如图:

所涉及到的数据库表如下:

10.4 用例

10.4.1创建测试集,页面如图:

所涉及到的数据库表如下:

10.4.2 创建测试用例,页面如图:

所涉及到的数据库表如下:

10.5 计划

10.5.1 创建计划,页面如图:

所涉及到的数据库表如下:

10.5.2 创建Build,页面如图:

所涉及到的数据库表如下:

10.6 分配

10.6.1 添加测试用例到测试计划,页面如图:

所涉及到的数据库表如下:

10.6.2 指派用户角色,点击“指派测试计划的角色”,页面如图所示:

所涉及到的数据库表如下:

10.7 执行测试

10.7.1 执行测试,页面如图:

所涉及到的数据库表如下:

总结

        TestLink用于进行测试过程中的管理,通过使用TestLink提供的功能,我们可以将测试过程从测试需求、测试设计、到测试执行完整的管理起来,同时,它还提供了好多种测试结果的统计和分析,使我们能够简单的开始测试工作和分析测试结果。
本文中,根据自己的使用和学习,详细演示了如何使用TestLink来进行测试管理的全部过程,简单的介绍了TestLink的使用方法。希望能够帮助大家学会使用TestLink的基本功能,同时,大家可以参考这个过程和TestLink的帮助文档来实现对测试过程的管理。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐