使用TestLink管理软件测试过程.docx
《使用TestLink管理软件测试过程.docx》由会员分享,可在线阅读,更多相关《使用TestLink管理软件测试过程.docx(15页珍藏版)》请在冰豆网上搜索。
使用TestLink管理软件测试过程
使用TestLink管理软件测试过程:
使用TestLink管理软件功能测试过程
本系列文章适用于需要为测试团队寻找测试过程管理解决方案的测试设计、测试管理人员。
目前,开源理念在国内外越来越深入人心,开源软件大大推动了软件研发行业的快速发展。
TestLink作为软件测试管理类开源软件中的佼佼者,在中小型的软件测试项目组中得到了普遍应用,项目组的测试效率得到了很大的提升。
本文作为使用TestLink管理软件测试过程系列文章的第一部分,主要介绍如何使用该工具管理软件功能测试过程。
首先介绍TestLink的作用、安装与配置,接着演示如何使用TestLink管理软件测试过程。
最后,向读者介绍TestLink提供的XML-RPC接口特性,并演示如何使用Java语言通过调用XML-RPC接口对TestLink进行定制开发。
本系列文章的第二部分将会介绍如何使用TestLink管理软件自动化测试过程。
TestLink介绍
TestLink是开放源代码的基于Web的测试管理系统,它覆盖完整的测试工作过程,提供测试需求管理、测试用例管理、测试计划管理、测试执行与结果报表管理等功能。
通过集成配置,TestLink可以和主流的缺陷管理系统进行协同工作。
该工具还对外提供了XML-RPC编程接口,用于定制开发。
主要功能如下所示:
∙测试需求管理–用于收集、定义测试需求。
提供版本控制机制解决无法跟踪需求变更的问题。
∙测试用例管理–用于定义测试用例设计,不同模块的用例可以分别维护在不同的测试套件集合里。
∙测试计划管理–可以为测试计划指定被测软件所运行所在的平台信息和被测软件的测试构建信息。
可以把测试用例执行工作分配给不同的测试工程师。
∙测试执行与结果报表管理–执行完毕测试,填写测试结果信息。
支持上传结果文件,附加上缺陷编号信息。
报表系统提供测试图表和执行矩阵信息。
∙良好的扩展特性–允许自定义字段;允许调用管理系统提供的XML-RPCAPI接口进行定制开发。
TestLink安装与配置
TestLink的最新版本为1.9.5,建议使用稳定版本1.9.3。
本部分将介绍如何在Ubuntu环境下搭建TestLink1.9.3测试用例管理系统。
本文使用的Ubuntu版本是64位服务器版Ubuntu12.04,Ubuntu服务器的局域网内部IP地址为172.16.27.225,服务器连接互联网,可以使用apt-get命令进行在线安装软件包。
下面会分别介绍如何安装Apache应用服务器,MySQL数据库,PHP编程语言包,然后详细介绍如何安装、配置TestLink。
安装ApacheHTTPServer
登录Ubuntu服务器,在终端中输入命令sudoapt-getinstallapache2进行安装。
通过访问http:
//172.16.27.225,确认Apache安装成功。
在Ubuntu上安装的Apache,其默认的根目录为/var/www,配置文件所在位置为/etc/apache2/apache2.conf。
其他的配置文件也都存放在目录/etc/apache2下。
使用vi命令编辑apache2.conf文件,添加如下内容:
清单1.编辑apache2.conf片段
AddTypeapplication/x-httpd-php.php.htm.html
AddDefaultCharsetUTF-8
ServerName127.0.0.1
安装MySQL数据库
在终端中使用命令sudoapt-getinstallmysql-server安装MySQL数据库,在安装过程中会提示为root超级用户设置密码。
在Ubuntu环境下,停止、启动MySQL或Apache应用服务器进程、查看其进程的启动状态可以使用下面的命令:
清单2.Apache、MySQL的常用命令
sudo/etc/init.d/apache2stop或serviceapache2stop
sudo/etc/init.d/apache2start或serviceapache2start
sudo/etc/init.d/apache2status或serviceapache2status
sudo/etc/init.d/mysqlstop或servicemysqlstop
sudo/etc/init.d/mysqlstart或servicemysqlstart
sudo/etc/init.d/mysqlstatus或servicemysqlstatus
安装PHP语言包和PHP扩展模块
使用下面的命令安装PHP语言相关的包,第一行命令安装PHP语言核心软件包,第二行命令安装需要的扩展模块。
安装成功后,需要重启Apache服务器使安装生效。
清单3.安装php5及其扩展
sudoapt-getinstallphp5
sudoapt-getinstalllibapache2-mod-php5php5-mysqlphp5-pgsqlphp5-sybasephp5-ldap
TestLink支持MySQL、PostgreSQL和微软的SQLServer数据库,可以根据测试团队选定的数据库类型选择相应的数据库扩展模块进行安装。
如果TestLink需要配置LADP认证,则需要安装php5-ldap模块。
对安装的PHP扩展模块解释如下。
∙libapache2-mod-php5-Apache2模块(必须安装)
∙php5-mysql-php5的MySQL模块(数据库模块可根据需要进行安装)
∙php5-pgsql-php5的PostgreSQL模块
∙php5-sybase-php5的Sybase/MSSQLServer模块
∙php5-gd-php5的GD图像函数库模块(默认已安装)
∙php5-ldap-php5的LDAP模块(需要使用LDAP认证时安装)
为使TestLink达到最佳性能,建议对PHP按如下配置进行优化。
需要修改PHP配置文件/etc/php5/apache2/php.ini中的参数:
1.session.gc_maxlifetime
单位为秒。
该参数指定的时间间隔之后,存储的数据会被标示为'garbage',进而被垃圾回收进程清理掉。
默认为24分钟(即1440秒)。
TestLink在进行安装之前会检查该参数,如果设置等于小于10分钟,TestLink安装程序会强制用户去扩展该值。
如果大10分钟,只给出警告信息。
如果大于推荐的30分钟,安装程序校验为成功。
建议设置为session.gc_maxlifetime=1860。
1.max_execution_time
每个php脚本最大执行时间,单位为秒,默认为30s,TestLink推荐设置为120s。
安装TestLink
将TestLink安装包上传到服务器,使用清单4的命令脚本将TestLink软件包解压缩、复制到/var/www目录下,并重命名为testlink。
需要确保testlink的访问权限设置为777,安装时会创建配置文件config_db.inc.php,如果不设置正确的文件访问权限,会无法生成该数据库信息配置文件。
清单4.部署TestLink
sudotarzxvftestlink-1.9.3.tar.gz
sudocp-rtestlink-1.9.3/var/www/testlink
sudochmod–R777testlink
在执行安装之前,需要确保目录/var/www/testlink/gui/templates_c、/var/testlink/logs/和/var/testlink/upload_area/已经存在且运行Apache服务器进程的用户对其拥有可写权限,使用命令进行权限的修改:
chmod666。
TestLink安装过程非常简单、清晰,只需要简单的几步配置:
1.访问TestLink在线安装
在浏览器地址栏输入http:
//172.16.27.225/testlink进行访问,如果没有安装,程序会自动跳转到安装界面。
2.选择Newinstall,在进入的页面中接受许可证协议并继续。
3.验证系统和配置需要满足的先决条件。
如果没有致命的问题,可以点击Continue继续下一步的安装。
通过前文的配置,全部的先决条件检查都可以通过。
4.定义TestLink使用的数据库信息
TestLink的数据保存在数据库里,安装过程中需要指定数据库连接信息。
当配置完毕下述选项,点击ProcessTestLinkSetup按钮开始配置数据库信息。
o数据库类型:
支持三种数据库,本文使用MySQL。
o数据库主机地址:
数据库服务器机IP地址(如果数据库没有使用默认端口,需要添加端口信息),默认为localhost,可以输入172.16.27.225:
3306。
o数据库名称:
TestLink使用的数据库名称,默认为testlink,如果不存在,会自动创建。
o数据库表前缀:
可选,数据库表名前缀。
o数据库管理员用户:
对于MySQL,使用root用户即可。
o数据库管理员密码:
输入安装MySQL时,预设的root用户的密码。
TestLink数据库用户:
指定一个用户用于访问TestLink数据库,可以使用root,或者新创建一个用户。
oTestLink数据库用户密码:
TestLink数据库用户的密码。
5.验证TestLink安装成功
在浏览器地址栏输入http:
//172.16.27.225/testlink进行访问,如果安装成功会显示登录页面,默认的管理员账户为admin、密码也为admin。
常用配置config.ini.php
TestLink提供的丰富的配置选项供用户对该系统进行定制,系统的主要配置文件为安装目录下的config.inc.php。
不建议直接修改该文件,建议把需要更改的部分复制到custom_config.inc.php内进行修改。
下面简单介绍几个常用的配置:
∙在访问TestLink的时候,页面上有安全警告信息。
可以自行按照/var/testlink/logs/config_check.txt里的提示信息进行修正(删除安装目录,更改admin默认密码,配置邮件SMTP信息等),或者把config.inc.php中检查模式修改"$tlCfg->config_check_warning_mode = 'SILENT';"。
∙如果需要中文简体界面,需要修改默认语言为"$tlCfg->default_language='zh_CN';",然后登录系统,进入个人账户页面,把语言Locale设置为中文简体。
∙如果需要调用TestLink提供XML-RPC接口,需要在配置文件中修改为"$tlCfg->api->enabled = TRUE;"。
并需要在首页点击个人帐号链接,进入帐号设置页面,点击生成新的API访问密钥。
回页首
使用TestLink管理软件测试过程
管理测试项目
测试项目(TestProject)是TestLink最基本的组成单元,用于管理测试资产。
每个测试项目包括测试需求规约文档、测试规约文档、测试计划、执行和测试用户角色设置等。
安装完毕TestLink,第一次使用admin用户登录时,会跳转到创建新的测试项目页面。
当存在测试项目时,可以在项目管理管理页面,创建新的测试项目,如图1所示。
创建测试项目需要填写的信息包括:
∙项目名称必须填写,不能和已存在的项目重名;
∙前缀必须填写,不能和其他项目的前缀重名。
前缀显示在测试用例名称之前;
∙项目描述可选项,可填写测试项目的介绍性文字、参考引用的项目文档等;
∙增强功能用于启用需求管理、测试优先级、测试自动化和设备管理等。
默认没有选中增强功能,建议全部勾选上;
∙可用性用于标示测试项目是否活动项目、是否公开。
默认全选。
测试项目处于活动状态时才能被使用,处于公开状态才能被其他有权限的用户使用,不公开时只能被创建它的用户使用。
∙从已有测试项目创建?
如果已存在测试项目,可以复用存在的测试项目的项目数据。
图1.创建新的测试项目
如果需要创建更多的测试项目,可以通过首页的测试项目管理链接,然后在测试项目管理页面点击创建按钮进行创建。
创建完毕,还可以对其进行编辑修改等操作。
管理测试需求
测试需求分析是软件测试流程中的重要活动之一,通过分析测试需求可以明确测试范围、掌握每一个功能的业务处理流程。
在TestLink中,可以使用测试需求规约管理功能维护测试需求分析的产出文档。
被测软件产品根据功能模块进行划分,可以产生多个测试需求规约文档(RequirementSpecification),每个测试需求规约文档又可以包含若干个测试需求文档。
需求规约的创建很简单,在主页点击需求规约链接,进入相应的管理页面。
单击页面左侧的需求规约导航树的根节点,然后在右侧页面点击创建按钮,进入需求规约创建页面。
需要提供的信息为文档编号(在导航树上作为前缀显示),标题,范围和类型。
需求规约文档的类型包括系统需求、软件需求和用户需求等三种。
在树节点上点击刚刚创建的需求规约,然后点击创建测试需求按钮。
需要为测试需求提供的信息包含文档标识,标题,范围,文档状态、类型和需要的测试用例数目,详见图2。
对于需求规约和需求文档,TestLink提供了丰富的操作,可以进行编辑、冻结、复制、创建新版本、导入导出等等。
图2.创建新的需求文档
管理测试用例
在TestLink中,每个测试项目包含一个测试规约(TestSpecification),每个测试规约包含若干测试套件(TestSuite)。
每个测试套件包含若干测试用例(TestCase),每个用例包含若干测试步骤(TestStep)。
测试工程师使用测试套件维护具有共性的测试用例集合。
在TestLink中创建测试套件的时候,需要指定标题、详细的描述信息,还可以为测试套件指定预先定义的关键字。
测试用例是数据输入、先决条件、执行动作和期望结果的集合,用于验证程序满足特定的需求。
在TestLink中创建测试用例,需要维护下面的信息:
∙测试用例标题创建完毕,用例标题显示在左侧导航树上;
∙摘要简单介绍测试用例,描述参考引用等;
∙前提条件描述在执行此用例前需要做的准备工作,测试数据准备等等;
∙测试方式分为手工测试与自动化测试;
∙测试用例等级根据用例的重要程度,分为低、中或高等级别;
∙关键字可以为测试用户指定预先定义的关键字,用于搜索功能。
∙
创建完毕测试用例之后,还需要创建测试步骤。
测试步骤是测试用例的核心组成部分,用例的测试步骤包含执行信息,期望结果和执行类型等。
还可以在测试用例和测试需求之前建立关联关系,用于统计测试需求覆盖情况。
一些相关的文档可以作为附件上传到相应的测试套件和测试用例附件区。
图3.完成的演示测试用例
管理测试计划
测试计划(TestPlan)是执行测试的基础,它包含计划名称、描述、需要执行的测试用例、测试构建、测试人员任务分配和优先级定义等。
在测试计划管理页面,点击创建按钮进行创建,在创建页面为新测试计划提供下述信息:
∙测试计划名称用于标示测试计划;
∙计划描述描述部分可以添加项目计划和项目文档的链接,需要测试的功能特性列表,测试风险预警等;
∙从存在的计划复用创建默认为No,当选择从其他计划基础上创建时,被选计划的构建信息,测试用例信息,优先级定义信息、里程碑和用户角色等被复制过来。
在测试补丁版本时,经常使用该功能创建测试计划;
∙是否活跃计划需要处于激活状态才能显示在主页和执行页面的测试计划下拉框里;
∙是否公开是否能被其他权限用户使用。
∙
构建(Build)是软件的一个发布版本。
迭代开发时,在最终的发布版本之前,会发布若干测试版本,每个测试版本都是一个构建。
在TestLink中,测试执行基于构建和测试用例,在执行用例之前,需要创建构建。
测试用例是测试计划的核心组成部分,在首页上提供了添加/删除测试用例到测试计划链接。
可以选择测试用例及其具体版本号,然后点击增加选择的测试用例按钮进行添加。
除了添加用例,还可以选择将用例移出测试计划。
测试计划还包含执行顺序的特性,可以为测试用例定义先后执行顺序。
在测试用例拥有依赖关系时,使用顺序可以明确应该首先执行哪些用例。
同一个测试计划也许需要测试团队的若干人来完成,可以把计划的用例分配给不同的测试人员分布执行测试。
在首页点击指派执行用例链接,进入分配页面。
选择测试套件或测试用例,分配给特定的测试员,进行保存。
测试平台(Platform)也是TestLink的一个重要概念,它在测试项目级别定义,是执行测试用例运行所在的基础单元。
平台可以是一个浏览器、操作系统、硬件设备、配置或者一系列的组合,比如WebSphere+DB2+AIX,WebLogic+Oracle+Solaris可以分别定义两个平台。
管理测试执行
在完成上述准备工作之后,进入的是测试执行(TestExecution)阶段。
在首页选择一个测试计划,然后点击执行测试,进入测试执行页面。
左侧是用例导航树,可以设置过滤器显示关注的测试套件和用例。
选择一个被执行的测试用例,在右侧显示选中的测试用例的测试结果设置信息。
执行完毕一个测试用例,把通过、失败或阻塞等测试结果分配给相应的测试用例。
除了测试结果,可以添加执行时的描述信息,或者上传附件。
如果集成了缺陷管理系统,还可以关联缺陷信息。
管理测试报表
测试报表(TestReports)用于展示测试计划的用例执行情况。
测试报表有以下几种格式:
∙HTML–报表在TestLink页面展示
∙OpenOfficeWriter–报表可以导出为OpenOfficeWriter格式
∙OpenOfficeCalc-报表可以导出为OpenOfficeCalc格式
∙MSExcel-报表可以导出为MicrosoftExcel格式
∙HTMLEmail–报表发送HTML邮件给当前用户。
需要预先配置邮件设置。
∙Charts–基于Flash技术的图表
XML-RPC接口介绍
TestLink自从版本1.8.0起,开始提供XML-RPC接口。
在界面上可以完成的操作,大都可以通过API接口编程自动化的实现。
通过调用这些接口,可以对TestLink进行定制,开发与其他研发平台进行集成的程序。
用户通过实现自己的XML-RPC客户端,可以很方便地调用TestLink的接口方法,比如createTestProject、uploadAttachment、getTestProjectByName等等。
在默认情况下,XML-RPCAPI处于关闭状态,需要修改配置文件来启用XML-RPCAPI。
在使用XML-RPC接口之前,XML-RPC客户端需要获取一个访问TestLink的密钥。
登录到TestLink系统,在个人帐号页面点击"生成新的密钥"按钮,即可获取需要的密钥值,见图4。
图4.生成密钥
接下来,演示一下如何调用TestLink的编程接口。
TestLink软件安装目录testlink\lib\api\sample_clients\java中提供了基于Java的ApacheXML-RPC客户端实现的例子。
把它导入到Eclipse工作区,建立EclipseJava工程TestlinkAPISampleJavaClient。
重新配置一下构建路径,导入需要的第三方Jar文件,确保没有编译问题。
可以在工程的源代码包org.testlink.api.client.sample下面发现两个Java文件。
一个是clientAddTestCaseToTestPlan.java,用于演示如何通过接口调用把测试用例添加到测试计划中,需要提供测试项目编码,测试计划编码,测试用例的外部编码及测试用例的版本号作为参数。
另外一个是TestlinkAPIXMLRPCClient.java,用于演示如何通过接口调用修改测试执行的结果状态,需要提供测试用例编码、测试计划编码和执行结果状态作为参数。
在编译、运行这两个Java文件之前,使用实际数值替换Java文件中的密钥值DEV_KEY及TestLink站点的SERVER_URL,如清单5所示:
清单5.修改密钥和URL
//替换使用你的密钥
publicstaticfinalStringDEV_KEY="8f86a2a64b634aec65eeab1511646238";
//替换使用你的ServerURL
publicstaticfinalStringSERVER_URL="http:
//localhost/testlink/lib/api/xmlrpc.php";
运行那些Java文件,可以看到执行成功的信息。
除了这些例子,可以在文件\testlink\lib\api\xmlrpc.class.php的__construct()函数中查询到更多的接口。
除了如上所示的直接编写XML-RPC客户端代码外,还可以使用SourceForge提供的开源Java项目TestLinkJavaAPI。
TestLinkJavaAPI是独立于Testlink之外单独维护的项目,但版本号和TestLink保持一致。
在TestLink发布新版本之后,比如对应版本TestLink1.9.4,TestLinkJavaAPI会发布版本1.9.4-1,其中末位数字1表示内部修订版本号,用于控制缺陷修改和功能提升。
访问TestLinkJavaAPI网站,下载TestLinkJavaAPIJar文件及其依赖的第三方类库,把它们添加到构建路径后,就可以很方便的编写自己的客户端代码调用TestLink接口。
见清单6,实现了使用TestLinkJavaAPI创建项目。
清单6.使用TestLinkJavaAPI创建项目的例子
Stringurl="http:
//:
/testlink/lib/api/xmlrpc.php";
StringdevKey="key";
TestLinkAPIapi=null;
TestProjectproject=null;
URLtestlinkURL=null;
try{
testlinkURL=newURL(url);
api=newTestLin