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:
- Iga uus ehitis: Kontrollitakse pärast iga uue versiooni juurutamist.
- Enne väljaandmist: Lõplik kiire kontroll enne tootmisse andmist.
- 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")