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á.