Sobes.tech
Junior

Mis on suitsutest?

sobes.tech AI

Vastus AI-lt

Sõrme-testimine (suitsutestimine) on tarkvara testimise tüüp, mis tehakse pärast uue ehitise koostamist, et kiiresti kontrollida selle põhifunktsionaalsust ja stabiilsust. Eesmärk on määrata, kas tasub jätkata sügavamat testimist.

Peamised omadused:

  • Kattuv: Kontrollitakse ainult kõige olulisemaid ja kriitilisi funktsioone.
  • Kiire: Teostatakse lühikese aja jooksul, tavaliselt mitte rohkem kui 30-60 minutit.
  • Kriitiline: Suunatud tõsiste vigade avastamisele, mis muudavad edasise testimise mõttetuks.
  • Gatekeeper: Kui suitsutest ebaõnnestub, lükatakse ehitis tagasi ning kogu testimistsükkel ei toimu.

Kasutusstsenaariumid:

  1. Iga uus ehitis: Kontrollitakse pärast iga uue versiooni juurutamist.
  2. Enne väljaandmist: Lõplik kiire kontroll enne tootmisse andmist.
  3. Pärast muudatusi: Kontrollitakse, kas viimased muudatused ei ole rikkunud põhifunktsioone.

Näide (veebirakenduse jaoks):

  • Pealehe edukas laadimine.
  • Sisselogimise võimalus.
  • Põhjaosade funktsionaalsus (nt toote nimekirja vaatamine).
  • Õige välja logimine süsteemist.

Suitsutestid võivad olla nii käsitsi kui ka automatiseeritud. Automatiseerimine kiirendab protsessi märkimisväärselt ning tagab kontrollide stabiilsuse.

# Lihtne automatiseeritud suitsutesti näide Seleniumi kasutades
from selenium import webdriver
from selenium.webdriver.common.by import By

def smoke_test_login(url, username, password):
    driver = webdriver.Chrome()
    try:
        driver.get(url)
        # Kontroll, kas on sisselogimisväli
        login_field = driver.find_element(By.ID, "login-input")
        assert login_field.is_displayed(), "Sisselogimisväli ei ole nähtav"

        # Kontroll, kas on parooli väli
        password_field = driver.find_element(By.ID, "password-input")
        assert password_field.is_displayed(), "Parooli väli ei ole nähtav"

        # Kontroll, kas on sisselogimisnupp
        login_button = driver.find_element(By.ID, "login-button")
        assert login_button.is_displayed(), "Sisselogimisnupp ei ole nähtav"

        # Katse sisse logida (valikuline, sõltub suitsutesti sügavusest)
        # login_field.send_keys(username)
        # password_field.send_keys(password)
        # login_button.click()
        # assert "dashboard" in driver.current_url # Redirektsiooni kontroll

        print("Suitsutest: Põhielemendid on olemas.")
        return True
    except Exception as e:
        print(f"Suitsutest ebaõnnestus: {e}")
        return False
    finally:
        driver.quit()

# Näide kutsumisest:
# smoke_test_login("http://example.com/login", "testuser", "password123")