【摘要】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用戶創建的表s也會更改為DBO用戶創建。例如:數據庫中的表ALL_LISTS原來由td用戶創建,移植后ALL_LISTS表的用戶更改為dbo這樣問題也就解決了。
我們現在開始圖解數據庫的操作:
?? ???? 從開始菜單中打開“導入和導出數據”如圖:

單擊 “Next”

選擇要恢復的數據源后單擊“Next”




建立數據庫名稱后,單擊確定后,再“Next”按鈕:

再“Next”(這個選項選擇第三項更具有完整性)






在登錄項中新建用戶,在彈出的對話框中設定td用戶相關的屬性,如:

設定的密碼可以根據用戶確定,這里設定為:tdtdtd;在“服務器角色”中設定td用戶的權限,我們給出建議設定為“System Administrators”:


設定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
打開后可以看到相應的表:

?? ???? 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字段的值。(基本上不要修改)


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后臺數據庫表中的數據導入另一臺計算機中的數據庫中,就可以實現。
文章來源于領測軟件測試網 http://www.kjueaiud.com/