Middle
Jak wybrać testy do przeprowadzenia testów regresyjnych?
sobes.tech AI
Odpowiedź od AI
Przy wyborze testów do testów regresyjnych opieram się na następujących kryteriach:
- Testy obejmujące krytyczne procesy biznesowe: Sprawdzają główne funkcje, od których zależy działanie systemu.
- Testy obejmujące obszary z największą liczbą zmian: Skupiają się na częściach systemu dotkniętych ostatnimi modyfikacjami lub ulepszeniami.
- Testy obejmujące obszary z wysoką częstotliwością występowania defektów: Zawierają scenariusze, w których wcześniej wykryto defekty.
- Testy obejmujące nowe funkcjonalności: Sprawdzają poprawność działania dodanych możliwości i ich integrację z istniejącym systemem.
- Testy obejmujące integrację między modułami: Upewniają się, że różne części systemu poprawnie ze sobą współpracują.
- Testy obejmujące najtrudniejsze i najbardziej ryzykowne części systemu: Skierowane na najbardziej niestabilne obszary, gdzie istnieje wysokie ryzyko problemów.
- Testy zautomatyzowane: Zautomatyzowane testy są idealnym wyborem do regresji ze względu na ich szybkość i niezawodność.
Do skutecznego wyboru testów używam także:
- Analizy zmian w bazie kodu.
- Danych o historii defektów i ich lokalizacji.
- Priorytetyzacji funkcji z udziałem zarządzania produktem.
- Wyników poprzednich uruchomień testów regresyjnych.
W zależności od zakresu zmian i dostępnych zasobów, mogę wybrać pełny zestaw testów regresyjnych lub podzbiór (smoke, sanity). Przy wyborze podzbioru preferuję testy obejmujące główne i najbardziej ryzykowne scenariusze.
Przykład struktury folderów z testami regresyjnymi (dla zautomatyzowanych):
# tests/
# regression/
# critical_paths/
# test_login.py
# test_create_order.py
# new_features/
# test_new_payment_method.py
# bug_fixes/
# test_fixed_issue_123.py
# integration/
# test_order_payment_flow.py
# smoke/
# test_basic_ui_elements.py
# ... inne typy testów