1. 程式人生 > 其它 >淺談資料庫遷移類專案功能測試的基本思路

淺談資料庫遷移類專案功能測試的基本思路

資料庫遷移指的是把歷史資料從A資料庫遷到B資料庫,可劃分為同類型資料庫的遷移和不同型別資料庫之間進行的資料遷移。同類型資料庫的遷移較為簡單,而不同型別資料庫之間的資料遷移就會存在一些問題:如表結構會變化,語法存在差異等,這些差異有些會直觀地反映在資料庫遷移類專案的功能測試中。本文將淺談資料庫遷移類專案功能測試的基本思路。
  首先,在測試前要了解資料庫遷移類專案的主要關注點。通常來講,系統級資料庫規模十分龐大,許多程式碼都是在直接使用資料庫某些表中的資料,因此在資料遷移過程中,資料的正確性、可用性是非常重要的,要保證各項服務獲得的資料準確無誤。在進行功能測試時,可通過新舊資料庫表中資料對比的方式,來確保資料庫遷移後的資料和遷移前資料表中儲存的資料一致。
  在進行資料庫遷移類專案的功能測試前,需要根據專案需求,和開發確認好本次專案的資料遷移內容及範圍,是同類型資料庫遷移還是不同型別資料庫之間的遷移,具體涉及資料庫中的哪些表。若是不同型別資料庫之間的遷移,則需要關注新老資料庫型別之間的差異,特別是基礎語法差異及不同資料庫的欄位型別的匹配問題,這些差異可能會對資料遷移前後資料的正確性和一致性產生影響。
  由於該類專案確保資料庫遷移前後資料的正確性和一致性非常重要,因此功能測試的基礎方法為“比對”。首先需要確認遷移前後歷史存量資料的資料量一致,此處可以通過SQL語句查詢遷移前後資料庫中各個表的行數、欄位數、資料量並進行比對,檢視資料量是否前後一致。而後需要對比遷移前後的資料內容,可在資料庫管理系統軟體中將資料庫表匯出為便於對比的格式,如Excel、TXT等,當表中資料量較大時,要進行合理抽樣。而後可以通過編寫Excel函式、Excel-檢視-並排比較-同步滾動功能、自研對比指令碼或工具、分別生成檔案MD5碼而後對比MD5值等方法來對資料內容進行對比核驗。而前文提到的,不同型別資料庫之間進行遷移的情況,需要注意二者資料庫之間的差異帶來的影響。比如Oracle 預設沒有排序規則,而MySQL中,innoDB引擎預設查詢按照id正序排序,myISAM引擎預設按照插入時間正序排序,當排序規則不同時,在使用Excel函式或自研比對指令碼時,應關注此問題,不可以簡單地按行進行比對。再比如語法上不同型別資料庫拼接方式不同,易出現遷移後資料格式出現問題的情況。當完成上述資料遷移測試後,需要在新的系統中進行迴歸測試,以確保遷移過來資料的可用性。
  除了驗證遷移前後的歷史存量資料正確性、一致性以外,還應驗證遷移後的新表中的增量資料是否有效、可用,確保系統前臺功能可以正常新增資料,並且使用這些增量資料的主要業務流程可正常進行。
  總而言之,資料庫遷移類專案功能測試需要重點關注資料遷移前後的正確性、一致性和可用性,進行資料庫中資料的對比核驗和系統迴歸測試。對於不同型別資料庫之間的遷移,需要多積累、多瞭解不同資料庫之間的差異並分析可能會存在的影響。此外,在資料的對比核驗和系統迴歸測試過程中,機械性、重複性的工作較多,建議更多地使用工具自動對比、手工測試和自動化測試相結合的方式,以提升測試效率。

作者: 千里和他的軟體測試

軟體測試學習交流: 軟體測試交流群 172489141

銀行金融業務交流: 新網銀測試群 52304542

介面自動化效能交流: 一個正經的測試群 188427938