數據遷移的一般測試步驟


用於學習,原文來自網絡:http://softtest.chinaitlab.com/qtjs/775532.html

數據遷移主要使用在新老系統到切換,主要有兩種類型

一種是將老系統的數據全部遷移到新系統中,業務上只使用新系統,老系統不再使用

另外一種是,老系統的部分功能在新系統中暫時無法實現,但是在業務上需要使用新系統,需要將新系統中產生到數據導入到老系統到數據庫中,做特殊用途。

  將老系統中到數據遷移到新系統中

  主要到策略有:

  1. 查看老系統中到數據是否完全遷移到新系統中

  要保證新老系統到無縫切換,必須要保證數據的正確性,而將老系統中到數據遷移到新系統,首先就要保證所遷移的數據量是一致的,只要在保證數據量一致的情況下,才能進行其他方面到測試,如果數據量都不一致,說明遷移方法或者腳本就是錯誤到,需要尋找原因。

  2. 查看新老系統數據庫表結構變化

  1) 哪些新表字段在老庫中無數據,而新庫必須有,這些數據無則默認給什么值

  2) 哪些數據字段一部分有數據,一部分無數據;遷移到新庫中無數據這部分如何處理

  3) 舊數據庫中的表關系到新庫中的表關系有什么變化

  3. 查看新老系統中,相同字段不同狀態的變化

  因為新老系統在業務表示上會有一定的差異,用來表示業務狀態的標示也會存在有變化,就必須注意新老系統在表示相同業務狀態的差異,一般,這種情況會做相應的映射,需要根據映射關系,檢查遷移后的數據是否正確。

  4. 查看新老系統中各個字段轉換是否正確

  在進行字段檢查測試之前,需要准備測試數據,測試數據到准備最好是能夠將每個字段到不同情況都考慮到,可以使用矩陣法,用最少的數據覆蓋到最多的狀態。准備好數據后,根據遷移規則,可以查看各字段遷移后到數據是否正確,一般來說,遷移規則有以下幾種。

  1>直接遷移,原來是什么就是什么,原封不動照搬過來,對這樣的規則,如果數據源字段和目標字段長度或精度不符,需要特別注意看是否真的可以直接映射還是需要做一些簡單運算,還要查看,遷移腳本中是否對長度或精度進行了處理,測試時,也需要准備長度精度不一致到數據進行測試,查看是否能夠正確遷移。

  2>字段運算,數據源的一個或多個字段進行數學運算得到的目標字段,這種規則一般對數值型字段而言。

  3>參照轉換,在轉換中通常要用數據源的一個或多個字段作為Key,去一個關聯數組中去搜索特定值,而且應該只能得到唯一值。一般來說,這樣的主要適用於某些類似於id的字段

  4>字符串處理,從數據源某個字符串字段中經常可以獲取特定信息,例如身份證號。而且,經常會有數值型值以字符串形式體現。對字符串的操作通常有類型轉換、字符串截取等。但是由於字符類型字段的隨意性也造成了臟數據的隱患,所以在測試這種情況的時候,一定要考慮異常情況。

  5>空值判斷,對於老系統中空值字段,不能簡單的認為遷移后還是空值,需要根據實際的情況,考慮該字段在新庫中應該為哪個字段,還要考慮,如果老系統中該字段不為空的情況。

  6>日期轉換,需要考慮新老系統對日期到不同表示方法。

  7>聚集運算,對於事實表中的度量字段,他們通常是通過數據源一個或多個字段運用聚集函數得來的,這些聚集函數為SQL標准中,包括sum,count,avg,min,max。

  8>既定取值,這種規則和以上各種類型規則的差別就在於它不依賴於數據源字段,

對目標字段取一個固定的或是依賴系統的值。

  5. 查看遷移后的數據在業務邏輯上是否正確

使用從老系統中遷移過來的數據,在業務系統中進行流程測試,功能測試確保遷移后到數據可用。
  

將老系統中到數據遷移到新系統中

  將新系統中到數據遷移到老系統中,一般不會全部遷移,可能就是將部分表遷移過去,使得老系統可以用新系統中到這些數據進行相關的統計,遷移到主要方式是批量遷移,就是說,在一定的時間范圍內,運行一次腳本,將新系統中到數據遷移到老系統中,主要到測試策略如下:

  1. 查看時間段內所有數據都進行了遷移操作

  遷移是將新系統中一定時間范圍內有變化的數據反映到老系統,因此,需要測試在這個時間段內有新系統中有變化的數據都正確反應到老系統中,一般來說,數據遷移,會有一個表專門用來記錄在新系統中數據到變化情況,可以通過查看該日志表,得到有變化的數據記錄,然后可以在新系統中對應進行檢查。

  2. 查看新增的數據是否能夠遷移

  因為是批量到遷移,需要確保新系統中新增到數據能夠遷移到老系統中去,可以根據ID,唯一確定新系統中生成的數據遷移到了老系統。

  3. 查看修改到數據是否能夠真確反映到老系統中

  新系統中,不可避免的會對數據進行修改操作修改操作后的數據,相應的,老系統中對應的數據也需要改變,就需要測試,如果新系統中的數據修改了,執行腳本后,老系統中到數據是否會做同樣的修改。

  4. 查看刪除數據是否正確反映到老系統中

  新系統中,對數據進行刪除操作,該數據對應到老系統中的數據同樣也需要被刪除。

  5. 查看遷移后各字段是否正確

  字段對照檢查,方法和前面的老系統遷移到新系統中一樣。

  6. 大數據量測試

  因為是批量進行遷移,可能在數據量較大的情況,此時,如果遷移腳本關聯操作較多,可能催存在腳本執行時間段內不能完成所有數據到遷移,導致本次本次遷移的數據沒有完成,到下一次執行腳本時,又有數據沒有遷移完成,就會有大量到數據不能完成遷移操作,此時就需要優化遷移腳本,或者增加腳本定時鍾的時間。大數據量的測試,還需要關注,在數據量較大到情況下,遷移的數據是否會出現錯誤。

  7. 業務測試

  因為新系統的數據庫表結構以及字段表示可能和老系統不一致,需要用遷移到老系統中的數據進行功能測試,流程測試,確保數據可用。

  8. 不進行遷移的字段確認

  因為新系統的數據庫表結構以及字段表示可能和老系統不一致,新系統中部分字段可能在老系統中找不到對應的字段,就不需要遷移,這一部分也需要進行驗證,確保不會將不遷移的字段數據遷移到其他的字段中。

  9. 字段長度不一致檢查

  新系統中字段長度和老系統對應字段長度不一致,要么無法遷移,要么就需要進行截取,如果不能遷移,就需要有錯誤日志,確定哪些字段不能遷移,如果是截取,則需要確認,截取的長度是否真確,如果截取了,是否會在業務上造成影響

  對於數據遷移的測試,個人覺得需要關注兩個方面,一個是從業務上關注,

遷移后的數據在業務流程上應該是可用的,也不會對現有到業務造成影響,另外一個就是遷移后到數據應該是完整的,正確的,可用的首先就需要關注遷移規則是不是正確的,如果遷移規則是錯誤的,遷移后的數據就算是符合遷移規則了,也是不正確的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM