天道酬勤

(转)TestDirector项目数据迁移

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

SAq;R&fu9k.lD t0文章出处:http://www.51testing.com/html/51/134.html  作者:单吉勇  林万枝

f2TA#E}9ho0

?|6l'i;]O.~%r+r0 51Testing软件测试网I1Yf*FE5x3t4nOp#L

51Testing软件测试网 J bT1E+G1D*TW:D

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

T(h2FID4c:e0【关键词】项目移植集成工作环境分布式工作环境

c w5uiu!Uuu'N#R0

:Q&RWVc0这里我们先将以上的几个名词解释一下:

/d`&s6^)l$_0

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

51Testing软件测试网B@U#_E*_

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

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

)h%_A D s.tf#^8[n0

)SkA?_+a0移植说明

q8s5c&n0R9k0

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

_Q8T[6U^ v+i051Testing软件测试网o0iR b `gf

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

51Testing软件测试网-WX'A+\'`$U

。集成工作环境的数据迁移51Testing软件测试网[ Jhn/t V;k/I

o!]+^EpNU01、拟分析产生的原因和解决方法

MH$B$A[9svg+x051Testing软件测试网d {!gb,`*]'s

产生的原因:51Testing软件测试网u \!P@ V2E)d

51Testing软件测试网(GNuBi s K

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

  • 使用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软件测试网 U,kF c2c$Mb \'@

2、移植前的备份工作51Testing软件测试网1^8_%RT"d@1|

51Testing软件测试网 M ^)a8~q!I+e/W!UX

在正式移植之前,我们首先要做好数据的备份工作,这也是我们移植工作的一部分,虽然我们现在的移植技术已经相对较成熟,但是我们还是要建议大家移植之前的备份是很有必要的。备份主要备份以下的数据:51Testing软件测试网 i%e&xh(I5@'e ng

#r ] Rk"uxw0.备份DomsInfo目录;51Testing软件测试网oz+N)N3j

51Testing软件测试网8[)E$U P/d1eF.Wf

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

5C7up.T&]^051Testing软件测试网w2Mvyy$ex

.备份TD项目安装文件;

yRC;B(fup051Testing软件测试网}7v{"i9p+Q&N,FQCR

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

?eE-Fa gl/BFa o(I0

+?)p+_'Tj R0.备份项目数据库;51Testing软件测试网{ s}IH5y9m

gUc;Dd ED T Coi L0备份项目用的数据库文件。

jlyV;D CxOs X!K0

esH%V$k dh03、移植工作

:q_hj G.rD3gg A051Testing软件测试网X(D"w-qUgg#y3h

移植工作分为四个部分:

5`hz&|zO051Testing软件测试网8a4MM,|.L \@Q

――数据库的迁移;

A0uQX}051Testing软件测试网b1In*?$MtB4xAs

――建立访问数据表文件的TD用户;

r5w2QM cF g"b0

9SUMbF0YO4o0――修改TD的项目配置数据库(Access);

#Q I'x&B-Y.f e]051Testing软件测试网p.Dn%xi }(?j-P

――修改Project中的INI文件。51Testing软件测试网j1jH!b L(hz

51Testing软件测试网j|(b:M'b0`:Id2x

1)数据库的迁移:

2[5Adom0

!R0x/~K*m M R0数据库的移植目的是:将项目数据库从原来的计算机移植到新的计算机。51Testing软件测试网U[!OBk n

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

1d6Qci']C:{SU0

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

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

)HJa#n I4k/i@:O0         单击 “Next”

S"s4s|-t1MJ(r0
  

1seQ{E.T(E^&]0         选择要恢复的数据源后单击“Next”51Testing软件测试网yg+syh\3Uv%W `

  
51Testing软件测试网uM_l&lQ#T5{

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

hN%h/?9y.\5`|0
  
51Testing软件测试网?9q1^`]'d-l

          建立数据库名称后,单击确定后,再“Next”按钮:51Testing软件测试网tNv+ch0cj s

  

2I7ph']*k'M?0         再“Next”(这个选项选择第三项更具有完整性)

m l,q;q1x K0@ I0
  
51Testing软件测试网1gh7x v n&o7Tz+d

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

&K!o"`UPHZ7M9a0
  

?8g.X#F*r]0         准备开始恢复,单击“Next”:51Testing软件测试网C*W:\4j-X+j0O,t?

  

m:p/C#[ U8[8Q_0         单击”Finish”按钮,开始恢复:

(@.p&s3H6a'P/x q)w;k0N9M0
  

m&?!dPH j$Sx0          恢复成功后出现提示:51Testing软件测试网K}0`k6Nj

  
51Testing软件测试网S-Q JrOBl2}F)h

数据库恢复完成。51Testing软件测试网V s(BxN ?L#xa%T S

51Testing软件测试网 b7M#t\;yS}:xL

2)建立访问数据表文件的TD用户:

:V4V w'k Z*kG#V051Testing软件测试网i.c8s&rR1n g+A

建立td用户的目的是:使td用户具有访问新恢复项目数据库的权限。51Testing软件测试网;VL^K L G$Y!t-v

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

M eP-A8tEp G0

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

*KGC'F iii0
  
51Testing软件测试网Z2c,e,U.U

        在登录项中新建用户,在弹出的对话框中设定td用户相关的属性,如:51Testing软件测试网f7?$Vz4U.D#td

  
51Testing软件测试网1y'}$S X"F

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

  
51Testing软件测试网4Y%WE/p I"B'F2g'Cg&n

              完成“服务器角色”的设定,为td用户设定数据库访问的权限:

)JF/wQy:d0
  

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

P5fUN8vCs|6K0

6^!@P6b6OXf+w P0设定完成。51Testing软件测试网 C,}.LJ D5zc&s1K

51Testing软件测试网*p^*hy,X

3):修改TD的配置项目文件(Access):51Testing软件测试网}#wke_

51Testing软件测试网 i6bG2}6u/BK

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

1~ ]9p,G#N!^N-x j;n0

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

(Zf!F0A)NH051Testing软件测试网jJ3x&~IR:sQM

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

IV1^0| IV"]0

%E.D+j?"J2R!k l0打开后可以看到相应的表:

uAW3g(V/{0
  

eD p]T`6fS+xe0这些表,存放着TD所有的配置信息,是很重要的,我们根据自己的工作环境实际配置这个表,其中需要修改的表是:DBSERVER、DOMAINS、PARAMS、PROJECT和TDSERVERS这五个表。

r Z g_ni1z0a.DBSERVER表中主要修改DBSERVER_NAME(目标数据库服务器的IP如本例为10.168.188.151)、DB_USER_PASS(用户密码如tdtdtd)、DB_ADMIN_USER(管理用户名如td)和DB_ADMIN_PASSWORD(管理用户密码如tdtdtd)字段的值,如下图:
  
51Testing软件测试网EP2[Xo+L4`$GJ5f

      b.DOMAINS表中主要修改PHYSICAL_DIRECTORY字段的值。(基本上不要修改)

xz-fJ1VF2L F;Y)z0
  

qk%]g+aj+R w,u;a0     c.PARAMS表中主要修改PARAM_VALUE字段的值。(基本上不要修改)

4o8rHPh0
  
51Testing软件测试网l"^.a,MnQ

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地址)。

*y!rc-A:X9w&_0
  

/kMX[W7c&nG0     e.TDSERVERS中主要修改DBSERVER_NAME、TD_IP_ADDRESS51Testing软件测试网2C-_C$F+RI}:LVC;px

  

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

NY4Gys PY+k0
  

8VS'JI2S k#X0总结:修改的内容还需要根据自己的实际情况进行修改,我这里只列出常修改的一些字段。51Testing软件测试网.n%dgy4^

51Testing软件测试网 @FjY1`nO

4):修改Project中的INI文件:51Testing软件测试网!XKo7ITDAW

1H+ypg;tG0`[REr0修改INI文件目的是:ini文件保存数据库信息,TD程序信息,项目名称以及相关的内容。

.J&{P#Mqu051Testing软件测试网Pc-b} n$h

具体思路:修改ini文件配置参数,使TD项目文件和项目数据库关联。

.ys0P+i vU)l051Testing软件测试网,F[1@3w1h.zC6LX.Q4sG

将C:\TD_Dir\Default目录下面的E-CIS项目文件,拷贝到备份的计算机中,然后修改E-CIS文件夹内的Dbid.ini文件:51Testing软件测试网0}hx Q ? l%D@

51Testing软件测试网'L"p+Z A4t+{5[

Dbid.ini 内容:

M1V BF8vx'Z051Testing软件测试网4j"S#JF![y6l

[General]

az @)D9~0

/x;p [ VjT0Database_Type=MSSQL51Testing软件测试网{F6Tq8l5el6Q\%l

@ ^Vz+G+o9s5p0Created_Date=08/11/04 15:44:39

E8M&J xH@&[051Testing软件测试网 A#e+[%d8\|1p

Created_By=td

xcS2B(mq8[#hA0

6q$L$Z0r]9W;qq;PvK0AliasName=E-CIS

iU;~W5Xp051Testing软件测试网,?jYUd%ZT v/K

Database Name=default_e_cis_db51Testing软件测试网Nt ?4S_'x!@

C2V2{1]PWC @0Database Server=10.168.188.22951Testing软件测试网@3o*h5F ^!L+qd7Ed9r

51Testing软件测试网{Y!C2cj5K)A6R

Domain Name=DEFAULT

4ou:L1u Z N%lcYC0

;b%l/{7n A6at8?{0SendAllQualified=Y51Testing软件测试网'Vm){]X

z ]o]9U.T ``6x~0Has_VCS_DB=Y

&t:uh5j!a1E3p T0{tJV051Testing软件测试网png#A.vk(l

主要修改的内容是:51Testing软件测试网-i;^,]9`+`(NgF

K,@TsuP8E0Database Name=default_e_cis_db51Testing软件测试网gE4| X W5~w4k j

4D d1yk1P0Database Server=10.168.188.22951Testing软件测试网-TK K8E1_.eBi

51Testing软件测试网0|*h Doi1fr`lC

按照实际情况填写这些信息,就ok了。

9py+bR3U0

2h@%q/|'w#C0ZuIZ0总结:通过以上的介绍,我们集成工作环境的移植工作就已经完成了。经过这样的移植,我们可以实现TD项目的双机备份,双机备份可以让我们的数据更安全、更有保障。

&t ~X)p2j'F2k8N051Testing软件测试网J9O7o mW{1pG

.分布式工作环境的备份和恢复方法

l!p nh a"h,T051Testing软件测试网*t;]V9S Y.Vr_

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

1k0{ ]2{%M0X.l*c0

|Q5n9pKo0我们对分布式工作环境移植的思路:

J"s u\6G#?2?0
  • 强调首先备份项目的数据。
  • 移植TDDir目录下的项目文件到新的服务器上。
  • 复制DomsInfo目录到新服务器C:\Program Files\Common Files\Mercury Interactive下。
  • 修改这个目录下Doms.mdb文件的参数。(修改的详细方法见集成工作环境的移植)
51Testing软件测试网t.O;M X-uah:S7g)M o e

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

51Testing软件测试网3@$V s$c)[8BA+\W

【小结】以上我们介绍了两种结构的移植工作,经过上述修改项后,迁移数据的工作就已经成功,td服务器可以访问迁移后的数据库。通过移植工作,同时可以解决TD项目的双机相互备份的问题,保障数据的安全性。51Testing软件测试网$K]eHK,y+`1L0N#v

51Testing软件测试网j5Xi+Rto4U

再次备份TD项目,只需要将原来TD后台数据库表中的数据导入另一台计算机中的数据库中,就可以实现。51Testing软件测试网+lPhrNB7@

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

51Testing软件测试网4Lj5a7V X3Rw M3b Y

单吉勇:shanjiyong@shinetechnology.com

8BIP @ H&A'\e0林万枝:linwanzhi@shinetechnology.com
 

TAG:

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

评分:0

我来说两句

日历

« 2024-05-23  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

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

RSS订阅

Open Toolbar