標籤:
客戶為什麼會有遷移的需求?
一般而言,遷移的過程勢必對當前應用系統運行產生一定的影響,從而會給客戶的營業額帶來一定的損失,同時客戶還得投入大量的人力物力進行遷移的可行性研究、測試及實施等工作。
一般而言,遷移的目的是為了擷取新版本更加完善的功能,以及最新的業務模式。
當然,還有其他一些原因促使客戶去遷移應用,例如,隨著客戶業務的不斷增長,對系統的效能要求越來越高。
總之,企業級應用遷移的最終目的在於保證企業級應用在激烈的市場競爭中始終保持青春活力,立於不敗之地。
什麼是遷移和遷移測試?
簡單來講,產品遷移是將舊版本的應用系統內容所有資產資訊完整地遷移到新版本的環境之上,同時要保證舊版本的功能在新的平台上正常運行,並且新版本的新增功能也能正常工作。
遷移測試是對遷移過程及其遷移結果進行驗證,從而保證過程和結果的正確性。遷移過程中除了會應用到自身特有的測試方法以外,還會藉助於功能測試、效能測試等來保證完成遷移的應用系統內容的正確性和可靠性。
如何做遷移測試?
要想深入瞭解遷移測試,首先需要理解企業級應用的架構,然後是遷移的內容,最後才能有的放矢地制定遷移測試的計劃。
什麼是企業級應用架構?
一般來說,企業級應用是為商業組織或大型企業提供特定解決方案的一套完整系統,該系統包含了支援應用程式啟動並執行各個組成部分:
底層的作業系統:Windows, Solaris, pLinux
後台資料庫伺服器: DB2, Oracle
面向使用者的Web伺服器:IIS, SunONE
運行應用程式的中介軟體:Tomcat
部署在中介軟體之上的企業級應用
企業級應用架構的分類
對於一個企業級應用程式,根據企業業務實際需求的不同,可以制定不同的解決方案。而企業級應用可以從下面各種不同的角度來劃分:
按不同的拓撲結構分:單節點,雙節點,多節點
按不同的伺服器叢集環境分:垂直叢集,水平叢集,混合叢集
按應用產品發布的版本分:企業版,專業版,簡裝版
按公司專屬應用程式運行平台分:生產環境,開發環境
遷移包括哪些內容?
基礎軟體的升級和新版本應用產品的安裝:基礎軟體是指支援公司專屬應用程式啟動並執行底層軟體。
資料庫的遷移:不是指資料庫管理系統本身的升級,而是將舊版本的資料庫中的資料結構及資料移轉到新版本的應用系統之上,使得遷移之後的資料結構和資料符合新版本應用系統後台資料庫的規範和要求。
應用程式的遷移:將舊版本的應用程式遷移到新版本,遷移之後保證舊版本功能同樣適用,同時將新版本的功能也能正常工作。
遷移的順序
一般而言,企業級應用遷移的第一步是基礎軟體的升級和新版本應用產品的安裝,第二步是進行資料庫遷移,第三步完成應用遷移。
遷移過程中客戶關注的問題
一方面,客戶關注遷移步驟的簡單性、易用性及遷移流程的高效性。因而在整個遷移過程中,人工幹預越少越好,儘可能實現整個遷移過程的自動化。
另一方面,客戶關注遷移前後應用系統的宕機時間。
宕機時間是企業級應用作移植時第一要考慮的要素。而整個遷移過程中的宕機時間一般受資料庫的遷移時間影響比較大。
遷移測試的分類
在遷移測試中,部分測實驗證工作是在遷移環境上進行的,還有一部分比較驗證需要藉助於不同版本的環境來完成。根據涉及的驗證環境的不同,可分為垂直遷移測試方法和水平遷移測試方法。
垂直遷移測試
垂直遷移測試時遷移測試的基本方法,所有的驗證都是在完成從舊版本到新版本遷移的系統內容上進行的。按照遷移的先後順序,首先是軟體升級測試、資料庫遷移測試、應用遷移測試,其次是在遷移之後的環境上進行子系統的遷移測試、整合系統遷移測試、客戶定製化遷移測試、功能測試、效能迴歸測試、遷移擴充性測試。
作為一個完整的垂直遷移測試的架構,垂直遷移測試需要考慮從底層基礎軟體到上層應用的每一個功能點。
基礎改造——軟體升級測試:軟體升級測試是保證支援應用啟動並執行軟體都被正確地安裝或遷移。
客戶資料不能丟——資料庫遷移測試:目的在於保證舊的資料庫資料結構,資料庫中加密的及沒有加密的客戶資料都被正確地遷移過來。內容:資料庫資料結構和資料的遷移。
功能點不能少——應用程式遷移測試:驗證應用程式遷移流程和結果的正確性。內容:確保應用的配置資訊被正確地遷移,確保新版本應用的功能模組被自動地載入到遷移之後的應用系統中,確保應用伺服器舊版本的配置資訊被正確遷移到新的應用系統中,確保Web伺服器舊版本的配置資訊被正確遷移到新的應用系統中。
子系統遷移測試:驗證這些子模組的遷移步驟和遷移程式的正確性。
整合系統遷移測試:驗證應用軟體本身和其他應用作為一個整合系統在完成遷移後,能正常工作。
客戶定製化遷移測試:測試客戶在舊版本環境上根據自身業務要求的需要進行定製的程式,是否被正確地遷移到新系統的版本。
功能測試:驗證遷移之後的應用系統功能的完整性和正確性。一種是貫穿整個遷移過程的管道資料功能測試,另一種是在完成了遷移的應用系統上的功能迴歸測試。
效能測試:比較遷移之後的應用系統的效能測試結果和舊版本的效能測試結果,期望結果是沒有效能的下降,效能指標對於客戶而言是可以接受的。
遷移擴充性測試:針對大資料量和大型應用的測試,保證應用和資料移轉能夠在可以接受的時間內正確完成。
水平遷移測試與垂直遷移測試的區別
垂直遷移測試和水平遷移測試不是相互獨立的,水平遷移測試主要運用於垂直遷移架構中的資料庫遷移測試和應用遷移測試。水平遷移測試與垂直遷移測試的主要區別在於前者需要涉及多個應用系統內容的比較。水平遷移測試是垂直遷移測試的必要補充,垂直遷移測試主要對整個應用的一個從底向上的完備的考量,而水平遷移測試主要是考慮資料庫和應用程式遷移前後的比較。
水平遷移測試
新版本資料結構驗證:驗證資料結構首先需要將資料結構按照類型以一定的格式倒入一個檔案中以進行比較驗證,如XML檔案。
商業資料驗證:包括所有商業交易處理相關的資料。
應用配置資訊驗證:保證遷移後應用設定檔的正確性和一致性。
水平遷移測試的各個部分相對獨立,對於資料庫和應用可以分開進行驗證,但它們又都是垂直遷移測試流程中不可或缺的一環。
垂直遷移測試與水平遷移測試的比較
垂直遷移測試是水平遷移測試的基礎,只有完成了垂直遷移測試中的資料庫遷移或應用程式遷移才能進行水平遷移測試。
水平遷移測試能在早期發現問題,無須等待整個遷移流程結束後再開始。
水平遷移測試更多地關注資料的準確性,垂直遷移測試更多地關注系統的整體功能、效能等的遷移是否成功。
水平遷移測試相對複雜,需要比較不同版本資料庫之間資料、設定檔等內容。垂直遷移測試只需要一套遷移環境。
其他遷移測試內容
相容測試:目的在於確保以前的地版本上部署的經客戶定製過的應用所依賴的一些因素能夠正常地提供服務,而使客戶的定製應用不受影響,從而客戶無須重新構建或部署他們的應用。影響相容性因素主要有:開發架構升級,API的不相容性,行為的變化。
遷移文檔測試:目的在於保證遷移文檔的品質,確保客戶能夠遵循正確的遷移文檔完成客戶應用系統的遷移工作。
真實客戶環境測試:遷移測試重要的驗證方式,對於保證遷移測試的正確性,特別是對於效能方面的驗證是非常必要的。
遷移安全性測試:在遷移環境上進行檔案許可權驗證及敏感性資料檢查。
選擇遷移測試平台
確定遷移路徑和平台支援矩陣表,合并羅列所有測試組態組合,識別優先順序進行篩選。
選擇測試案例組
基本測試案例組包括遷移測試的主要流程的測試案例:軟體升級測試、資料庫遷移測試、應用程式遷移測試、子系統遷移測試、客戶定製化遷移測試、功能驗證測試。
擴充測試案例組:整合系統測試
進階測試案例組:遷移擴充測試、真實客戶資料應用測試、遷移環境上的功能迴歸測試和效能迴歸測試。
基本測試案例組的測試在所有的配置組合上都得測試,但在每個測試階段,可以涵蓋不同的測試案例。
擴充測試案例組主要涵蓋和應用相關的整合軟體的遷移,根據實際需求選擇測試或者不測。
進階測試案例組測試也是根據具體的測試要求單獨計劃,只需要選擇部分平台組合進行測試。
總結
遷移是從舊版本的系統內容到最新版本的系統遷移,遷移情境如下:
在測試環境上進行遷移和遷移測試:
- 完成伺服器升級測試
- 安裝新版本的應用系統並部署一個測試用的應用環境:一方面通過啟用測試應用系統,驗證應用的一些簡易功能和商務程序來保證新版本的應用沒有問題,另一方面,測試應用系統建立的資料庫和應用可以作為水平遷移測試的比較對象,是水平遷移測實驗證的基準。
- 遷移資料庫並完成資料庫遷移測試
- 遷移應用並完成應用遷移測試
在開發環境上進行遷移和遷移測試:
- 客戶定製化遷移測試
- 將開發環境上遷移之後的客戶定製化程式部署到完成了遷移的測試環境上
在遷移之後測試環境上進行功能測試和效能測試
在確保上一步功能測試和效能測試都正確的前提下,開始進行生產環境的遷移測試
為了將客戶應用宕機的影響降到最低,生產環境的遷移分為以下幾步:
- 在保持舊版本生產環境啟動並執行情況下,根據客戶的資源狀況選擇軟體升級方案
- 安裝新版本的應用產品
- 遷移應用
- 將完成遷移的客戶定製化程式部署到新的生產環境中
- 停止舊版本的應用系統的對外服務,完成生產環境資料庫的遷移
- 啟用新版本的應用
- 在遷移之後的應用系統上進行功能測試和效能測試
軟體測試之遷移測試