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

  1. Minden új build: Minden új verzió telepítése után ellenőrzik.
  2. A kiadás előtt: Utolsó gyors ellenőrzés a gyártásba helyezés előtt.
  3. 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")