天道酬勤

(转)TestDirector项目数据迁移

上一篇 / 下一篇  2007-04-13 11:00:05

51Testing软件测试网4Z)]!Q!WgW q'tY

文章出处:http://www.51testing.com/html/51/134.html  作者:单吉勇  林万枝51Testing软件测试网#D^VY%Z

w8U(K K)p;\f0 

E `0G HJE+{6Z+^+O3c0

[HYK*\Z.X8K+o5WUP'k0【摘要】TestDirector, (以下简称TD)它是Mercury Interactive 公司推出的基于WEB浏览器环境下的测试管理工具。通过TD的流程控制可以规范软件企业的测试流程、改善测试质量、减轻测试人员的负担、提高工作效率。在接触TD过程中仍然存在着很多未知领域等待着我们这些从事软件测试工作的同行去研究去拓展,如何更有效的使用TD提高我们的测试管理,将是我们继续研究关注的方向。本文总结了我们在移植TD项目方面的一些经验和技巧,希望对大家有所帮助。

D;G t)DQ8o$C0

Fm*Lel8fY0【关键词】项目移植集成工作环境分布式工作环境51Testing软件测试网]Mk:b}0z$ta

sj?].Y%c2\H0这里我们先将以上的几个名词解释一下:

:tIxd uF:tq051Testing软件测试网(o8w9p3Ij"b(|

项目移植:这里说的项目移植是指将已经建立的TD项目整体文件在保证数据安全和完整的前提下移植到其他服务器的过程,这个过程包括以下几个方面(1)数据库的移植(2)项目文件的移植(3)项目配置文件的移植。经过移植后的TD项目可以实现双机备份的功能。

-Z2e)uy&df8\1Ha051Testing软件测试网b_ w4}9qv2b~6w

集成工作环境:我们把TD服务程序和TD 使用的数据库存放在同一台计算机上的这种工作环境称为集成工作环境。这种工作环境节省成本,维护较复杂,不利于数据的安全性。51Testing软件测试网2f%oc@ v u|

/k&}4n-@\/S7vT(H*W0分布式工作环境:我们把TD服务器程序和TD后台使用的数据库存放在不同机器上,也就是使用单独的一台计算机作为TD项目的数据库服务器,TD服务程序通过网络访问数据库服务器,这种工作环境称为分步式工作环境。这种环境的成本较高,但是利用维护,数据的安全性较高。对一些专业性的企业尤其是需要将TD开放到Internet上,我们建议使用这种工作环境。

#J*?/a-e$W1`Vn say'a$A0

a {/UE+C0移植说明

.hi9y;`/`P0q&c0

GJG2r.KBSMl0基于IIS WEB服务下的TD服务程序支持的数据库有ACCESS,SQL SERVER、SYBASE、ORACLE。由于ACCESS数据库的迁移比较容易本文就不介绍,本文主要讨论SQL SERVER数据库的移植。掌握SQL SERVER数据库类型的TD项目移植,对ORACLE、SYBASE类型数据库的项目移植工作也能做到触类旁通。下面大家就跟我们一切进入TD项目移植的具体工作吧!

1i*P$lN1I\8G0

:v8?_GSix|0下面的移植工作,我们选用了一个名为:E-CIS的项目进行实例移植,同时我们将其他计算机上的TD项目(SAAA、SIMS、E-ICID)与E-CIS进行了合并。

\ad;`;\n4i4T kd0

5s'd@j5T sO0。集成工作环境的数据迁移51Testing软件测试网dH1Qbk

\N4D*g cwc@B W"n01、拟分析产生的原因和解决方法51Testing软件测试网5g(Gb]:a E3o(A#X6u!`

C+F?khEq/o\0产生的原因:

G-beN'd_(Pi0

4C.[tR#DJr0由于我们配置的TD服务器与数据库服务器是同一台计算机,一旦计算机发生故障,TD项目中的数据既便是备份出来也很难恢复,其主要原因是:

O ^2z2`3^9B0
  • 使用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项目的一个重要因素。
51Testing软件测试网 e$T${JS eM

2、移植前的备份工作51Testing软件测试网{2H Dam:z

{xZR3h&m)H$R"p0在正式移植之前,我们首先要做好数据的备份工作,这也是我们移植工作的一部分,虽然我们现在的移植技术已经相对较成熟,但是我们还是要建议大家移植之前的备份是很有必要的。备份主要备份以下的数据:

l"OJ xj051Testing软件测试网d8Q\ i o

.备份DomsInfo目录;

9sR;lK"m6A2?0

(e c9q)Ie ZQ0默认在C:\Program Files\Common Files\Mercury Interactive下。这个目录包含了Doms.mdb文件(用户信息和工程列表)、connection strings(连接字符串)、parameters(参数)、global style sheets(全局风格表)、the database template(Empty_DB.mdb)(一些临时数据)

&~ttbS8W;n5w+X0

7U6`3c(n)T{c0.备份TD项目安装文件;51Testing软件测试网y-LE|(e+HQ*k

51Testing软件测试网fx!w3N ~#~

TD_Dir包含每个工程的自动测试、附件、设置、风格列表。默认在C:\TD_Dir\Default目录下,打开这个目录可以看到TD的工程文件,我们需要将这些工程文件备份下来。

&l&^#d8ok&V7_*e3Fw(v]0

WSMR},_:j0.备份项目数据库;51Testing软件测试网d,R4A,K.v(e

;\cfojy,t @0备份项目用的数据库文件。

1p Q HW.f X-U051Testing软件测试网W dF|O!Z:S_5u

3、移植工作

^VxdR]gg9YO051Testing软件测试网0N)Y/CPo"f

移植工作分为四个部分:

a.G$Qw%s6h b-?0

mB W:cd0^ |{#a0――数据库的迁移;51Testing软件测试网-P`tNY U9o

%s:@#xtU;Pk)t,_0――建立访问数据表文件的TD用户;51Testing软件测试网Z`[;o4v;\:b:C6h7hm

hpMT:r0――修改TD的项目配置数据库(Access);51Testing软件测试网mw#p!@:G

!OR2Leo,A[ Y0――修改Project中的INI文件。51Testing软件测试网,u:Eu H9N"}J0m/~

`k}!_MfI01)数据库的迁移:51Testing软件测试网R!X9I/k`-c3Vi(H u5I

51Testing软件测试网;Vc;P\'E*F

数据库的移植目的是:将项目数据库从原来的计算机移植到新的计算机。51Testing软件测试网$d"~/U {|L

51Testing软件测试网3K'h:x iSoakH

具体思路:通过SQL Server 集成的导入和导出数据功能将原数据库文件导入新的SQL Server服务器中。在这个过程,原表中由TD用户创建的表也会更改为DBO用户创建。例如:数据库中的表ALL_LISTS原来由td用户创建,移植后ALL_LISTS表的用户更改为dbo这样问题也就解决了。51Testing软件测试网*Wxed ? v1rEm

|lwi1@F&AmK0我们现在开始图解数据库的操作:51Testing软件测试网1E@ Q9[d | T

          从开始菜单中打开“导入和导出数据”如图:
  

5mA o G_%]/T0         单击 “Next”51Testing软件测试网A1k8Hpu;Hdq,T

  

K!r2a W'S7]H)?0         选择要恢复的数据源后单击“Next”

MD@ }7L*Qs!k0
  
51Testing软件测试网8{[ pg%M Z#[%Q

   设置数据库恢复到的位置,注意:需要在数据库这里设定数据库被恢复的名称,点击    

w5e,SA$OSv[0
  
51Testing软件测试网&v$H z2ClXV:A:}Ez

          建立数据库名称后,单击确定后,再“Next”按钮:51Testing软件测试网 }a&_ L'i @

  

Ju`.w|-u/GP3I0         再“Next”(这个选项选择第三项更具有完整性)51Testing软件测试网&n8z D/cp

  
51Testing软件测试网dQ)C^/Q(XC&w Ii

         选择需要恢复的数据表后(在这里选择全部表),再”Next”:

\jU7~g3P uq0
  
51Testing软件测试网0D:V{j4D ^&m

         准备开始恢复,单击“Next”:

0q cws%yM^qO0
  
51Testing软件测试网C;iL;X(di [5U

         单击”Finish”按钮,开始恢复:51Testing软件测试网o3J%kCA

  

3I7EiPMg)N?\XK9Q0          恢复成功后出现提示:51Testing软件测试网 \X4Re/{il,p"S J

  

9[~RyD7L9^Z Q0数据库恢复完成。51Testing软件测试网4K'i%v%` i$eyjS

51Testing软件测试网(f?2m#`9[0WT7]H

2)建立访问数据表文件的TD用户:51Testing软件测试网9u,h*JST U B

H%b#Rq"LG0建立td用户的目的是:使td用户具有访问新恢复项目数据库的权限。

C4j+u g1[+g C V b051Testing软件测试网y&A,_ h5G(~

具体思路:建立一个名为td的用户,使这个用户具有访问TD项目数据库的控制权限,TD通过这个用户对项目数据库进行增、删、改的操作。51Testing软件测试网 |4m(j {j5{

V7_sp7sC(_ h%p i0打开企业管理器,在目标数据库计算机中建立TD用户,并且设定TD用户访问的数据库。

$a&g/S+A:I)z/l0
  
51Testing软件测试网Z _ @sdz!G%@

        在登录项中新建用户,在弹出的对话框中设定td用户相关的属性,如:

$U/{qJG*x0
  
51Testing软件测试网{3r4C+[G]y+oj;B

设定的密码可以根据用户确定,这里设定为:tdtdtd;在“服务器角色”中设定td用户的权限,我们给出建议设定为“System Administrators”:51Testing软件测试网 B1gL{h'{y

  

{$y r,]7^8u0              完成“服务器角色”的设定,为td用户设定数据库访问的权限:

_*kYu)JBIP0
  
51Testing软件测试网6]F oUlyo

设定td用户能够访问TD项目的数据库和Master数据库。设定完成后,确认td用户默认数据库是否为Default_e-cis_db

ek4vcS051Testing软件测试网2Dk+n[:zu4e[

设定完成。51Testing软件测试网~hA1zNs%r-c

,g/W,\r/s03):修改TD的配置项目文件(Access):51Testing软件测试网eZ+QeMz

PW RQ?Uq?)XI B0修改配置文件目的是:将项目文件(TDDIR目录下存在的项目文件)和项目数据库进行关联。

~(O/FC|#z7V051Testing软件测试网1{6pi-X?e0l ?

具体思路:修改ACCESS数据库中每一个配置参数,使TD项目文件和项目数据库关联,通过这个操作我们还可以实现多个TD项目合并删除的功能。(在这里我们就不详细介绍,有兴趣的朋友可以研究一下)51Testing软件测试网`b{0x `*r6W

51Testing软件测试网9]ceoisP

在TD安装的计算机中的C:\Program Files\Common Files\Mercury Interactive\DomsInfo目录下打开doms.mdb文件,此文件是经过加密处理的,其密码为:tdtdtd

t.uG9J6b!HNj051Testing软件测试网"b;^8S` Woa u3P|)R

打开后可以看到相应的表:

'~8I4EMyI9c2ML6X f%` q0
  

K#O'rC"x E |0这些表,存放着TD所有的配置信息,是很重要的,我们根据自己的工作环境实际配置这个表,其中需要修改的表是:DBSERVER、DOMAINS、PARAMS、PROJECT和TDSERVERS这五个表。

{P1ax w Qv6Ejt0a.DBSERVER表中主要修改DBSERVER_NAME(目标数据库服务器的IP如本例为10.168.188.151)、DB_USER_PASS(用户密码如tdtdtd)、DB_ADMIN_USER(管理用户名如td)和DB_ADMIN_PASSWORD(管理用户密码如tdtdtd)字段的值,如下图:
  

#^R{ D'e!zs0      b.DOMAINS表中主要修改PHYSICAL_DIRECTORY字段的值。(基本上不要修改)51Testing软件测试网.y9W[.Db

  
51Testing软件测试网fUiB7b~o

     c.PARAMS表中主要修改PARAM_VALUE字段的值。(基本上不要修改)

g U$g5g BM.Q0
  

{*q.L+A8W0d.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地址)。51Testing软件测试网3^yg%RSO's

  

*pq:Lg3~&of!T0     e.TDSERVERS中主要修改DBSERVER_NAME、TD_IP_ADDRESS

WG)vu ]k7rO0
  

Z {.r:|?w? L#[;C@0说明:以上修改是针对移植工作修改的表,如果我们需要将分布在多台计算机上的TD项目合并移植到一台服务器上,还需要修改ACCESS数据库中的SEQUENCES表中的USER_SEQ字段的数值,这个字段是用来控制用户数量,如果数值太小TD部分用户就出现无法登录的现象。

)?2L a/WI0
  
51Testing软件测试网 bSnmf/JW? g

总结:修改的内容还需要根据自己的实际情况进行修改,我这里只列出常修改的一些字段。

k"?%O E\g'p7D051Testing软件测试网hk5XV)mZ,v1XL

4):修改Project中的INI文件:

J9s;~aO#@Xs051Testing软件测试网M$k GK-Na7S5@

修改INI文件目的是:ini文件保存数据库信息,TD程序信息,项目名称以及相关的内容。51Testing软件测试网\st%o"D

.f*?Q3Vysj0具体思路:修改ini文件配置参数,使TD项目文件和项目数据库关联。51Testing软件测试网1N0g3CX9FJPXm-y

0cxg_Z0将C:\TD_Dir\Default目录下面的E-CIS项目文件,拷贝到备份的计算机中,然后修改E-CIS文件夹内的Dbid.ini文件:

,l+xBQ w ^;r051Testing软件测试网 ^/Z-JCD

Dbid.ini 内容:51Testing软件测试网Dv]J{U&R

o-i6|W6et0[General]

S:?:Au pL$Uu0

(_0C^5O0D'h)q0Database_Type=MSSQL51Testing软件测试网-_v$Gd7v4@4Yh]

51Testing软件测试网 yKwRImQ

Created_Date=08/11/04 15:44:39

^8kyws;{0

0z3l$qJ i3Ri0Created_By=td

[ o4q{ N+}d%V0

:U'TX(iC_ v~0AliasName=E-CIS51Testing软件测试网s8o yT$P0T!@ SK

R^1H Q X:M0a@c0Database Name=default_e_cis_db

tYQ S8L;R0

,O,LE5rt"F0Database Server=10.168.188.22951Testing软件测试网*qX)edW?*T%{R

;@;])e};_ t(?6e0N0Domain Name=DEFAULT

]VF8e,e"v051Testing软件测试网&Q @@9P-f

SendAllQualified=Y51Testing软件测试网r"}#s ]L@ @b

51Testing软件测试网uqLg$^

Has_VCS_DB=Y51Testing软件测试网$e:{ t5h${

51Testing软件测试网^E&r1xp FS

主要修改的内容是:

2dbj6SQ8e.K\051Testing软件测试网L1N6ja@ ^

Database Name=default_e_cis_db51Testing软件测试网)tL6f5v9C#E/e6r

51Testing软件测试网2FkAIsr` C7G

Database Server=10.168.188.229

@&wce t051Testing软件测试网rz#Vg R'@E#~

按照实际情况填写这些信息,就ok了。51Testing软件测试网NTTs:h6I

?gX}1?p*i0总结:通过以上的介绍,我们集成工作环境的移植工作就已经完成了。经过这样的移植,我们可以实现TD项目的双机备份,双机备份可以让我们的数据更安全、更有保障。

1y1t!tS~%hg051Testing软件测试网s_:v(l }R? i `"tBo

.分布式工作环境的备份和恢复方法51Testing软件测试网u,R!@All$J"|thW]T

51Testing软件测试网0Y+} }/Pu]H&W

分布式工作环境的项目移植相对集成工作环境移植更简单,在这里我们不详细介绍,相信大家看过集成工作环境的移植对分布式移植不在话下了。51Testing软件测试网;rP _wJ$Awu7a

"rj7?;Z-p;F*AT,a8?8k0B3k0我们对分布式工作环境移植的思路:

a~X'A xojH0
  • 强调首先备份项目的数据。
  • 移植TDDir目录下的项目文件到新的服务器上。
  • 复制DomsInfo目录到新服务器C:\Program Files\Common Files\Mercury Interactive下。
  • 修改这个目录下Doms.mdb文件的参数。(修改的详细方法见集成工作环境的移植)
51Testing软件测试网 CdJ:|$U

总结:相对集成工作环境移植来说,分布式结构移植少了数据库的移植,可以继续使用原有的数据库,在移植过程中数据库的移植是移植成功与否的关键因素之一,少了这个过程相信大家移植更为方便。51Testing软件测试网 F7JY.hd

I|dev7~4W'P0【小结】以上我们介绍了两种结构的移植工作,经过上述修改项后,迁移数据的工作就已经成功,td服务器可以访问迁移后的数据库。通过移植工作,同时可以解决TD项目的双机相互备份的问题,保障数据的安全性。

)VIW?\+{TcI8O7w0

dCe[.wG0再次备份TD项目,只需要将原来TD后台数据库表中的数据导入另一台计算机中的数据库中,就可以实现。

AS5j"RFe7J'y%P051Testing软件测试网*lJ8R2^*rZ

【作者的话】针对项目移植的操作方法和注意事项介绍到此结束。由于我们文笔有限,可能有所疏漏之处,希望大家包涵。如果在以后的工作中,有关TD方面的问题也可以和我们联系。我们的E-MAIL是:

[:nu'n%L7X)vI(YK{0

n}&t}!~OhJH0单吉勇:shanjiyong@shinetechnology.com51Testing软件测试网O2U/aA \l RtEN

林万枝:linwanzhi@shinetechnology.com
 

TAG:

引用 删除 liuxia154207   /   2011-05-17 15:14:11
很好,谢谢!
 

评分:0

我来说两句

日历

« 2024-03-04  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 40717
  • 日志数: 65
  • 图片数: 1
  • 文件数: 2
  • 书签数: 13
  • 建立时间: 2006-12-27
  • 更新时间: 2008-05-31

RSS订阅

Open Toolbar