數據遷移測試注意事項小記

在測試工作中,如果趕上App改版或者重構,很難躲過數據遷移這個老大難問題。對于測試,遷移相關的工作也是相當頭大,基本上一個考慮不周就極易會有遷移失敗或者臟數據的產生。下面就來說說我們在數據遷移過程中的工作及注意事項,希望能盡量避免大家會遇到的問題:

1. 確認遷移需求

這個永遠是一切的開始,無論做啥沒有需求就沒有后續(xù)的工作。在遷移過程中需要確認的需求有很多,也有很大一部分是和業(yè)務緊密相關的,所以下面就來說說常見的需求。

a. 雙向遷移還是單向遷移。如果是單項遷移,是老系統(tǒng)向新系統(tǒng)遷移還是新系統(tǒng)向老系統(tǒng)遷移(雖然場景很少)。

b. 需要遷移的數據&不需要遷移的數據。

c. 觸發(fā)遷移的方式(實時自動遷移 or 人工遷移)、遷移過程中的UI展現及遷移后結果的UI展現。

d. 是否只遷移一次,還是可以多次遷移(增量更新)以及遷移時的覆蓋邏輯等。

e. 原數據包含空字符串、默認值、null等遷移后展現。在遷移后的系統(tǒng)上該如何展示之前系統(tǒng)中內容為空字符串、null、默認值等的數據。

f. 遷移時間。對遷移效率有什么樣的期許,可以接受的最長時間。

g. 各業(yè)務自己的邏輯注意事項及其他...

2. 和RD溝通遷移技術方案

這個事情往往被忽視,因為大部分測試并不關心數據遷移的技術方案,而只關心遷移的數據是否一致。但是其實了解遷移的技術方案有幾點好處:

a. 可以根據RD的技術方案提前找到技術漏洞,如內容默認值等細節(jié)問題,尤其是在RD根據需求講解技術方案的時候。

b. 在code review時可以根據方案的內容很快的切入到編碼邏輯中。

c. 可以提前開始測試工作,比如:如果知道遷移是通過隊列發(fā)送消息觸發(fā),就不用等到RD提供接口或者UI再開始測試,直接自己發(fā)消息就可以了。

d. 發(fā)現問題后的定位更為準確。

3. 整體測試

這就是測試的重頭戲了。

a. 首先重要的事情說三遍,數據,數據,數據。遷移的最主要東西:數據。

剛才在需求里面其實說了很多關于數據的事兒,老系統(tǒng)和新系統(tǒng)在遷移后所有需遷的字段當然要保持數據的一致。然而,這里面的不可見細節(jié)還是很多的。數值精度,字符串長度,日期格式,null值轉化,空字符串轉化,特定格式校驗(手機號等),附件能否打開等都需要注意。

b. 數據量匹配

這個不用多說了吧,數據量應該前后是一致的,除非有業(yè)務的特殊需要??梢砸猿闃訑祿w移前后是否一致來測試,如果很重要的項目,需要加大樣本量。

c. 大數據量遷移。

一些遷移的問題在小數據量的情況下很難發(fā)現,但是如果增大數據量就會暴露一些問題。如大數據量遷移下出現的數據缺失,程序死鎖,性能緩慢,緩存溢出等問題。

需要注意的是,大數據量不止說數據的條數多,還指單個數據里面的數據體量大,如很多的附件等。

d. 多次遷移(增量遷移)

在老系統(tǒng)上修改或者刪除一些數據,然后去驗證遷移后新系統(tǒng)是否符合業(yè)務需求。

e. 雙向遷移

同多次遷移,需要驗證遷移后新老系統(tǒng)是否符合業(yè)務需求。

f. 遷移效率

在實時遷移(數據同步)時,查看雙方數據同步的效率是否滿足需求需要。

g. 接口自動化測試輔助

人眼始終比不過電腦。一個兩個病歷還可以比對,再多人也受不了。這個時候就需要自動化測試的幫助了。比如新老版本都是有獲取用戶信息的接口的,然后我們要測試遷移完成后數據的一致性,接口測試就能派上用場。寫完了一個接口測試,只要去變換不同的用戶,就可以去驗證他們的數據是否一致。

h. 服務端日志監(jiān)控

千算萬算,很難能夠模擬好所有可能遇到的場景。這時候通過監(jiān)控遷移所在服務的日志往往能夠看到一些考慮不到的問題。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容