różnica między testem jednostkowym, testem systemu, testem integracji i testem regresji

różnica między testem jednostkowym, testem systemu, testem integracji i testem regresji

test jednostkowy

testy jednostkowe są przeprowadzane na poszczególnych jednostkach programu i mają na celu zbadanie pojedynczego komponentu, który ma został zmodyfikowany lub wprowadzony po raz pierwszy. Każdy test, który ma na celu walidację pojedynczego modułu, musi być przedstawiony wraz z załączoną dokumentacją techniczną, która będzie zawierać między innymi informacje na temat wyników, których oczekuje się od testowanego modułu. Testy jednostkowe koncentrują się na funkcjonalności i niezawodności oprogramowania i są przeprowadzane w fazie testowej przed integracją systemu. Jeśli usterka została wykryta podczas testu jednostkowego, zostanie oceniona jej Natura i wpływ na ogólny system; celem jest jej usunięcie przed zatwierdzeniem testowanego modułu.

test systemu

test systemu wykonywany jest na wszystkich nowych lub zmodyfikowanych komponentach i modułach charakteryzujących produkt. Celem jest zrozumienie, w jaki sposób różne unitarne bloki współdziałają ze sobą i czy dostarczają wymaganych wyników ogółem; nacisk kładzie się na walidację i weryfikację wymagań systemowych oraz na to, jak poszczególne moduły współpracują ze sobą, gdy są połączone. Zazwyczaj testy w systemie są więcej niż jeden: pierwszy z nich zasługuje na szczególną uwagę (zwykle nazywany “testem dymu”), który ma na celu zbadanie w szerokim zakresie, jak program zachowuje się i czy główne funkcje są wykonywane prawidłowo, bez rozwodzenia się nad szczegółami. Testy na całym systemie trwają długo, ponieważ konieczne jest przeprowadzenie dużej liczby w celu przeanalizowania wszystkich możliwych scenariuszy, które mogą wystąpić; Plan testów w tym momencie odgrywa bardzo delikatną rolę, ponieważ zawiera opis przypadków testowych, kolejność, w której muszą być wykonane oraz dokumentację niezbędną do wykazania wyników. Po wykryciu i naprawieniu błędu należy ponownie przeprowadzić test, aby upewnić się, że dokonane korekty nie miały negatywnego wpływu na komponenty, które wcześniej nie miały błędów (test regresji wspomniany już powyżej).

Test integracji

po wykonaniu różnych testów systemu, konieczne jest upewnienie się, że opracowany program zapewnia pożądane rezultaty, nawet jeśli jest uruchamiany w środowiskach innych niż natywne: konieczne jest zatem przeprowadzenie testów integracyjnych,w których produkt jest testowany wraz z innymi interfejsami i aplikacjami. W przeciwieństwie do testów systemowych, w testach integracyjnych nie jest konieczne ponowne testowanie, czy usterka zostanie wykryta po jej usunięciu. Testy integracyjne są podzielone na różne grupy i mogą być przeprowadzane lub nie w zależności od testowanej aplikacji:

  • Test zgodności: gwarancja, że aplikacja działa z różnymi konfiguracjami w oparciu o te dostępne dla użytkownika
  • testy wydajności: oceniają zdolność aplikacji do prawidłowego działania, gdy na przykład wielu użytkowników korzysta z niej jednocześnie lub liczba wejść wzrasta
  • testy warunków skrajnych: testują prawidłowe działanie aplikacji, gdy jest obciążona nietypowymi obciążeniami
  • testy obciążenia: są one uzupełnieniem testów warunków skrajnych i oceniają działanie aplikacji przy normalnych obciążeniach

test regresji

test regresji, wspomniany już w poprzednich akapitach, jest przeprowadzany za każdym razem, gdy procedura elementu programu jest modyfikowana po zidentyfikowaniu wady; po skorygowaniu błędu pojawia się możliwość niezamierzonego wprowadzenia nowego: w związku z tym pojawia się niepewność co do zdolności aplikacji do poprawnego powtórzenia wszystkich wcześniej wykonanych funkcji. Test regresji jest zwykle przeprowadzany równolegle z innymi testami i może być postrzegany jako kontrola jakości w celu zapewnienia, że zmodyfikowany kod nadal poprawnie wykonuje funkcje, które nie zostały zmodyfikowane i które spełniają te same wymagania zweryfikowane wcześniej . Podsumowując, można stwierdzić, że test regresji zapewnia, że na pozostałą część aplikacji, która nie podlega modyfikacji, nie mają wpływu błędy wynikające z korekty innych.

Leave a Reply