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