Junior
Hoe test je het invoerveld voor e-mailadressen?
sobes.tech AI
Antwoord van AI
De validatie van het invoerveld voor e-mailadressen omvat de volgende controles:
- Formatvalidatie:
- Correcte formaten (naam@domein.zone, naam.achternaam@subdomein.domein.zone, enz.).
- Onjuiste formaten (zonder @, zonder domein, met meerdere @, met verboden tekens, met spaties).
- Speciale tekens in het lokale deel en in het domein.
- Domeinnamen van verschillende lengtes.
- IP-adres als domein (
gebruiker@[192.168.1.1]).
- Lengte van het veld:
- Minimale toegestane lengte.
- Maximale toegestane lengte.
- Overschrijding van de maximale lengte.
- Verplichting van het veld:
- Indienen van formulier met een leeg veld.
- Hoogte- en kleursensitiviteit:
- Is het veld case-sensitive (meestal niet voor het domeingedeelte)?
- Cross-browser en cross-platform testen:
- Correcte weergave en gedrag op verschillende browsers en apparaten.
- Beveiligingstests:
- XSS-aanvallen (scriptinvoer).
- SQL-injecties (als het veld direct met een database interageert).
- Prestaties:
- Reactietijd bij het invoeren van lange/complexe adressen (als "in real-time" validatie aanwezig is).
Voorbeelden van testgevallen:
| ID | Beschrijving van het testgeval | Invoergegevens | Verwacht resultaat | Werkelijk resultaat | Status |
|---|---|---|---|---|---|
| TC-001 | Correct e-mailformaat | test@example.com |
Het systeem accepteert de e-mail, geen foutmelding. | ||
| TC-002 | Onjuist formaat (zonder @) | testexample.com |
Het systeem toont een foutmelding over het formaat. | ||
| TC-003 | Onjuist formaat (meerdere @) | test@example@com |
Het systeem toont een foutmelding over het formaat. | ||
| TC-004 | Leeg veld (verplicht) | (leeg) | Het systeem toont een bericht dat het veld verplicht is. | ||
| TC-005 | Lange e-mail | a*250 + @example.com |
Het systeem verwerkt correct een e-mail van toegestane lengte. |
Voorbeeld van geautomatiseerde test (Python met Selenium):
# test_email_field.py
from selenium import webdriver
from selenium.webdriver.common.by import By
def test_valid_email_input():
driver = webdriver.Chrome() # of andere driver
driver.get("http://jouw-app-url.com") # vervang door de URL van de app
email_field = driver.find_element(By.ID, "email") # vervang door de locator van het veld
email_field.send_keys("test@example.com")
# Controle op afwezigheid van foutmelding
error_message = driver.find_elements(By.ID, "email-error") # vervang door de locator van het bericht
assert len(error_message) == 0, "Foutmelding verscheen voor correcte email"
driver.quit()
def test_invalid_email_input():
driver = webdriver.Chrome()
driver.get("http://jouw-app-url.com")
email_field = driver.find_element(By.ID, "email")
email_field.send_keys("ongeldig-email")
# Controle of de foutmelding wordt weergegeven
error_message = driver.find_element(By.ID, "email-error") # vervang door de locator van het bericht
assert error_message.is_displayed(), "Foutmelding werd niet weergegeven voor onjuiste email"
driver.quit()