Sobes.tech
Junior

Wie testet man das Eingabefeld für die E-Mail-Adresse?

sobes.tech KI

Antwort von AI

Die Validierung des Eingabefelds für die E-Mail-Adresse umfasst folgende Prüfungen:

  • Formatvalidierung:
    • Korrekte Formate (name@domain.zone, name.nachname@subdomain.domaine.zone usw.).
    • Falsche Formate (ohne @, ohne Domain, mit mehreren @, mit verbotenen Zeichen, mit Leerzeichen).
    • Sonderzeichen im lokalen Teil und im Domainnamen.
    • Domainnamen unterschiedlicher Längen.
    • IP-Adresse als Domain (benutzer@[192.168.1.1]).
  • Feldlänge:
    • Minimale zulässige Länge.
    • Maximale zulässige Länge.
    • Überschreitung der maximalen Länge.
  • Pflichtfeld:
    • Absenden des Formulars mit leerem Feld.
  • Groß- und Kleinschreibung:
    • Ist das Feld case-sensitive (normalerweise nicht für den Domain-Teil)?
  • Cross-Browser- und plattformübergreifende Tests:
    • Korrekte Anzeige und Verhalten in verschiedenen Browsern und auf verschiedenen Geräten.
  • Sicherheitsprüfungen:
    • XSS-Angriffe (Skripteingabe).
    • SQL-Injektionen (wenn das Feld direkt mit einer Datenbank interagiert).
  • Leistung:
    • Antwortzeit bei Eingabe langer/komplexer Adressen (falls "Echtzeit"-Validierung vorhanden ist).

Beispiel-Testfälle:

ID Beschreibung des Testfalls Eingabedaten Erwartetes Ergebnis Tatsächliches Ergebnis Status
TC-001 Korrektes E-Mail-Format test@example.com Das System akzeptiert die E-Mail, keine Fehlermeldung.
TC-002 Falsches Format (ohne @) testexample.com Das System zeigt eine Formatfehlermeldung an.
TC-003 Falsches Format (mehrere @) test@example@com Das System zeigt eine Formatfehlermeldung an.
TC-004 Leeres Feld (Pflichtfeld) (leer) Das System zeigt eine Meldung, dass das Feld erforderlich ist.
TC-005 Längere E-Mail a*250 + @example.com Das System verarbeitet eine zulässige lange E-Mail korrekt.

Beispiel für automatisierten Test (Python mit Selenium):

# test_email_field.py
from selenium import webdriver
from selenium.webdriver.common.by import By

def test_valid_email_input():
    driver = webdriver.Chrome() # oder ein anderer Treiber
    driver.get("http://deine-app-url.com") # ersetze durch die URL der Anwendung

    email_field = driver.find_element(By.ID, "email") # ersetze durch den Locator des Feldes
    email_field.send_keys("test@example.com")

    # Überprüfung, dass keine Fehlermeldung angezeigt wird
    error_message = driver.find_elements(By.ID, "email-error") # ersetze durch den Locator der Fehlermeldung
    assert len(error_message) == 0, "Fehlermeldung wurde für korrekte E-Mail angezeigt"

    driver.quit()

def test_invalid_email_input():
    driver = webdriver.Chrome()
    driver.get("http://deine-app-url.com")

    email_field = driver.find_element(By.ID, "email")
    email_field.send_keys("ungültige-email")

    # Überprüfung, dass die Fehlermeldung angezeigt wird
    error_message = driver.find_element(By.ID, "email-error") # ersetze durch den Locator der Fehlermeldung
    assert error_message.is_displayed(), "Fehlermeldung wurde für inkorrekte E-Mail nicht angezeigt"

    driver.quit()