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.