Sobes.tech
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.