Co to jest testowanie regresji?
TESTOWANIE REGRESJI definiuje się jako rodzaj testowania oprogramowania w celu potwierdzenia, że niedawna zmiana programu lub kodu nie wpłynęła niekorzystnie na istniejące funkcje.
Testowanie regresyjne to nic innego jak pełny lub częściowy wybór już wykonanych przypadków testowych, które są ponownie wykonywane, aby zapewnić prawidłowe działanie istniejących funkcji.
To testowanie ma na celu upewnienie się, że nowe zmiany kodu nie powinny mieć skutków ubocznych dla istniejących funkcjonalności. Zapewnia, że stary kod nadal działa po wprowadzeniu najnowszych zmian w kodzie.
W tym samouczku nauczymy się
- Potrzeba testów regresyjnych
- Jak przeprowadzić testy regresji
- Wybór przypadków testowych do testów regresyjnych
- Narzędzia do testowania regresji
- Testowanie regresji i zarządzanie konfiguracją
- Różnica między ponownym testowaniem a testowaniem regresyjnym
- Wyzwania w testowaniu regresji
- Praktyczne zastosowanie przykładu testowania regresji z wideo
Potrzeba testów regresyjnych
Need regresji Testowanie głównie powstaje gdy istnieje wymóg, aby zmienić kod i musimy sprawdzić, czy zmodyfikowany kod wpływa na inną część aplikacji lub nie. Co więcej, testy regresyjne są potrzebne, gdy nowa funkcja jest dodawana do aplikacji oraz do naprawiania defektów, a także rozwiązywania problemów z wydajnością.
Jak przeprowadzić testy regresji
Aby przeprowadzić testowanie regresyjne , musimy najpierw debugować kod, aby zidentyfikować błędy. Po zidentyfikowaniu błędów i wprowadzeniu wymaganych zmian w celu ich naprawienia, testy regresyjne są wykonywane poprzez wybranie odpowiednich przypadków testowych z zestawu testów, który obejmuje zarówno zmodyfikowane, jak i zmienione części kodu.
Konserwacja oprogramowania to czynność obejmująca ulepszenia, poprawki błędów, optymalizację i usuwanie istniejących funkcji. Te modyfikacje mogą spowodować nieprawidłowe działanie systemu. Dlatego testy regresyjne stają się konieczne. Testy regresyjne można przeprowadzić przy użyciu następujących technik:
Przetestuj ponownie wszystko
- Jest to jedna z metod testowania regresji, w której wszystkie testy w istniejącym zasobniku lub zestawie testów powinny zostać ponownie wykonane. Jest to bardzo kosztowne, ponieważ wymaga ogromnego czasu i zasobów.
Wybór testu regresji
Wybór testu regresji to technika, w której niektóre wybrane przypadki testowe z zestawu testów są wykonywane w celu sprawdzenia, czy zmodyfikowany kod wpływa na aplikację, czy nie. Przypadki testowe są podzielone na dwie części: przypadki testowe wielokrotnego użytku, które można wykorzystać w kolejnych cyklach regresji oraz przestarzałe przypadki testowe, których nie można używać w kolejnych cyklach.
Priorytetyzacja przypadków testowych
- Ustal priorytety przypadków testowych w zależności od wpływu biznesowego, krytycznych i często używanych funkcji. Wybór przypadków testowych na podstawie priorytetu znacznie ograniczy zestaw testów regresyjnych.
Wybór przypadków testowych do testów regresyjnych
Na podstawie danych branżowych stwierdzono, że duża liczba defektów zgłaszanych przez klientów była spowodowana wprowadzonymi w ostatniej chwili poprawkami błędów powodującymi skutki uboczne, a zatem wybranie przypadku testowego do testów regresyjnych jest sztuką i nie jest takie łatwe. Efektywne testy regresji można przeprowadzić, wybierając następujące przypadki testowe -
- Przypadki testowe z częstymi defektami
- Funkcjonalności bardziej widoczne dla użytkowników
- Przypadki testowe weryfikujące podstawowe cechy produktu
- Przypadki testowe Funkcjonalności, które przeszły nowsze i nowsze zmiany
- Wszystkie przypadki testów integracji
- Wszystkie złożone przypadki testowe
- Przypadki testowe z wartością graniczną
- Próbka udanych przypadków testowych
- Próbka przypadków testowych niepowodzenia
Narzędzia do testowania regresji
Jeśli oprogramowanie podlega częstym zmianom, koszty testów regresyjnych wzrosną. W takich przypadkach ręczne wykonanie przypadków testowych wydłuża czas wykonywania testów, a także zwiększa koszty. Automatyzacja przypadków testowych regresji jest w takich przypadkach mądrym wyborem. Stopień automatyzacji zależy od liczby przypadków testowych, które można ponownie wykorzystać w kolejnych cyklach regresji.
Poniżej przedstawiono najważniejsze narzędzia używane zarówno do testowania funkcjonalnego, jak i regresyjnego w inżynierii oprogramowania:
Selenium : jest to narzędzie typu open source używane do automatyzacji aplikacji internetowych. Selen może być używany do testowania regresji w przeglądarce.
Quick Test Professional (QTP) : HP Quick Test Professional to zautomatyzowane oprogramowanie zaprojektowane do automatyzacji przypadków testów funkcjonalnych i regresyjnych. Używa języka VBScript do automatyzacji. Jest to narzędzie oparte na danych i słowach kluczowych.
Rational Functional Tester (RFT) : Rational Functional Tester firmy IBM to narzędzie Java służące do automatyzacji przypadków testowych aplikacji. Jest to używane głównie do automatyzacji przypadków testowych regresji, a także integruje się z produktem Rational Test Manager.
Testowanie regresji i zarządzanie konfiguracją
Zarządzanie konfiguracją podczas testów regresyjnych staje się niezbędne w środowiskach zwinnych, w których kod jest stale modyfikowany. Aby zapewnić skuteczne testy regresji, należy przestrzegać następujących zasad:
- Kod poddawany testom regresji powinien znajdować się w narzędziu do zarządzania konfiguracją
- Żadne zmiany nie mogą być dozwolone w kodzie podczas fazy testu regresji. Kod testu regresji musi być odporny na zmiany programisty.
- Baza danych używana do testów regresji musi być odizolowana. Żadne zmiany w bazie danych nie mogą być dozwolone
Różnica między ponownym testowaniem a testowaniem regresyjnym:
Ponowne testowanie oznacza ponowne przetestowanie funkcjonalności lub błędu w celu upewnienia się, że kod został naprawiony. Jeśli nie zostanie naprawiony, Usterka musi zostać ponownie otwarta. Jeśli naprawiono, Usterka jest zamknięta.
Testowanie regresyjne oznacza testowanie aplikacji, gdy przechodzi ona zmianę kodu, aby upewnić się, że nowy kod nie wpłynął na inne części oprogramowania.
Sprawdź również pełną listę różnic tutaj.
Wyzwania w testowaniu regresji:
Poniżej przedstawiono główne problemy związane z testowaniem regresji:
- Wraz z kolejnymi przebiegami regresji zestawy testów stają się dość duże. Ze względu na ograniczenia czasowe i budżetowe nie można wykonać całego zestawu testów regresji
- Minimalizacja zestawu testów przy jednoczesnym osiągnięciu maksymalnego pokrycia testami pozostaje wyzwaniem
- Określenie częstotliwości testów regresji, tj. Po każdej modyfikacji lub każdej aktualizacji kompilacji lub po kilku poprawkach błędów, jest wyzwaniem.
Praktyczne zastosowanie przykładu testowania regresji z wideo
Kliknij tutaj, jeśli wideo nie jest dostępne
Wniosek:
Skuteczna strategia regresji pozwala organizacjom zaoszczędzić czas i pieniądze. Zgodnie ze studium przypadku w dziedzinie bankowości regresja pozwala zaoszczędzić do 60% czasu na naprawach błędów (które zostałyby wyłapane przez testy regresji) i 40% na pieniądzach