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()