Junior
Kuidas kirjutada suitsutesti?
sobes.tech AI
Vastus AI-lt
Smoke-testid. Määratleme põhifunktsioonid, mis on kriitiliselt olulised rakenduse jaoks. Loome minimaalne testide kogum, et kontrollida nende funktsioonide "pinnal" toimivust. Automaatiseerime need, et neid saaks kiiresti käivitada pärast iga koostamist või väljaannet.
Näide smoke-testi struktuurist (pseudo-kood):
# Test nr 1: Kasutaja edukat sisselogimist kontrolliv test
def test_successful_login():
# Mine sisselogimislehele
navigate_to("https://mysite.com/login")
# Sisesta õiged kasutajatunnused
enter_username("user@example.com")
enter_password("password123")
# Klõpsa "Logi sisse" nuppu
click_button("Logi sisse")
# Kontrolli, kas on element või URL, mis näitab edukat sisselogimist (nt profiilileht)
assert element_is_present("//a[@href='/profile']") or url_is("https://mysite.com/dashboard")
# Test nr 2: Tootega ostukorvi lisamise kontroll
def test_add_item_to_cart():
# Mine toote lehele
navigate_to("https://mysite.com/products/item1")
# Klõpsa "Lisa ostukorvi" nuppu
click_button("Lisa ostukorvi")
# Kontrolli, kas ostukorvi toote arv on uuendatud
assert get_cart_item_count() == 1
# Jätka teiste kriitiliste funktsioonide (registreerimine, makse, otsing jne) testidega
Olulised punktid smoke-testide kirjutamisel:
- Lühidus ja kiirus: Testid peavad jooksma võimalikult kiiresti.
- Keskendutakse tuumale: Kontrollitakse ainult põhifunktsioone, mis on "elutähtsad".
- Stabiilsus: Testid peavad olema vastupidavad väikestele muudatustele, kui need ei mõjuta kriitilist loogikat.
- Automatiseerimine: Enamasti on smoke-testid automatiseeritud CI/CD pipeline'i osana.
- Lihtsus: Testide loogika peab olema arusaadav ja hõlpsasti hooldatav.