Testowanie migracji danych jest niezbędne podczas przechodzenia na nowe wersje aplikacji, gdy zmienia się struktura bazy danych, obiekty przechowywania lub logika przekształcania danych.
Ewolucja aplikacji wymaga regularnych aktualizacji, przeprowadzania migracji ze starych systemów oraz wprowadzania zmian architektonicznych. Zazwyczaj migracja danych jest uważana za zadanie techniczne, jednak bez odpowiedniej kontroli testerzy regularnie otrzymują zgłoszenia incydentów — od utraconych po nieprawidłowo przekształcone dane.
Główne trudności:
Prawidłowy proces ręcznego testowania obejmuje:
Kluczowe cechy:
Czy można używać całkowicie syntetycznych danych do testowania migracji?
Nie. Syntetyczne dane często nie odzwierciedlają rzeczywistych powiązań i historycznych przypadków, dlatego ważne jest ich uzupełnianie rzeczywistymi, zanonimizowanymi próbkami.
Czy porównanie ogólnej liczby rekordów przed i po migracji wystarczy do potwierdzenia poprawności?
Nie. Liczba rekordów może się zgadzać przy błędach przekształcenia lub utracie integralności danych. Ważne jest analizowanie zawartości i poprawności pól.
Czy należy sprawdzać migrację na pustej bazie?
Zdecydowanie. Tego rodzaju kontrola ujawnia graniczne scenariusze błędów (na przykład puste słowniki, brak kluczowych rekordów).
W trakcie migracji sprawdzono tylko "świeże" dane użytkowników. Błędy logiki ujawniły się później, gdy potrzebne były rzadko używane dane historyczne (na przykład stare zamówienia).
Zalety:
Wady:
Stworzono próbki z danymi rzeczywistymi i archiwalnymi (anonimizowanymi), a migracja była testowana zarówno na nich, jak i na pustej oraz mocno fragmentowanej bazie.
Zalety:
Wady: