Sobes.tech
Junior

Ako napísať smoke test?

sobes.tech AI

Odpoveď od AI

Dymové testy. Identifikujeme hlavné a kritické funkcie aplikácie. Vytvárame minimálny súbor testov na overenie "povrchovej" funkčnosti týchto funkcií. Automatizujeme ich pre rýchle spustenie po každom builde alebo vydaní.

Príklad štruktúry dymového testu (pseudokód):

# Test č. 1: Kontrola úspešného prihlásenia používateľa na stránke

def test_uspesne_prihlasenie():
    # Prejsť na stránku prihlásenia
    navigate_to("https://mysite.com/login")
    # Zadať správne údaje
    enter_username("user@example.com")
    enter_password("password123")
    # Kliknúť na tlačidlo "Prihlásiť sa"
    click_button("Prihlásiť sa")
    # Skontrolovať prítomnosť prvku alebo URL, ktorý svedčí o úspešnom prihlásení (napríklad odkaz na profil)
    assert element_is_present("//a[@href='/profile']") or url_is("https://mysite.com/dashboard")

# Test č. 2: Kontrola pridania produktu do košíka

def test_pridanie_produktu():
    # Prejsť na stránku produktu
    navigate_to("https://mysite.com/products/item1")
    # Kliknúť na tlačidlo "Pridať do košíka"
    click_button("Pridať do košíka")
    # Skontrolovať, či sa aktualizoval počet položiek v košíku
    assert get_cart_item_count() == 1

# A tak ďalej pre ďalšie kritické funkcie (registrácia, platba, vyhľadávanie a pod.)

Kľúčové body pri písaní dymových testov:

  • Krátke a rýchle: Testy by mali byť čo najrýchlejšie.
  • Zameranie na jadro: Testujú sa len "životne dôležité" funkcie.
  • Stabilita: Testy by mali byť odolné voči drobným zmenám, ak neovplyvňujú kritickú logiku.
  • Automatizácia: Väčšina dymových testov je automatizovaná na integráciu do CI/CD pipeline.
  • Jednoduchosť: Logika testov by mala byť jasná a ľahko udržiavateľná.