Junior
Mi az a füstteszt?
sobes.tech MI
Válasz az MI-től
A füstteszt (füstteszt) egy olyan szoftverteszt típus, amelyet egy új verzió összeállítása után végeznek el, hogy gyorsan ellenőrizzék annak alapfunkcióit és stabilitását. Célja annak meghatározása, hogy érdemes-e folytatni a mélyebb teszteket.
Fő jellemzők:
- Felületes: Csak a legfontosabb és kritikus funkciókat ellenőrzi.
- Gyors: Rövid idő alatt, általában nem több, mint 30-60 perc.
- Kritikus: Súlyos hibák felismerésére irányul, amelyek értelmetlenné teszik a további teszteket.
- Gatekeeper: Ha a füstteszt megbukik, a build elutasításra kerül, és nem kerül sor teljes tesztelési ciklusra.
Használati forgatókönyvek:
- Minden új build: Minden új verzió telepítése után ellenőrzik.
- A kiadás előtt: Utolsó gyors ellenőrzés a gyártásba helyezés előtt.
- Változtatások után: Ellenőrzik, hogy a legutóbbi módosítások nem törtek-e meg alapfunkciókat.
Példa ellenőrzésre (egy webalkalmazás esetén):
- A főoldal sikeres betöltése.
- Bejelentkezés lehetősége.
- A fő részek működése (például, terméklista megtekintése).
- A rendszer helyes kijelentkezése.
A füsttesztek lehetnek kézi vagy automatizáltak. Az automatizálás jelentősen felgyorsítja a folyamatot, és biztosítja az ellenőrzések stabilitását.
# Egyszerű automatizált füstteszt példa Selenium használatával
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)
# Ellenőrizze, hogy van-e beviteli mező a bejelentkezéshez
login_field = driver.find_element(By.ID, "login-input")
assert login_field.is_displayed(), "A bejelentkezési mező nem látható"
# Ellenőrizze, hogy van-e beviteli mező a jelszóhoz
password_field = driver.find_element(By.ID, "password-input")
assert password_field.is_displayed(), "A jelszó mező nem látható"
# Ellenőrizze, hogy van-e a bejelentkezés gomb
login_button = driver.find_element(By.ID, "login-button")
assert login_button.is_displayed(), "A bejelentkezés gomb nem látható"
# Bejelentkezési kísérlet (választható, a füstteszt kiterjedésétől függően)
# login_field.send_keys(username)
# password_field.send_keys(password)
# login_button.click()
# assert "dashboard" in driver.current_url # Átirányítás ellenőrzése
print("Füstteszt: Az alapvető bejelentkezési elemek jelen vannak.")
return True
except Exception as e:
print(f"Füstteszt sikertelen: {e}")
return False
finally:
driver.quit()
# Példa hívás
# smoke_test_login("http://example.com/login", "testuser", "password123")