Junior
Kā uzrakstīt smoke testu?
sobes.tech AI
Atbilde no AI
Dūmu testi. Nosakām galvenās, kritiski svarīgās lietotnes funkcijas. Izveidojam minimālo testu kopumu, lai pārbaudītu šo funkciju "uz virsmas" darbību. Tos automatizējam, lai pēc katras būves vai izlaišanas varētu ātri palaist.
Dūmu testa struktūras piemērs (pseido-kods):
# Tests Nr.1: Lietotāja veiksmīgas pieteikšanās pārbaude vietnē
def test_successful_login():
# Dodamies uz pieteikšanās lapu
navigate_to("https://mysite.com/login")
# Ievadām pareizos akreditācijas datus
enter_username("user@example.com")
enter_password("password123")
# Klikšķinām uz "Pierakstīties" pogas
click_button("Pierakstīties")
# Pārbaudām, vai ir elements vai URL, kas liecina par veiksmīgu pieteikšanos (piemēram, saite uz profilu)
assert element_is_present("//a[@href='/profile']") or url_is("https://mysite.com/dashboard")
# Tests Nr.2: Preces pievienošanas grozam pārbaude
def test_add_item_to_cart():
# Dodamies uz preces lapu
navigate_to("https://mysite.com/products/item1")
# Klikšķinām uz "Pievienot grozam" pogas
click_button("Pievienot grozam")
# Pārbaudām, vai preču skaits grozā ir atjaunināts
assert get_cart_item_count() == 1
# Un tā tālāk citiem kritiskiem funkcijām (reģistrācija, apmaksa, meklēšana utt.)
Svarīgi punkti, rakstot dūmu testus:
- Īss un ātrs: Testiem jābūt pēc iespējas ātrākiem.
- Uz kodola fokuss: Tiek pārbaudītas tikai galvenās "dzīvībai svarīgās" funkcijas.
- Stabilitāte: Testiem jābūt izturīgiem pret nelielām izmaiņām, ja tās neietekmē kritisko loģiku.
- Automatizācija: Visbiežāk dūmu testi ir automatizēti integrācijā ar CI/CD pipeline.
- Vienkāršība: Testu loģika jābūt skaidrai un viegli uzturamai.