Czym jest testowanie równoległe? Metoda, podejście i przykład

⚡ Inteligentne podsumowanie

Testowanie równoległe polega na jednoczesnym uruchamianiu starego systemu i nowego systemu na tych samych danych wejściowych. Dzięki temu testerzy mogą potwierdzić, że przeniesione dane, obliczenia i przepływy biznesowe nadal dają identyczne wyniki.

  • 🎯 Cel: Udowodnij, że nowa wersja zachowuje się tak samo jak stara, lub lepiej.
  • 🗓️. wyzwalania: Wymiana systemów, migracje danych i okna synchronizacji dwóch systemów.
  • 🚪 Kryteria: Kryteria wejścia otwierają cykl; kryteria wyjścia go zamykają.
  • 🔍 Metoda: Porównaj oba wyniki wiersz po wierszu i sklasyfikuj każdą różnicę.
  • ⚠️ Koszty: Wymagana jest pełna znajomość produktu i pełne omówienie rezultatów.

Definicja, podejście i przykład testowania równoległego

Czym jest testowanie równoległe?

Testowanie równoległe To rodzaj testowania oprogramowania, w którym wiele wersji lub podkomponentów aplikacji jest testowanych jednocześnie przy użyciu tych samych danych wejściowych w różnych systemach, w celu skrócenia czasu wykonywania testów. Celem testowania równoległego jest sprawdzenie, czy wersja starsza i nowa zachowują się tak samo, czy inaczej, oraz ustalenie, czy nowa wersja jest bardziej wydajna.

Poniższy obraz przedstawia testowanie równoległe.

Równoległy przepływ testów ze starym i nowym systemem współdzielącymi jedno wejście

Przykład testu równoległego

Gdy organizacja przechodzi na nowy system, ważne jest, aby przenieść stare dane, a ich przeniesienie jest skomplikowane.

Podczas testowania oprogramowania weryfikacja zgodności nowo opracowanego systemu ze starym systemem odbywa się poprzez testy równoległe, jak pokazano na poniższym diagramie.

Przykład równoległego testowania porównujący dane wyjściowe starego systemu z danymi wyjściowymi nowego systemu

Dlaczego warto przeprowadzać testy równoległe

Testowanie równoległe przeprowadza się z następujących powodów.

  • Aby mieć pewność, że nowa wersja aplikacji działa poprawnie
  • Aby mieć pewność, że wyniki będą spójne między nową i starą wersją
  • Aby sprawdzić, czy format danych pomiędzy dwiema wersjami uległ zmianie
  • Aby sprawdzić integralność nowej aplikacji

Na przykład użytkownicy korzystają obecnie z wersji 1.0 aplikacji, a od marca przejdą na wersję 1.1, jak pokazano poniżej.

Wersja 1.0 i wersja 1.1 testowane równolegle podczas migracji

W takich przypadkach testerzy przeprowadzają testy równoległe, aby potwierdzić, że migracja danych zakończyła się pomyślnie i że zmiany w nowej wersji nie mają wpływu na funkcjonowanie systemu ani na wyniki oczekiwane przez użytkownika.

Kiedy wykonywać testy równoległe

Testowanie równoległe jest szeroko stosowane, gdy:

  • Firma przechodzi ze starego systemu na nowy
  • Syncchronizacja jest wykonywana pomiędzy dwoma systemami
  • Dane starszej wersji są importowane z jednego systemu do drugiego
  • Wszystkie wyniki muszą być precyzyjnie zdefiniowane — na przykład w obszarze finansów lub ubezpieczeń, gdzie obliczenia stanowią główną funkcjonalność systemu

Jak przeprowadzić testowanie równoległe: podejście kompletne

Do testowania równoległego tworzysz kilka projektów, z których każdy testuje inną część aplikacji (projekty podrzędne), i jeden projekt (projekt główny), w którym są uruchamiane.

Testowanie równoległe ma dwa poziomy kryteriów.

  1. Kryteria wejścia do testu równoległego — zdefiniuj zadania, które muszą zostać wykonane, aby możliwe było efektywne przeprowadzenie testów równoległych.
  2. Kryteria wyjścia z testu równoległego — zdefiniuj pomyślne zakończenie etapu testowania równoległego.

Najpierw muszą zostać spełnione pewne warunki wstępne.

  • Testowanie równoległe nie może się rozpocząć, dopóki Środowisko testowe konfiguracja jest gotowa
  • Najpierw należy określić wszystkie warunki wstępne i scenariusze
  • Należy pomyślnie przeprowadzić migrację starszych i nowych danych
  • Testowanie równoległe nie zostanie ukończone, dopóki nie zostaną spełnione wszystkie kryteria wyjścia

Wykonaj testy równoległe w pięciu krokach.

  1. Uruchom stary system w oparciu o nowo opracowany system.
  2. Zrozum różnice pomiędzy tymi dwoma systemami.
  3. Wykonaj pełny cykl, używając tych samych danych wejściowych.
  4. Porównaj wydajność nowo opracowanego systemu z wydajnością starego systemu.
  5. Zgłoś przyczynę każdego znalezionego błędu.

Dobre praktyki w testowaniu równoległym

Oto kilka przydatnych wskazówek.

Typowe błędy identyfikowane podczas testów równoległych

  • Wewnętrzna logika uległa zmianie
  • Zmieniono przepływ produktu
  • Zmodyfikowano główne funkcjonalności

Ile cykli powinno być wymaganych

Liczba cykli testowania zależy od złożoności modułu. Uruchom wiele cykli scenariuszy, korzystając z predefiniowanych dane testowe który przekazał poprzedni system.

Kategoryzowanie różnic

Wyniki nowego i starszego systemu należy mierzyć wiersz po wierszu, wyróżniając różnice i klasyfikując każdą różnicę według typu błędu.

Rodzaj błędu występującego podczas cykli

Testujący powinien zanotować, która z różnic ma zastosowanie.

  • Błąd wpisu
  • Błąd spowodowany przez stary system
  • Wyjaśnialna lub akceptowalna różnica
  • Niespodziewany błąd

Czym nie jest testowanie równoległe

Tabela wyznacza granicę.

Jest to testowanie równoległe To nie jest testowanie równoległe
Testowanie zaktualizowanej aplikacji względem poprzedniej aplikacji. Testowanie tylko jednego oprogramowania.
Uruchomienie starego scenariusza z nowym oprogramowaniem przy tych samych warunkach wejściowych. Testowanie między przeglądarkami i platformami.
Celem jest poznanie wyniku zgodnie z poprzednim systemem. Celem jest znalezienie problemu projektowego.
Wymagana jest znajomość zarówno starego, jak i nowego systemu. Znajomość różnicy nie jest wymagana.

Wyzwania testowania równoległego

  • Wymagana jest pełna znajomość produktu
  • Każdy wynik powinien zostać przetestowany
  • Wprowadzanie danych i przepływ produktów wymagają ciągłej uwagi

FAQ

Testy regresji Porównuje kompilację z oczekiwanymi wynikami. Testowanie równoległe polega na porównaniu dwóch oddzielnych systemów, wykorzystując starszy jako punkt odniesienia.

Modele potrafią różnicować dwa zestawy wyników i rozbieżności w klastrach, oddzielając wyjaśnialne różnice w zaokrągleniach od rzeczywistych defektów. Ta selekcja jest najwolniejszą, ręczną częścią każdego cyklu.

Tak. Porównywanie rekordów i formatowanie raportów to powtarzalny kod, z którym asystent radzi sobie bez problemu. Reguły tolerancji nadal wymagają człowieka, ponieważ akceptowalna różnica to kwestia biznesowa.

Testerzy wykonują cykle, a użytkownicy biznesowi rozstrzygają różnice. W finansach i ubezpieczeniach ekspert dziedzinowy decyduje, które niezgodności są dopuszczalne.

Rzeczywiste dane produkcyjne z systemu legacy, maskowane w razie potrzeby. Dane syntetyczne ukrywają historyczne przypadki skrajne, które najczęściej zaburzają migrację.

Termin ten jest używany w obu znaczeniach. Bieganie wielu zautomatyzowane jednoczesne umieszczenie pakietów w siatce skraca czas wykonania, ale nie porównuje niczego między dwoma systemami.

Gdy spełnione są wszystkie kryteria wyjścia: wszystkie cykle wykonane, każda różnica sklasyfikowana, brak niewyjaśnionej niezgodności. Podpisanie zazwyczaj poprzedza testy akceptacyjne użytkownika.

Dwa środowiska na żywo, zduplikowane dane i personel znający oba systemy. Koszt jest akceptowany, gdy błędne wyliczenie pociąga za sobą konsekwencje prawne.

Podsumuj ten post następująco: