Junior
Was ist ein Rauchtest?
sobes.tech KI
Antwort von AI
Der Smoke-Test (Rauchtest) ist eine Art der Softwareprüfung, die nach dem Build einer neuen Version durchgeführt wird, um schnell die grundlegende Funktionalität und Stabilität zu überprüfen. Ziel ist es zu entscheiden, ob es sinnvoll ist, mit tiefergehenden Tests fortzufahren.
Hauptmerkmale:
- Oberflächlich: Es werden nur die wichtigsten und kritischsten Funktionen der Anwendung geprüft.
- Schnell: Wird in kurzer Zeit durchgeführt, meist nicht länger als 30-60 Minuten.
- Kritisch: Zielt darauf ab, schwerwiegende Fehler zu erkennen, die weitere Tests sinnlos machen.
- Gatekeeper: Wenn der Smoke-Test fehlschlägt, wird der Build abgelehnt und kein vollständiger Testzyklus durchgeführt.
Anwendungsszenarien:
- Jeder neuen Build: Wird nach jeder Bereitstellung einer neuen Version der Anwendung überprüft.
- Vor der Veröffentlichung: Letzte schnelle Überprüfung vor der Produktion.
- Nach Änderungen: Überprüft, ob kürzliche Änderungen die Hauptfunktionen nicht beschädigt haben.
Beispiel für einen Test (für eine Webanwendung):
- Erfolgreiches Laden der Startseite.
- Möglichkeit, sich anzumelden.
- Funktionieren der Hauptbereiche (z.B. Produktliste anzeigen).
- Korrekte Abmeldung vom System.
Smoke-Tests können manuell oder automatisiert durchgeführt werden. Die Automatisierung beschleunigt den Prozess erheblich und sorgt für Stabilität bei den Prüfungen.
# Einfaches automatisiertes Smoke-Test-Beispiel mit Selenium
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)
# Überprüfen, ob das Login-Feld vorhanden ist
login_field = driver.find_element(By.ID, "login-input")
assert login_field.is_displayed(), "Login-Feld nicht sichtbar"
# Überprüfen, ob das Passwortfeld vorhanden ist
password_field = driver.find_element(By.ID, "password-input")
assert password_field.is_displayed(), "Passwortfeld nicht sichtbar"
# Überprüfen, ob der Login-Button vorhanden ist
login_button = driver.find_element(By.ID, "login-button")
assert login_button.is_displayed(), "Login-Button nicht sichtbar"
# Versuch des Logins (optional, abhängig vom Umfang des Smoke-Tests)
# login_field.send_keys(username)
# password_field.send_keys(password)
# login_button.click()
# assert "dashboard" in driver.current_url # Weiterleitungsprüfung
print("Smoke-Test: Grundlegende Login-Elemente sind vorhanden.")
return True
except Exception as e:
print(f"Smoke-Test fehlgeschlagen: {e}")
return False
finally:
driver.quit()
# Beispielaufruf
# smoke_test_login("http://example.com/login", "testuser", "password123")