一个人不应该依附在其他人身上,一个人应该首先自力更生。你应该自己能够独立,能够安顿你自己,那你就不会害怕了。你爱你自己的话,别人不能不爱你吧。

TestDirector项目数据迁移(转载)

上一篇 / 下一篇  2007-06-26 09:48:12 / 个人分类:TD

 
TestDirector项目数据迁移
――让您的TD项目活起来

作者:单吉勇  林万枝

-X6C.Gn ptJE0

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

51Testing软件测试网keG S9_{*p [B7^

【关键词】项目移植集成工作环境分布式工作环境51Testing软件测试网"c w$Pw2MA

z}.lyKm$@*bn0这里我们先将以上的几个名词解释一下:

J`,vu!C\3dI#M051Testing软件测试网!C!\!pTm,q gH-J1A

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

eUc&D"h0

#eK)cU0s#F0集成工作环境:我们把TD服务程序和TD 使用的数据库存放在同一台计算机上的这种工作环境称为集成工作环境。这种工作环境节省成本,维护较复杂,不利于数据的安全性。51Testing软件测试网#RcD1^3@$HRx

51Testing软件测试网0hU4qQp~$E$mp

分布式工作环境:我们把TD服务器程序和TD后台使用的数据库存放在不同机器上,也就是使用单独的一台计算机作为TD项目的数据库服务器,TD服务程序通过网络访问数据库服务器,这种工作环境称为分步式工作环境。这种环境的成本较高,但是利用维护,数据的安全性较高。对一些专业性的企业尤其是需要将TD开放到Internet上,我们建议使用这种工作环境。51Testing软件测试网$@.sp8U;OgR9sR

U'~s k {.?0移植说明51Testing软件测试网l}i)cc-ZK%H

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

lN+eVV9_ Wap@0

~%MZ;VUJs0下面的移植工作,我们选用了一个名为:E-CIS的项目进行实例移植,同时我们将其他计算机上的TD项目(SAAA、SIMS、E-ICID)与E-CIS进行了合并。51Testing软件测试网*S TFu!KT ga

51Testing软件测试网nq*[b+p

。集成工作环境的数据迁移

@)j/H6p&y!bb&j"i%a051Testing软件测试网%vC^r:c`5k

1、拟分析产生的原因和解决方法

?wFyp051Testing软件测试网F~ ?@k[:{$f

产生的原因:51Testing软件测试网 A*_-u;W-V(w|G4} m

51Testing软件测试网#G0A-Y&M;u;Q,I,h q*l!w

由于我们配置的TD服务器与数据库服务器是同一台计算机,一旦计算机发生故障,TD项目中的数据既便是备份出来也很难恢复,其主要原因是:51Testing软件测试网,r?/NM"JT i

  • 使用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软件测试网:H:K#h g)_#j n@4A3m

2、移植前的备份工作51Testing软件测试网+F5l2B4_!_

51Testing软件测试网-~#v!] t`wDt

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

:jO.O Z,z-f3a9PQ051Testing软件测试网8}|;U;CaG

.备份DomsInfo目录;

|ZCX3j_0

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

KZ/k(b R[a051Testing软件测试网D f7\2bH

.备份TD项目安装文件;

9{Ps bA8B"T:VA051Testing软件测试网1u7j ^ YsK+^ D

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

&|G juX2c7TIy0.备份项目数据库;51Testing软件测试网7a*j| p4\-A7Rg

51Testing软件测试网tZ&tL1b#ap

备份项目用的数据库文件。

;{1C,akIR%`5g0

F$xL:K*c{2K03、移植工作

-d^ig av7O0

~m DKP `0移植工作分为四个部分:

#O"\/vI}x&~QY9`0

|\2_*U%O0――数据库的迁移;

'|1Se U6Mt0

Q)L7a6mGE+i$UX0――建立访问数据表文件的TD用户;

7Y]4{ L)g wH051Testing软件测试网6YOK`&h#|xA1L

――修改TD的项目配置数据库(Access);51Testing软件测试网a:iKQGB:~

51Testing软件测试网4_d+]b \

――修改Project中的INI文件。51Testing软件测试网!\@#A@-Q DB Q.f

hS&L(p6Y01)数据库的迁移:

,r!aW+{@x3?l? T9bT/a0

8|!|M!N~F0数据库的移植目的是:将项目数据库从原来的计算机移植到新的计算机。51Testing软件测试网[.W!q&giO g5KH

}4lIQ"y q2U"b0具体思路:通过SQL Server 集成的导入和导出数据功能将原数据库文件导入新的SQL Server服务器中。在这个过程,原表中由TD用户创建的表也会更改为DBO用户创建。例如:数据库中的表ALL_LISTS原来由td用户创建,移植后ALL_LISTS表的用户更改为dbo这样问题也就解决了。51Testing软件测试网+xC$T/b:D;wH5?$b C

51Testing软件测试网p7KS"nG {#R9i q

我们现在开始图解数据库的操作:

&vV"G!iP |0          从开始菜单中打开“导入和导出数据”如图:
  
51Testing软件测试网I C_+C.u%ru

         单击 “Next”

)q;N;@(k9d'IY+p(T0
  

7RJ ~/| g(Vh0         选择要恢复的数据源后单击“Next”

:MF&hI8h;h*D0
  

Lx"^k#v*ace0   设置数据库恢复到的位置,注意:需要在数据库这里设定数据库被恢复的名称,点击    

bjW(Y%W4b Xac0
  

0_7xwJZ0`a^/b0          建立数据库名称后,单击确定后,再“Next”按钮:51Testing软件测试网9Bn*MWm XA sR{

  

OZK/s]/}B^1E0         再“Next”(这个选项选择第三项更具有完整性)51Testing软件测试网-? p~P/D*Y&c*\$U

  
51Testing软件测试网wD U&q^)^Z%mb

         选择需要恢复的数据表后(在这里选择全部表),再”Next”:51Testing软件测试网1w/c7t4sv!{

  
51Testing软件测试网"Fs$y)T3mD0f[\

         准备开始恢复,单击“Next”:51Testing软件测试网,Fx+x?jM4YM ~b

  

;q%}#REwit-j\0         单击”Finish”按钮,开始恢复:51Testing软件测试网/S#}L},W]j

  
51Testing软件测试网1b'@4Z1y&axd/v` M6zH

          恢复成功后出现提示:51Testing软件测试网$d#` AV P3R [%l*N

  

"MT#M!R&[,S x^#Y C0数据库恢复完成。51Testing软件测试网L2v]i5uZ

51Testing软件测试网6NMg|7r"H5V,M

2)建立访问数据表文件的TD用户:51Testing软件测试网 i!W/S[+f/`E-[9v

51Testing软件测试网7ib9GP.TK`(b

建立td用户的目的是:使td用户具有访问新恢复项目数据库的权限。

.U'^L)Zb~P0

:PwmMd8e3?0具体思路:建立一个名为td的用户,使这个用户具有访问TD项目数据库的控制权限,TD通过这个用户对项目数据库进行增、删、改的操作。

I}xCF$Wi u4n(B051Testing软件测试网[ vh6t\6\'yn

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

4HW @h/@8d0emJ0
  
51Testing软件测试网-T*h)Yn2k"k

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

wCvgP J0
  

~/y&PUI/W6SA0设定的密码可以根据用户确定,这里设定为:tdtdtd;在“服务器角色”中设定td用户的权限,我们给出建议设定为“System Administrators”:

V"u MX ?v|l0
  

-] SjQd6@0              完成“服务器角色”的设定,为td用户设定数据库访问的权限:51Testing软件测试网e3RX ReC

  

6Z:G o:R,a0设定td用户能够访问TD项目的数据库和Master数据库。设定完成后,确认td用户默认数据库是否为Default_e-cis_db51Testing软件测试网Md x.P{,cVG)Q

51Testing软件测试网 q Q"ye3C c

设定完成。51Testing软件测试网Sk~"nw9`){7x

F u0MY7|H/B8WAH03):修改TD的配置项目文件(Access):51Testing软件测试网8_]$X0VQ,z,gg

51Testing软件测试网e%rkYFKv!GLd*E

修改配置文件目的是:将项目文件(TDDIR目录下存在的项目文件)和项目数据库进行关联。51Testing软件测试网-{)ApD&dE

51Testing软件测试网3u5Sfkl5Kg

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

51Testing软件测试网&v6Y r?/ua F%K7f

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

B ]AT|7a051Testing软件测试网ZQ3sYN S4p/o

打开后可以看到相应的表:51Testing软件测试网 { Y4v!y4@V ] S

  

V$^2tZx ?*F0这些表,存放着TD所有的配置信息,是很重要的,我们根据自己的工作环境实际配置这个表,其中需要修改的表是:DBSERVER、DOMAINS、PARAMS、PROJECT和TDSERVERS这五个表。

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

!WC(x6F-qUH3sT0      b.DOMAINS表中主要修改PHYSICAL_DIRECTORY字段的值。(基本上不要修改)51Testing软件测试网!x&O3b:F4q*K

  
51Testing软件测试网"L5n&\sw

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

v F2MoqB"\mj*n0
  

}'Ynmy'M%T*p5Z(t0d.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地址)。

V$Y&Ds(J0M%O X`!U0
  
51Testing软件测试网@e9d6_ks7q Ub

     e.TDSERVERS中主要修改DBSERVER_NAME、TD_IP_ADDRESS

8z3i1lRpG0
  
51Testing软件测试网-r;s6J2}9E/\*PZ[

说明:以上修改是针对移植工作修改的表,如果我们需要将分布在多台计算机上的TD项目合并移植到一台服务器上,还需要修改ACCESS数据库中的SEQUENCES表中的USER_SEQ字段的数值,这个字段是用来控制用户数量,如果数值太小TD部分用户就出现无法登录的现象。51Testing软件测试网.IK%S-u(tA

  

f8J&b'y z \ G0总结:修改的内容还需要根据自己的实际情况进行修改,我这里只列出常修改的一些字段。51Testing软件测试网w1_zG.m a,XN

51Testing软件测试网lKsH {Z9?F

4):修改Project中的INI文件:51Testing软件测试网v!r$K| P\6y

51Testing软件测试网!M"oV!y)nF^3X

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

E x5GUA^8|$[w4D0具体思路:修改ini文件配置参数,使TD项目文件和项目数据库关联。51Testing软件测试网,u2c D}g

51Testing软件测试网,I N%zg'G | ^

将C:\TD_Dir\Default目录下面的E-CIS项目文件,拷贝到备份的计算机中,然后修改E-CIS文件夹内的Dbid.ini文件:51Testing软件测试网%K._ g,M:v vxS*s:J

51Testing软件测试网 u:?;hS-` a]

Dbid.ini 内容:51Testing软件测试网H,K }8G@"}

C[NQ yq:@}$?0[General]

_:cq?V7`0

L"|` ^ b#m^j&PK0Database_Type=MSSQL51Testing软件测试网IAX&\`g3z"[ m [

51Testing软件测试网qH%V5vH&?

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

e#k-Uf-dP5H051Testing软件测试网N,Yg6k-eF*Q X2@

Created_By=td

j)P#C5E3IQ XG051Testing软件测试网(k;P2} I"i^6Et

AliasName=E-CIS51Testing软件测试网 _(c#P:y1] uL

51Testing软件测试网/G+PO} z,e(@ m

Database Name=default_e_cis_db

G,D^ tE;i2qG*}%r0

8JoKe f.i0Database Server=10.168.188.229

6hX"f5E?z a051Testing软件测试网 u5H"O@qS Q%pia

Domain Name=DEFAULT51Testing软件测试网i%E+?:fFCp-X

8bv9lQk:Ci"L-x C0SendAllQualified=Y51Testing软件测试网:z;]1G |3|

51Testing软件测试网3xUxl%I*ZK

Has_VCS_DB=Y

-V7M3r;PK#J$j&df#i0

m:y%Y)X w"s$N X"\0b0主要修改的内容是:

4w}(@"O-| M051Testing软件测试网6{I1hYh9k

Database Name=default_e_cis_db

)^qY f3KCXA?051Testing软件测试网p qCiQn$f

Database Server=10.168.188.22951Testing软件测试网z aA!d4J(wV

U~ m}Z ^5q0按照实际情况填写这些信息,就ok了。

B b@rE0

T2}0NaM]P)w0总结:通过以上的介绍,我们集成工作环境的移植工作就已经完成了。经过这样的移植,我们可以实现TD项目的双机备份,双机备份可以让我们的数据更安全、更有保障。

xg%P R aEv051Testing软件测试网*ad|&dl7b

.分布式工作环境的备份和恢复方法51Testing软件测试网!o"o \ C b6?t;K

g5P/dBYL0分布式工作环境的项目移植相对集成工作环境移植更简单,在这里我们不详细介绍,相信大家看过集成工作环境的移植对分布式移植不在话下了。

.D.V(c8k:H051Testing软件测试网Z)o-F;|8S;Z yR1E9?

我们对分布式工作环境移植的思路:51Testing软件测试网 _U9U~y B7|aW^9mj

  • 强调首先备份项目的数据。
  • 移植TDDir目录下的项目文件到新的服务器上。
  • 复制DomsInfo目录到新服务器C:\Program Files\Common Files\Mercury Interactive下。
  • 修改这个目录下Doms.mdb文件的参数。(修改的详细方法见集成工作环境的移植)

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

5k1v(teH j%^U051Testing软件测试网 mj | f8ZaQ$Z}A

【小结】以上我们介绍了两种结构的移植工作,经过上述修改项后,迁移数据的工作就已经成功,td服务器可以访问迁移后的数据库。通过移植工作,同时可以解决TD项目的双机相互备份的问题,保障数据的安全性。51Testing软件测试网4Hg*i(?%v"R |^

RuYkP-KD0再次备份TD项目,只需要将原来TD后台数据库表中的数据导入另一台计算机中的数据库中,就可以实现。51Testing软件测试网]bg$Hp*l5Ty-]U#q

51Testing软件测试网r-Dh,k+r

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

x%I6d8uvE051Testing软件测试网P^y;{G ^rr*L

单吉勇:shanjiyong@shinetechnology.com

q {u _ F@ r@051Testing软件测试网r8x%UP5j%g

林万枝:linwanzhi@shinetechnology.com

#t'E x*HEpg@;m051Testing软件测试网EG2fa&]|j.|

 51Testing软件测试网i8OD5fC:Te\w

%g qND4A9cj0看毕:有时间实践一下。。。

%U4dj/} F0q{-_051Testing软件测试网M`ypR/E*?3m

 51Testing软件测试网&Gk7N+Q3G&v9k$?


TAG: TD

 

评分:0

我来说两句

Open Toolbar