我第一家公司做過一個項目,我們的軟件上線之前,客戶已經應用了一套軟件長達幾年時間,老系統中存在上百萬條數據,我們的項目的一部分工作,就是將老的數據遷移到新的系統中,保證新的系統能夠正常使用。
這類的數據遷移在現在的軟件項目中會經常出現,我現在的公司又一次面對這個問題。
主要的思路就是完整性、正確性可使用性這三方面,下面講下我們當時所做的測試設計和思路:
在開始之前我們需要一個完整的數據結構的文檔,包括老的系統和新的,這樣你才能有依據去設計和執行測試。跟遷移組要,他們如果不理解新老系統的數據和數據結構,很難想象他們是怎么遷移的。
1、老的數據是否全部被導入到新系統中,你可能要追蹤很多表中的很多數據字段。
如老系統中有100W條數據,導入新系統后,數據條數仍為100w條(有些數據遷移后,新系統有新的存儲規則,或業務邏輯變化,比如ID相同合并,條數不是以相同的數量顯示,那么我們要知道換算關系,然后進行校驗)
對老系統中全部有價值數據字段(對客戶有意義的,或者說新系統要用到的),我們要逐一驗證,新庫中能夠找到與之對應的字段。
2、老的數據在新的庫中,是以正確的形式存儲的。
如果數據在老庫中是一個值,我們將他追蹤到新的庫中,看值是否正確。如果到新庫中值需要做相應變化,我們要按照邏輯去校驗,是否變化的正確。
有些在老庫中是狀態位,如老系統中性別字段包括4個,分別是0(男)、1(女),2(未登記),3(不詳);而新系統中性別是男、女、未說明,我們要測試至少4條數據,查看0到新系統中,對應了男,1對應了女,3、4都對應了未說明。
還有一些老數據,到新的庫中需要有新的顯示模式,比如以前工號只有5位,到新系統中自動升級為10位,我們要跟蹤升級是否正確
3、老的數據關聯,在新庫中是否仍然正確關聯
比如個人工資等信息,每個數據都應對應一個人員,到新的系統后,人員信息表發生變更,那么老的工資信息到新庫中,是否還能正確對應人員。這種對應關系我們要跟蹤幾條數據(根據業務邏輯,覆蓋可能的全部狀態),查看到新系統后,各個數據是否正確對應。
4、關注特殊數據對象
有些數據是比較大的附件,在新的數據庫中是否有正確的空間存儲,我們需要關注這些大的對象,遷移到新的庫中,是否正確被保存和能夠繼續使用。
5、從業務層面去驗證老數據,在新系統中的應用。這個就是用新的系統,用導過來的數據跑下全部功能。