TestLink管理测试
测试是一个过程。从测试计划开始,然后进行测试用例的设计、测试执行直至测试结果分析和报告,贯穿软件开发生命周期。对于上规模的软件团队,同时会有多个项目在运行,而且其中一些是大项目,可能要设计几千个、甚至几万个测试用例。如果通过手工方式进行文档管理,那么工作量很大,效率低。我们必须借助基于数据库、XML等技术的测试管理系统,实现测试管理的自动化。
软件测试管理工具能管理整个测试过程,可以提高测试用例的复用性和测试执行的效率,降低测试人员之间的沟通成本,提高管理的效率和准确性,并提供一个协同合作的环境,虽然测试人员分布在不同的地方,但不管在何时何地都能参与整个测试过程。
测试管理的工具比较多,开源的工具主要有TestLink、Bugzilla Test Runner、验收测试管理工具FitNesse、基于XML文件测试用例管理工具JtestCas、JTR (Java Test Runner)和TestMaker等。
TestLink作为测试管理工具,将测试过程从测试需求、测试设计到测试执行的整个过程管理起来,并提供了良好的测试结果统计和分析等功能,使测试管理工作变得简单而有效。TestLink是sourceforge的开放源代码项目之一,是基于php开发的、web方式的测试管理系统,其功能可以分为两大部分:管理和计划执行。
管理部分,包括产品管理、用户管理、测试需求管理和测试用例管理;
计划执行部分,创建测试计划并执行测试计划,最后显示相关的测试结果分析和测试报告。TestLink的主要特色有:
1) 支持多产品或多项目管理,按产品/项目来管理测试需求、计划、用例和执行等,项目之间保持独立性;
2) 测试用例,不仅可以创建模块或测试套件,而且可以进行多层次分类,形成树状管理结构;
3) 可以自定义字段和关键字,极大地提高了系统的适应性,可满足不同用户的需求;
4) 同一项目可以制定不同的测试计划,可以将相同的测试用例分配给不同的测试计划,支持各种关键字条件过滤测试用例;
5) 可以很容易地实现和多达8种流行的缺陷管理系统(如Mantis、bugzilla、Jira等)集成;
6) 可设定测试经理、测试组长、测试设计师、资深测试人员和一般测试人员等不同角色,而且可自定义具有特定权限的角色;
7) 测试结果可以导出多种格式,如HTML、MS Excel、MS Word和Email等;
8) 可以基于关键字搜索测试用例,测试用例也可以通用拷贝生成等。
安装TestLink
TestLink建立在PHP、Mysql环境之上的,所以安装分为两部分,既要安装PHP和Mysql等支撑平台,还要完成自身的安装。支撑平台可以选择XAMPP软件包,如XAMPP 1.7版本,可从http://sourceforge.net/projects/xampp/下载最新版本。XAMPP安装简单,按照提示就可以完成。Apache端口默认为80,Mysql端口默认为3360,如果这这两个端口被占用了,可以重新设置端口,如通过修改apache\conf\ httpd.conf文件设置Apache端口为8080。安装成功后,在浏览器http://localhost,如下图。
从http://sourceforge.net/projects/testlink/下载安装包(如testlink_1.8.RC2.zip),解压缩到Apache2的htdocs目录下或其他目录。这里假定安装到目录E:\xampp\testlink。
在xampp\apache\conf目录下的文件httpd.conf中设置testlink目录权限,即添加下列内容:
Alias /testlink "E:/xampp/testlink/"
<Directory "E:/xampp/testlink/">
Options Indexes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
首先通过 http://localhost/phpmyadmin/创建一个名为“testlink” 的数据库。注意创建数据库时,一定要选择utf8_general_ci字符集,保证中文的正常显示。
然后浏览器输入http://localhost/testlink/,此时,就会自动跳到安装界面。如果是第1次安装,点击“new installation”。否则,就选择升级,要先升级数据库(Upgrade database),然后再完成软件版本的升级。
在下一步的安装页面中,输入登录MySQL的用户名(如root)及其密码,以及只访问Testlink自身数据库的管理员的用户名(可以自己设定)及其密码。
点击“Setup TestLink!”按钮,完成安装,提示安装成功:“Installation was successful!”,然后点击最后一行的“Please Click Me!”,进入TestLink的登录页面。使用系统默认管理员账号admin/admin(用户名/口令)登录系统,修改其口令后退出。
管理
TestLink不仅可以对用户和多个产品进行管理,而且还可以对测试需求、测试用例、测试计划等相关内容进行管理,以及建立测试需求与测试用例的关联关系等。
1 用户管理
用户管理的主要功能有创建、修改和删除用户,包括角色管理、角色分配、产品权限指派和测试计划权限指派,如图所示。产品权限指派、测试计划权限指派必须在产品设置、测试计划创建之后再进行设置。
TestLink系统提供了6种角色:
1) Guest(普通用户):只有读的权限,也就是查看测试用例和需求等相关信息的权限;
2) Tester(测试员):只有执行测试用例的权限;
3) Senior tester(资深测试员):可以执行测试用例,还可以查看和维护测试用例,但不能管理测试计划、分配测试任务;
4) Testdesigner(测试设计师):可以执行测试用例,开展测试需求的所有工作;
5) Leader:可以开展测试规格和测试需求的所有工作,还可以管理测试计划、分配测试任务;
6) Admin:维护产品,用户。
可以看出,Guest权限最低,然后从Tester、 Senior tester到Testdesigner 、Leader权限逐步增强,admin权限最高。
TestLink支持自定义角色,即增加除上述6种角色以外的新角色。权限总共分为以下几类:
1) 测试计划权限,包括执行、创建/编辑、查看、增加/删除/修改计划和分配角色等;
2) 测试用例管理权限,包括执行、创建/编辑、查看等;
3) 需求权限,包括查看、管理等;
4) 产品权限,只有管理一项;
5) 用户权限,包括用户管理、角色管理和分配角色等;
6) 关键字权限,包括查看、管理等;
7) 自定义字段权限,包括查看、管理等;
8) 系统权限,包括本地化管理、事件管理等。
在TestLink系统中,每个用户都可以维护自己的个人信息。admin可以创建用户,但不能看到其他用户的密码,可以为其他用户重设密码(paassword reset),用户通过E-mail获得新密码。
2 产品管理
在产品管理中,不仅包括测试项目管理(Test Project Management)功能,而且包括指派用户角色、自定义字段管理、分配自定义字段和关键字管理等功能,其中“指派用户角色”和“用户管理的产品权限指派”实际是同一个功能。
3 测试需求管理
需求规格说明书,包括功能规格说明书,是开展软件测试的依据。首先,我们可以对产品的需求规格说明书进行分解和整理,将其拆分为多个具体需求,一个产品可以包含多个用户功能或非功能性需求,而每个功能或非功能性需求可以包含多个具体的测试需求,也可以建立一对一的需求关系。
测试需求管理,包括创建 “测试需求规格类别”和输入特定的、具体的需求内容。创建测试需求规格类别比较简单,点击“创建”按钮,只要输入(需求类别)名称、范围描述和覆盖的需求数量等内容即可。
4 测试用例管理
测试规范是一个可以让用户查看和编辑所有已存在的产品、套件、分类及测试用例信息的地方。测试用例管理是TestLink的核心功能,也是将来测试计划和执行的基础。TestLink支持测试用例的3层管理。
1) 套件(test suite)对应到项目的功能模块,其内容包括名称、介绍、范围、相关的内容和约束等;
2) 类别(Category,sub test suite)对应每个模块的具体功能,其内容包括名称、测试范围和目标、配置信息、测试数据和测试工具等;
3) 测试用例(Test case)是具体的用例,归于某个类别。测试用例的主要内容有名称、简要说明、步骤、期望结果和关键字等,并与测试需求关联起来。
测试计划的制定
测试计划是为了某个软件产品的全新版本发布、功能变化或问题修正等测试需求而进行的策划,包括确定测试范围、识别测试风险、定义测试任务优先级、估算工作量、安排资源和进度等内容。而在TestLink中,测试计划是定义或描述一系列测试任务、测试周期和资源安排等,通过测试计划可以进一步确认即将执行的测试任务,并跟踪测试执行的过程。
1. 测试计划版本管理:测试计划建立之后,须要构建测试计划所用的软件包版本。在建立软件版本的时候,在描述中要尽量详细给出该软件包的文件列表、新增功能或改动的功能、已修正的缺陷等信息。软件版本有两种属性:
1) 版本是否可用,即设为活动的或非活动的(Active/Inactive),非活动的版本在执行时和测试报告中不会被列出来;
2) 版本是否结束,即设为打开或关闭(open/closed),一旦版本关闭,意味着测试结束,测试结果不能修改。
2. 测试计划的权限指派:测试计划建立后,须要为测试计划的修改、管理和执行指派相应的用户。一般来说,会继承(inherited)在“用户管理”中为各个用户所指定的权限,但是,针对不同的测试任务或测试计划,用户权限常常会发生一些变化。
3. 为测试计划分配测试用例:进入“测试计划-测试用例”的“增加/删除测试用例(Add / Remove Test Cases)”模块中进行操作。先选择一个测试计划,然后选择相应的测试用例模块,右边会显示这个模块的测试用例,再选择要执行的测试用例、版本和执行次序等。
4. 为测试用例安排执行者:测试计划中的测试用例须要测试人员来执行,而且不同的模块或任务可能由不同的测试人员来执行,所以通过“给测试用例指定测试员”来完成测试人员的工作安排。
测试执行
制定完测试计划后,测试人员就可以开始执行测试了。对于权限很低的用户,如“tester” ,只有“测试执行”的操作权限,他们进入系统后,其界面很简单,只有一个功能模块“测试执行”。在Testlink中,“执行测试”就是将测试结果输入到系统中,或者说报告测试结果。
如果testlink和缺陷管理系统(如MantisBT)集成在一起,在这个记录后面会有一个标记。如果测试用例是失败的,点击这个标记,会出现一个记录缺陷编号的输入框,输入该测试用例发现的缺陷的编号。然后,该编号会自动变成一个链接,点击这个链接,可以直接链接到缺陷管理系统的相应页面。
测试报告
TestLink根据测试过程中记录的数据,提供了较为丰富的测试结果统计分析、图表报告等功能,可以直观了解测试管理过程中所需要的数据。这些功能包括:
1) 测试计划;
2) 常规测试计划度量;
3) 查询度量;
4) 执行失败的用例列表;
5) 执行阻塞的用例列表;
6) 尚未执行的用例列表;
7) 测试报告;
8) 图表;
9) 需求覆盖率报告;
10) 没有需求分配的测试用例;
11) 没安排测试人员的测试用例。
与缺陷管理系统集成
TestLink提供了与多种bug跟踪系统关联的接口配置,目前支持的bug系统有Mantis、bugzilla、Jira等8种缺陷管理系统。
本文来自朱少民老师的《轻轻松松自动化测试》,如有侵权,请通知后删除