TestLink安装配置手册
范围
本文仅作为安装和配置TestLink的参考文档。
本文的第一部分为TestLink的安装步骤,第二部分是TestLink的配置方法。
本文和其他相关文档可在中寻求帮助
一般TestLink安装的步骤如下:
1.下载TestLink
2.解压文件
3.创建数据库
4.导入缺省数据
5.编辑配置文件
6. PHP文件扩展
7.登录TestLink
系统需求
要使TestLink正常运行,需要安装以下软件:
MySQL 4.1.x及以上
php 4.3.x及以上
WebServer(Apache 1.3.x或2.0.x及以上,IIS 3及以上,等等,更详细的信息请参见/install.txt)
对于操作系统平台没有特别要求(TestLink已经在Linux和MS Win32平台上测试通过)
你也可以将数据库与TestLink分别安装在不同的服务器上,如下图:
安装步骤
在安装TestLink之前应先完成以下步骤:
1.安装环境:Webserver、php4和MySQL,安装方法参见这些应用软件的安装文档。
我是在winXP下安装的,webserver是IIS,PHP5.1.2,MySql的版本是5.0.18
IIS的安装就不多说了,下面主要讲讲PHP
从5.0开始,PHP对MySql的支持需要手动配置
将php_mysql.dll 和libmySQL.dll 文件拷贝到winnt\system32目录里,这两个文件可以在PHP安装目录里找到。
编辑目录下php.ini,将;extension=php_mysql.dll前面的“;”去掉
2.将TestLink的安装文件复制到服务器上。
3.解压缩Testlink的安装文件。
数据库安装
自动安装(略)
手工安装
创建MySQL数据库
CREATE DATABASE testlink CHARACTER SET utf8 COLLATE utf8_general_ci
创建数据表
# mysql -u -p </install/sql/testlink_create_tables.sql
导入缺省数据
# mysql -u -p < /install/sql/testlink_create_default_data.sql
也可以使用mysql客户端工具进行创建数据库的操作。
在目录下创建config_db.inc.php文件
define('DB_TYPE', 'mysql');
define('DB_USER', 'root');
define('DB_PASS', 'root');
define('DB_HOST', 'localhost');
define('DB_NAME', 'testlink');
?>
配置
配置文件
/config.inc.php - 主要的配置文件,后面会做详细介绍
/config_db.inc.php - 包含访问数据库的所有配置参数。这个文件在安装或升级过程中产生。通常不必做手工修改
/cfg/.cfg.php
/cfg/bugzilla.cfg.php
/cfg/mantis.cfg.php
/cfg/jira.cfg.php
包含访问bugzilla、mantis或者jira等缺陷跟踪系统的配置参数。如果想从TestLink直接访问这些系统,需要手工修改这些文件,另外这个功能需要在config.inc.php文件中修改一个配置参数。
必须修改的参数
DB_SUPPORTS_UTF8
MySQL4.1以前的版本不支持utf8,因此所有的页面使用ISO-8859-1字符集而数据则以latin1字符集存入数据库,令DB_SUPPORTS_UTF8 = FALSE;
MySQL4.1及以后的版本,令DB_SUPPORTS_UTF8 = TRUE,使全部页面支持UTF-8而数据以utf8字符集存入数据库。
可能需要修改的参数
TL_LOG_LEVEL_DEFAULT
日志记录的缺省级别,日志级别有(NONE、ERROR、INFO、DEBUG)。DEBUG级别只在开发或者与bug系统集成时使用
TL_LOG_PATH
日志文件的文件名和路径
MAIN_PAGE_METRICS_ENABLED
这个参数控制矩阵表格是否显示在主页上,允许“TURE”和“FALSE”两个值
TL_INTERFACE_BUGS
设置testlink和缺陷跟踪系统的接口。允许的值为:“NO”、“BUGZILLA”、“MANTIS”
与BUGZILLA的接口配置参见cfg/bugzilla.cfg.php,支持0.19.1
与MANTIS的接口配置参见cfg/mantis.cfg.php,支持1.0.0.a3
TL_TREE_KIND
这个参数用于配置testlink所使用的树形菜单,允许的值为“LAYERSMENU”、“JTREE”、“DTREE”
LAYERSMENU 是缺省值;在这里,JTREE的性能最好;其他的两种树形菜单,可以记住上一次的位置。
TL_IMPORT_LIMIT
最大可以上传的文件的大小,单位是bytes。缺省值是200000。如果需要上传一个更大的文件,你可以加大这个值。另外还有一个参数:TL_IMPORT_ROW_MAX,用户规定导出文件一行最长可以有多长字符,10000字符已经足够了。
$g_fckeditor_toolbar
定义fckeditor工具条,你可以修改其内容。这个部件的更详细的信息参见fckeditor的主页(http://www.fckeditor.net/)
TL_TPL_CHARSET
中文用户只需要设置:define('TL_TPL_CHARSET','gb2312');这样就定义了正确的html字符集。其他的语言可以不必修改这个参数
TL_DEFAULT_LOCALE
置缺省语言,必须是$g_locales的一个值。缺省值是en_GB。
TL_COMPANY,TL_DOC_COPYRIGHT,TL_DOC_CONFIDENT
用于文档抬头,如果不用写抬头,就置这些参数为空。
自定义参数
级联样式表
可以编写你自己的级联样式表改变TestLink的外观。
你必须修改以下定义:
define('TL_LOGIN_CSS','gui/css/tl_login.css'); - 登录、登出的CSS文件
define('TL_TESTLINK_CSS','gui/css/testlink.css'); - 主页的CSS文件
define('TL_DOC_BASIC_CSS','gui/css/tl_doc_basic.css'); - 用于测试报告
重要:CSS文件的路径是相对于的路径,是相对路径
如果要使用自己的CSS文件,建议进行如下操作:
1. 在gui目录下创建一个新的目录,例如 “gui/css/my_css/”
2. 复制testlink原文件到新的目录
3. 按你的想法修改它们
4. 编辑config.inc.php文件:// Original configuration//define('TL_LOGIN_CSS','gui/css/tl_login.css');
//define('TL_TESTLINK_CSS','gui/css/testlink.css');
//define('TL_DOC_BASIC_CSS','gui/css/tl_doc_basic.css');
define('TL_LOGIN_CSS','gui/css/my_css/tl_login_acqua.css');
define('TL_TESTLINK_CSS','gui/css/my_css/testlink_acqua.css');
define('TL_DOC_BASIC_CSS','gui/css/my_css/tl_doc_basic.css');
当产品、部件、分类、测试用例重名时的处理
当从一个已经复制一个产品、部件、分类、测试用例时,经常会发生重名的情况。
你可以配置如何处理复制:
如果你设置$g_check_names_for_duplicates=TRUE,那么系统就会进行以下的检查
1. 产品名是否唯一
2. 产品下的部件名是否唯一
3. 部件下的分类名是否唯一
4. 分类下的测试用例名是否唯一
一旦置$g_check_names_for_duplicates=TRUE,你可以配置如果进行操作,如果发现重名的情况,就使用$g_action_on_duplicate_name,选项如下:
'allow_repeat':允许重名(可以和1.0.4、1.5.x兼容)
'generate_new':生成新名称,将"$g_prefix_name_for_copy"的值和原名合并,成为一个新名字
'block':返回一个错误
例如:
$g_action_on_duplicate_name='allow_repeat';
$g_prefix_name_for_copy= strftime("%Y%m%d-%H:%M:%S", time());
允许重复,并将当前时间以(年月日-时分秒)的格式做为原来的名字的前缀。
测试计划和产品的关联
从1.6版开始,当创建一个测试计划(Test Plan)时,缺省情况下测试计划会和当前所选择的产品相关联。这意味着你可以以产品为关键字过滤测试计划(Test Plan)。在1.6版本之前,Test Plan没有和指定的产品相关联,当从1.5.x升级到1.6时,安装程序不能将测试计划和产品相关联从而将测试计划的product ID项置为0。这样做将导致老的测试计划将不能被看到。要解决这个问题,必须添加以下参数:
$g_show_tp_without_prodid=TRUE;
你也可以通过在数据库中手工关联,以便使用以前的数据。
通过产品过滤测试计划
使用以下参数:
$g_ui_show_check_filter_tp_by_product
你可以:
允许用户通过界面来使能测试计划过滤功能。$g_ui_show_check_filter_tp_by_product = TRUE时,在测试计划之前显示了一个复选框。
$g_ui_show_check_filter_tp_by_product = FALSE时。强制测试计划的过滤,并且用户不能修改
关键字管理
如果不想为同一个产品创建相同的关键字:
$g_allow_duplicate_keywords=FALSE;
日期和时间本地化
设置日期和时间的显示方式。使用两个关联的数组进行配置:$g_locales_date_format 和 $g_locales_timestamp_format.
$g_locales_date_format = array(
'en_GB' => "%d/%m/%Y", 'it_IT' => "%d/%m/%Y",
'es_AR' => "%d/%m/%Y", 'es_ES' => "%d/%m/%Y",
'de_DE' => "%d.%m.%Y", 'fr_FR' => "%d/%m/%Y",
'pt_BR' => "%d/%m/%Y" );
$g_locales_timestamp_format = array(
'en_GB' => "%d/%m/%Y %H:%M:%S",
'it_IT' => "%d/%m/%Y %H:%M:%S",
'es_AR' => "%d/%m/%Y %H:%M:%S",
'es_ES' => "%d/%m/%Y %H:%M:%S",
'de_DE' => "%d.%m.%Y %H:%M:%S",
'fr_FR' => "%d/%m/%Y %H:%M:%S",
'pt_BR' => "%d/%m/%Y %H:%M:%S", );
如果在上述数组中没有找到匹配的本地化格式,以下配置参数将被使用:$g_date_format 和 $g_timestamp_format
例如:
$g_date_format ="%d/%m/%Y";
$g_timestamp_format = "%d/%m/%Y %H:%M:%S";
从需求生成测试用例
在创建需求SRS之后,可以选择为每个测试需求创建测试用例(部件和分类也同时被创建)
使用配置参数:$g_reg_cfg,你可以配置:
创建的部件的名字:$g_req_cfg->default_component_name="Component Created by Requirement - Auto";
部件的范围:$g_req_cfg->scope_for_component="Component/Category/Test Cases generated from Requirements";
创建的分类的名字:$g_req_cfg->default_category_name="TODO";
分类的目标描述:$g_req_cfg->objective_for_category="Category/Test Cases generated from Requirements";
分类的名字可以作如下配置:
$g_req_cfg->use_req_spec_as_category_name=TRUE;
将需求名称做为分类名称
$g_req_cfg->use_req_spec_as_category_name=FALSE;
那么$g_req_cfg->default_category_name将做为分类的名称
使用自己的Smarty模板(GUI定义)
使用自定义模板,要用到以下参数:$g_tpl
$g_tpl['tcView']
$g_tpl['tcSearchView']
$g_tpl['tcEdit']
$g_tpl['tcNew']
$g_tpl['execSetResults']
允许创建新的模板,而且新的模板采用不同于原始TestLink模板的名字,以避免在下次升级过程中被覆盖
注意:不是所有的TestLink页面都可以进行这样的配置
标准配置如下:
$g_tpl['tcView'] = "tcView.tpl";
$g_tpl['tcSearchView'] = "tcSearchView.tpl";
$g_tpl['tcEdit'] = "tcEdit.tpl";
$g_tpl['tcNew'] = "tcNew.tpl";
$g_tpl['execSetResults'] = "execSetResults.tpl";
FAQ
以下是常见问题,更多问题请查看TestLink的论坛
问1:我从老版本升级后,不能登录
答:你的原始数据库版本不支持不同字符集。从1.6版起,缺省的字符集是UTF-8。请在config.inc.php文件中置DB_SUPPORTS_UTF8=FALSE。
问2:登录页面显示Smarty error
答:Linux/unix 用户: 确认当前用户是否有临时目录的存取权限。缺省临时目录:/gui/template_c/