Sobes.tech
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