Sobes.tech
Junior

Jak napisać test smoke?

sobes.tech AI

Odpowiedź od AI

Testy dymne. Identyfikujemy główne, krytyczne funkcje aplikacji. Tworzymy minimalny zestaw testów do sprawdzenia "powierzchniowej" funkcjonalności tych funkcji. Automatyzujemy je, aby można było je szybko uruchamiać po każdym buildzie lub wydaniu.

Przykład struktury testu dymnego (pseudokod):

# Test nr 1: Sprawdzenie pomyślnego logowania użytkownika na stronie

def test_pomyslne_logowanie():
    # Przejdź na stronę logowania
    navigate_to("https://mysite.com/login")
    # Wprowadź poprawne dane logowania
    enter_username("user@example.com")
    enter_password("password123")
    # Kliknij przycisk "Zaloguj się"
    click_button("Zaloguj się")
    # Sprawdź obecność elementu lub URL wskazującego na pomyślne zalogowanie (np. link do profilu)
    assert element_is_present("//a[@href='/profile']") or url_is("https://mysite.com/dashboard")

# Test nr 2: Sprawdzenie dodania produktu do koszyka

def test_dodaj_produkt_do_koszyka():
    # Przejdź na stronę produktu
    navigate_to("https://mysite.com/products/item1")
    # Kliknij przycisk "Dodaj do koszyka"
    click_button("Dodaj do koszyka")
    # Sprawdź, czy licznik produktów w koszyku się zaktualizował
    assert get_cart_item_count() == 1

# I tak dalej dla innych krytycznych funkcji (rejestracja, płatność, wyszukiwanie itp.)

Kluczowe punkty przy pisaniu testów dymnych:

  • Zwięzłość i szybkość: Testy powinny wykonywać się jak najszybciej.
  • Skupienie na rdzeniu: Testowane są tylko podstawowe "żywotne" funkcje.
  • Stabilność: Testy powinny być odporne na drobne zmiany, jeśli nie wpływają na krytyczną logikę.
  • Automatyzacja: Większość testów dymnych jest zautomatyzowana do integracji z pipeline'ami CI/CD.
  • Prostota: Logika testów powinna być zrozumiała i łatwa do utrzymania.