【摘要】TestDirector, (以下简称TD)它是Mercury Interactive 公司推出的基于WEB浏览器环境下的测试管理工具。通过TD的流程控制可以规范软件企业的测试流程、改善测试质量、减轻测试人员的负担、提高工作效率。在接触TD过程中仍然存在着很多未知领域等待着我们这些从事软件测试工作的同行去研究去拓展,如何更有效的使用TD提高我们的测试管理,将是我们继续研究关注的方向。本文总结了我们在移植TD项目方面的一些经验和技巧,希望对大家有所帮助。
【关键词】项目移植集成工作环境分布式工作环境
这里我们先将以上的几个名词解释一下:
项目移植:这里说的项目移植是指将已经建立的TD项目整体文件在保证数据安全和完整的前提下移植到其他服务器的过程,这个过程包括以下几个方面(1)数据库的移植(2)项目文件的移植(3)项目配置文件的移植。经过移植后的TD项目可以实现双机备份的功能。
集成工作环境:我们把TD服务程序和TD 使用的数据库存放在同一台计算机上的这种工作环境称为集成工作环境。这种工作环境节省成本,维护较复杂,不利于数据的安全性。
分布式工作环境:我们把TD服务器程序和TD后台使用的数据库存放在不同机器上,也就是使用单独的一台计算机作为TD项目的数据库服务器,TD服务程序通过网络访问数据库服务器,这种工作环境称为分步式工作环境。这种环境的成本较高,但是利用维护,数据的安全性较高。对一些专业性的企业尤其是需要将TD开放到Internet上,我们建议使用这种工作环境。
。移植说明
基于IIS WEB服务下的TD服务程序支持的数据库有ACCESS,SQL SERVER、SYBASE、ORACLE。由于ACCESS数据库的迁移比较容易本文就不介绍,本文主要讨论SQL SERVER数据库的移植。掌握SQL SERVER数据库类型的TD项目移植,对ORACLE、SYBASE类型数据库的项目移植工作也能做到触类旁通。下面大家就跟我们一切进入TD项目移植的具体工作吧!
下面的移植工作,我们选用了一个名为:E-CIS的项目进行实例移植,同时我们将其他计算机上的TD项目(SAAA、SIMS、E-ICID)与E-CIS进行了合并。
。集成工作环境的数据迁移
1、拟分析产生的原因和解决方法
产生的原因:
由于我们配置的TD服务器与数据库服务器是同一台计算机,一旦计算机发生故障,TD项目中的数据既便是备份出来也很难恢复,其主要原因是:
- 使用TD建立项目时,TD会在数据库中自动建立一个名为TD的用户,我们运行的E-CIS项目中所有的表都是由TD这个用户建立的,无法删除和添加这个用户。
- 在SQL查询分析器中可以看到所有相关的表都是td.*的格式,这样会造成如果SQL查询分析器是以其他用户登入,执行select * from all list出现错误。出现一定要加前缀后才能查询出来数据问题,这个就是造成恢复数据库后即使其他项目都配置正确,但TD依然不能正常使用的一个重要原因。
- 在安装TD后会在安装盘符:\Program Files\Common Files\Mercury Interactive\Domsinfo目录下,有一个用来存放系统信息的ACCESS数据库Doms.mdb,这个数据库由TD创建,并且是经过加密的,它存放着TD所有的配置信息。这个数据库是是否能够成功恢复TD项目的一个重要因素。
2、移植前的备份工作
在正式移植之前,我们首先要做好数据的备份工作,这也是我们移植工作的一部分,虽然我们现在的移植技术已经相对较成熟,但是我们还是要建议大家移植之前的备份是很有必要的。备份主要备份以下的数据:
.备份DomsInfo目录;
默认在C:\Program Files\Common Files\Mercury Interactive下。这个目录包含了Doms.mdb文件(用户信息和工程列表)、connection strings(连接字符串)、parameters(参数)、global style sheets(全局风格表)、the database template(Empty_DB.mdb)(一些临时数据)
.备份TD项目安装文件;
TD_Dir包含每个工程的自动测试、附件、设置、风格列表。默认在C:\TD_Dir\Default目录下,打开这个目录可以看到TD的工程文件,我们需要将这些工程文件备份下来。
.备份项目数据库;
备份项目用的数据库文件。
3、移植工作
移植工作分为四个部分:
――数据库的迁移;
――建立访问数据表文件的TD用户;
――修改TD的项目配置数据库(Access);
――修改Project中的INI文件。
1)数据库的迁移:
数据库的移植目的是:将项目数据库从原来的计算机移植到新的计算机。
具体思路:通过SQL Server 集成的导入和导出数据功能将原数据库文件导入新的SQL Server服务器中。在这个过程,原表中由TD用户创建的表也会更改为DBO用户创建。例如:数据库中的表ALL_LISTS原来由td用户创建,移植后ALL_LISTS表的用户更改为dbo这样问题也就解决了。
我们现在开始图解数据库的操作:
从开始菜单中打开“导入和导出数据”如图:单击 “Next”
选择要恢复的数据源后单击“Next”
设置数据库恢复到的位置,注意:需要在数据库 这里设定数据库被恢复的名称,点击
建立数据库名称后,单击确定后,再“Next”按钮:
再“Next”(这个选项选择第三项更具有完整性)
选择需要恢复的数据表后(在这里选择全部表),再”Next”:
准备开始恢复,单击“Next”:
单击”Finish”按钮,开始恢复:
恢复成功后出现提示:
数据库恢复完成。
2)建立访问数据表文件的TD用户:
建立td用户的目的是:使td用户具有访问新恢复项目数据库的权限。
具体思路:建立一个名为td的用户,使这个用户具有访问TD项目数据库的控制权限,TD通过这个用户对项目数据库进行增、删、改的操作。
打开企业管理器,在目标数据库计算机中建立TD用户,并且设定TD用户访问的数据库。
在登录项中新建用户,在弹出的对话框中设定td用户相关的属性,如:
设定的密码可以根据用户确定,这里设定为:tdtdtd;在“服务器角色”中设定td用户的权限,我们给出建议设定为“System Administrators”:
完成“服务器角色”的设定,为td用户设定数据库访问的权限:
设定td用户能够访问TD项目的数据库和Master数据库。设定完成后,确认td用户默认数据库是否为Default_e-cis_db
设定完成。
3):修改TD的配置项目文件(Access):
修改配置文件目的是:将项目文件(TDDIR目录下存在的项目文件)和项目数据库进行关联。
具体思路:修改ACCESS数据库中每一个配置参数,使TD项目文件和项目数据库关联,通过这个操作我们还可以实现多个TD项目合并删除的功能。(在这里我们就不详细介绍,有兴趣的朋友可以研究一下)
在TD安装的计算机中的C:\Program Files\Common Files\Mercury Interactive\DomsInfo目录下打开doms.mdb文件,此文件是经过加密处理的,其密码为:tdtdtd
打开后可以看到相应的表:
这些表,存放着TD所有的配置信息,是很重要的,我们根据自己的工作环境实际配置这个表,其中需要修改的表是:DBSERVER、DOMAINS、PARAMS、PROJECT和TDSERVERS这五个表。
a.DBSERVER表中主要修改DBSERVER_NAME(目标数据库服务器的IP如本例为10.168.188.151)、DB_USER_PASS(用户密码如tdtdtd)、DB_ADMIN_USER(管理用户名如td)和DB_ADMIN_PASSWORD(管理用户密码如tdtdtd)字段的值,如下图:b.DOMAINS表中主要修改PHYSICAL_DIRECTORY字段的值。(基本上不要修改)
c.PARAMS表中主要修改PARAM_VALUE字段的值。(基本上不要修改)
d.PROJECT表中主要增加或修改一个记录就行了,其关键字段表示的意思是PROJECT_ID(项目ID号不能重复),PROJECT_NAME(项目名称),DB_NAME(项目对应的数据库名称如本例的default_e_cis_db),DB_TYPE(数据库类型1为ACCESS,2为SQL SERVER),PHYSICAL_DIRECTORY(TD服务器中的共享目录如本例为\\10.168.188.152\td_dir\default\e_cis、DB_USER_PASS(TD用户密码如本例为tdtdtd)、DBSERVER_NAME(数据库的IP地址)。
e.TDSERVERS中主要修改DBSERVER_NAME、TD_IP_ADDRESS
说明:以上修改是针对移植工作修改的表,如果我们需要将分布在多台计算机上的TD项目合并移植到一台服务器上,还需要修改ACCESS数据库中的SEQUENCES表中的USER_SEQ字段的数值,这个字段是用来控制用户数量,如果数值太小TD部分用户就出现无法登录的现象。
总结:修改的内容还需要根据自己的实际情况进行修改,我这里只列出常修改的一些字段。
4):修改Project中的INI文件:
修改INI文件目的是:ini文件保存数据库信息,TD程序信息,项目名称以及相关的内容。
具体思路:修改ini文件配置参数,使TD项目文件和项目数据库关联。
将C:\TD_Dir\Default目录下面的E-CIS项目文件,拷贝到备份的计算机中,然后修改E-CIS文件夹内的Dbid.ini文件:
Dbid.ini 内容:
[General]
Database_Type=MSSQL
Created_Date=08/11/04 15:44:39
Created_By=td
AliasName=E-CIS
Database Name=default_e_cis_db
Database Server=10.168.188.229
Domain Name=DEFAULT
SendAllQualified=Y
Has_VCS_DB=Y
主要修改的内容是:
Database Name=default_e_cis_db
Database Server=10.168.188.229
按照实际情况填写这些信息,就ok了。
总结:通过以上的介绍,我们集成工作环境的移植工作就已经完成了。经过这样的移植,我们可以实现TD项目的双机备份,双机备份可以让我们的数据更安全、更有保障。
.分布式工作环境的备份和恢复方法
分布式工作环境的项目移植相对集成工作环境移植更简单,在这里我们不详细介绍,相信大家看过集成工作环境的移植对分布式移植不在话下了。
我们对分布式工作环境移植的思路:
- 强调首先备份项目的数据。
- 移植TDDir目录下的项目文件到新的服务器上。
- 复制DomsInfo目录到新服务器C:\Program Files\Common Files\Mercury Interactive下。
- 修改这个目录下Doms.mdb文件的参数。(修改的详细方法见集成工作环境的移植)
总结:相对集成工作环境移植来说,分布式结构移植少了数据库的移植,可以继续使用原有的数据库,在移植过程中数据库的移植是移植成功与否的关键因素之一,少了这个过程相信大家移植更为方便。
【小结】以上我们介绍了两种结构的移植工作,经过上述修改项后,迁移数据的工作就已经成功,td服务器可以访问迁移后的数据库。通过移植工作,同时可以解决TD项目的双机相互备份的问题,保障数据的安全性。
再次备份TD项目,只需要将原来TD后台数据库表中的数据导入另一台计算机中的数据库中,就可以实现。
【作者的话】针对项目移植的操作方法和注意事项介绍到此结束。由于我们文笔有限,可能有所疏漏之处,希望大家包涵。如果在以后的工作中,有关TD方面的问题也可以和我们联系。我们的E-MAIL是:
单吉勇:shanjiyong@shinetechnology.com
林万枝:linwanzhi@shinetechnology.com