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).
- Korrekte Adressen (z.B.
- 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.