愛伊米

測試乾貨丨網際網路+時代系統不斷升級,那你的舊資料怎麼辦?

軟體系統中的資料移植是指將舊系統中的資料、應用程式、個性化設定等遷移到新系統,以保證新系統上線後的業務正常進行,廣泛應用於系統升級、重構場景。

資料移植測試貫穿整個測試過程,具體體現在以下幾個階段:

一、準備階段

資料移植執行前,測試人員需對資料移植的各項資訊進行了解分析:

1、移植資料規模、資料型別以及資料範圍

在測試準備階段需瞭解本次系統升級影響的資料規模,根據移植資料量評估資料移植時長,計算系統受影響時長;梳理移植資料型別,如合約、流水、配置等,便於分析其影響交易、制定測試範圍;分析移植資料範圍,如對某些省份、區劃、機構所屬資料進行移植,判斷是否對剩餘部分正常交易產生影響。

2、資料移植方法

一般來說,資料遷移有資料直接複製、資料抽取合併(拆表、合表)、資料處理轉換等幾種,測試人員透過資料移植類別,確定遷移方法,合理設計測試場景,同時還需關注資料遷移是否有新增、刪除欄位。

 3、新舊系統相容性

當新舊系統採用不同資料庫、框架、編碼模式時,需對新舊系統相容性進行分析,根據遷移方案研究是否有因新舊系統不相容導致的資料遷移問題,如將資料從Sybase資料庫遷移到Oracle資料庫,兩個資料庫欄位定義型別、資料型別可能存在不相容,Sybase對空值處理為長度為1的空格,而Oracle則為NULL,拼接報文時會因缺少欄位而報錯,測試時需特別關注。

測試乾貨丨網際網路+時代系統不斷升級,那你的舊資料怎麼辦?

 4、新舊系統業務差異性

新舊系統存在業務差異時,分析新舊系統交易清單差異,關注存量交易、新增交易、在途交易等,判斷是否需在移植前進行冗餘資料治理或殘缺資料補錄,以保證客戶的交易連續性。

 5、確定新舊系統迭代情況

資料遷移後,如新舊存在並行期,需瞭解業務處理模式,確定舊系統存量資料處理方式。

 二、執行階段

測試人員構造場景開展模擬測試:

1、移植過程驗證

在測試環境模擬資料遷移,驗證移植指令碼的有效性,分析遷移過程的風險。若移植過程中系統繼續支援交易,則需在移植過程中進行功能性測試,保證移植過程中交易不受影響。

2、移植中斷場景測試

關注移植過程異常中斷時,是否會造成資料丟失,是否支援中斷後繼續移植。

3、應急回退測試

移植過程異常中斷時系統應支援應急版本回退測試,測試人員需對此場景及回退版本進行功能性測試,保證回退完成後的業務處理正常。

4、移植指令碼

效能測試

在移植過程中對移植指令碼效能進行監控,監測移植程式執行時長及相應伺服器效能表現。

 三、驗證階段

資料遷移完成後,需要對資料遷移質量進行檢查,以確保新系統能夠正常啟用並代替老系統提供服務。測試主要從以下幾個方面進行:

1、後臺資料驗證

當資料移植採取直接複製方法時,需對遷移前後的資料一致性進行比對,遷移資料條數應完全一致,表名、表結構、欄位對應關係準確,對資料的格式、字元、長度驗證確保無亂碼、截斷現象;若遷移過程中進行了拆表、合表等資料抽取合併操作,需要核對新舊系統表結構及欄位型別對應關係無誤;遷移過程中涉及資料處理轉換,則需對處理結果進行驗證,透過模擬資料處理過程,驗證新系統資料為正確的處理輸出。

測試乾貨丨網際網路+時代系統不斷升級,那你的舊資料怎麼辦?

在資料處理過程中可以藉助資料庫操作工具透過執行SQL將舊資料按照新資料庫表結構進行資料處理,生成新資料庫相應格式的輸出檔案,在資料比對過程中,可以藉助程式語言進行資料量比對,也可藉助Java、Python等程式語言實現資料抽取、處理及比對,以Python為例:

資料抽取、資料處理:

測試乾貨丨網際網路+時代系統不斷升級,那你的舊資料怎麼辦?

資料比對:

測試乾貨丨網際網路+時代系統不斷升級,那你的舊資料怎麼辦?

 2、前臺業務驗證

透過前臺查詢等業務判斷後臺數據遷移後是否有丟失、重複、亂碼、截斷等問題,校驗移植前後資料一致性,同時對交易進行連通性迴歸測試,確保遷移後資料可用。

 3、業務邏輯驗證

系統升級進行業務遷移應以不影響客戶業務為前提,對於業務流程複雜的交易,測試人員應該在遷移前在舊系統中設定每個步驟斷點,進行埋數,遷移後在新系統中驗證每個斷點後可以正常繼續業務,以保障業務邏輯性完備,可詳細闡述為下圖:

測試乾貨丨網際網路+時代系統不斷升級,那你的舊資料怎麼辦?

在網際網路發展日新月異的今天,軟體迭代速度加快,資料移植測試更加頻繁,測試人員只有關注資料移植全流程,更加準確的分析資料影響、理解移植技術,才能保證測試質量,助力系統升級。