Sobes.tech
Junior

Jak napsat smoke-test?

sobes.tech AI

Odpověď od AI

Dýmové testy. Identifikujeme hlavní a kritické funkce aplikace. Vytváříme minimální sadu testů k ověření "povrchové" funkčnosti těchto funkcí. Automatizujeme je pro rychlé spuštění po každé sestavení nebo vydání.

Příklad struktury dýmového testu (pseudokód):

# Test č. 1: Kontrola úspěšného přihlášení uživatele na webu

def test_uspesne_prihlaseni():
    # Přejít na stránku přihlášení
    navigate_to("https://mysite.com/login")
    # Zadání správných přihlašovacích údajů
    enter_username("user@example.com")
    enter_password("password123")
    # Kliknutí na tlačítko "Přihlásit se"
    click_button("Přihlásit se")
    # Kontrola přítomnosti prvku nebo URL, které svědčí o úspěšném přihlášení (například odkaz na profil)
    assert element_is_present("//a[@href='/profile']") or url_is("https://mysite.com/dashboard")

# Test č. 2: Kontrola přidání zboží do košíku

def test_pridat_zbozi_do_kosiku():
    # Přejít na stránku produktu
    navigate_to("https://mysite.com/products/item1")
    # Kliknout na tlačítko "Přidat do košíku"
    click_button("Přidat do košíku")
    # Kontrola, že se aktualizoval počet položek v košíku
    assert get_cart_item_count() == 1

# A tak dále pro další kritické funkce (registrace, platba, hledání atd.)

Klíčové body při psaní smoke testů:

  • Krátké a rychlé: Testy by měly být co nejrychlejší.
  • Zaměření na jádro: Testují se pouze "životně důležité" funkce.
  • Stabilita: Testy by měly být odolné vůči drobným změnám, pokud neovlivňují kritickou logiku.
  • Automatizace: Většina smoke testů je automatizována pro integraci do CI/CD pipeline.
  • Jednoduchost: Logika testů by měla být srozumitelná a snadno udržovatelná.