Sobes.tech
Junior

Wie führt man einen Test des E-Mail-Eingabefelds durch?

sobes.tech KI

Antwort von AI

Das Testen des E-Mail-Eingabefelds umfasst Überprüfungen auf Frontend- und Backend-Ebene sowie Tests der Benutzeroberfläche.

Frontend-Überprüfungen (Client-Seite):

  • Formatvalidierung:
    • Korrekte Adressen (z.B. test@example.com, test.name@sub.example.co.uk).
    • Falsche Adressen (fehlendes @, Domain, ungültige Sonderzeichen, Leerzeichen).
  • Eingabegrenzen:
    • Minimale und maximale Länge.
    • Leeres Feld.
  • Datentyp: Sicherstellen, dass das Feld nur zulässige Zeichen für E-Mails akzeptiert.
  • Fehlermeldungen: Richtigkeit und Informationsgehalt der Meldungen bei falscher Eingabe.
  • Interaktion:
    • Fokus auf das Feld (Fokusstatus).
    • Eingabestatus.
    • Fehlerstatus.

Backend-Überprüfungen (Server-Seite):

  • Formatvalidierung: Zusätzliche Überprüfung des E-Mail-Formats, um Umgehung der Frontend-Validierung zu verhindern.
  • Einzigartigkeit: Falls die E-Mail einzigartig sein muss (z.B. bei Registrierung), Überprüfung auf Duplikate in der Datenbank.
  • Geschäftslogik: Überprüfung der Einhaltung von Geschäftsregeln (z.B. Verbot bestimmter Domains).
  • Spezialzeichenbehandlung: Korrekte Verarbeitung von Zeichen, die Probleme verursachen könnten (z.B. SQL-Injection).
  • Existenzprüfung des Domains: Optionale Überprüfung, ob die Domain des E-Mails existiert.

Beispieltests:

  • Positiv:
    • Eingabe einer gültigen E-Mail.
    • Eingabe einer E-Mail mit langer Domain/Extension.
    • Eingabe einer E-Mail mit Subdomains.
  • Negativ:
    • Leeres Feld.
    • Eingabe von Text ohne @.
    • Eingabe von Text ohne Domain-Teil nach @.
    • Text mit Leerzeichen.
    • Text mit ungültigen Zeichen.
    • E-Mail, die die maximale Länge überschreitet.
    • Bereits registrierte E-Mail (bei Registrierung).
    • E-Mail mit ungültigem Format bei Sonderzeichen.

Automatisierung:

Zur Automatisierung dieser Tests können verschiedene Frameworks und Tools verwendet werden:

  • UI-Automatisierung: Selenium, Cypress, Playwright für Frontend-Validierung und Interaktion mit dem Feld.
# Beispiel-Pseudocode für Selenium in Python
from selenium import webdriver

driver = webdriver.Chrome()
driver.get("deine_app_url")

email_feld = driver.find_element_by_id("emailInput") # Feld anhand ID finden
email_feld.send_keys("ungültige-email") # Ungültige E-Mail eingeben

fehler_meldung = driver.find_element_by_id("errorMessage") # Element mit Fehlermeldung finden
assert "Ungültiges E-Mail-Format" in fehler_meldung.text # Fehlermeldungstext prüfen

driver.quit()
  • API-Automatisierung: RestAssured, Postman, Requests (Python) zum Testen der Backend-Validierung durch Senden von Anfragen mit verschiedenen Daten.
// Beispiel-Pseudocode für Postman
{
  "email": "ungültige-email"
}
// Beispiel für Tests in Postman
pm.test("Statuscode ist 400", function () {
    pm.response.to.have.status(400); // Prüfen, ob Server Fehler 400 zurückgibt
});

pm.test("Fehlermeldung ist korrekt", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.message).to.eql("Ungültiges E-Mail-Format"); // Text der Fehlermeldung prüfen
});

Weitere Aspekte:

  • Tests mit echten Daten (falls eine Testdatenbank vorhanden ist).
  • Tests auf verschiedenen Geräten und Browsern.
  • Leistungstests des Feldes bei Eingabe großer Datenmengen.