Junior
Hoe voer je een test uit voor het invoerveld voor e-mail?
sobes.tech AI
Antwoord van AI
Het testen van het e-mail invoerveld omvat controles op frontend- en backend-niveau, evenals tests van de gebruikersinterface.
Frontend (Client-Side) controles:
- Validatie van het formaat:
- Correcte adressen (bijv.,
test@example.com,test.name@sub.example.co.uk). - Onjuiste adressen (ontbrekende
@, domein, ongeldige speciale tekens, spaties).
- Correcte adressen (bijv.,
- Invoerlijnen:
- Minimale en maximale lengte.
- Leeg veld.
- Gegevenstype: Zorgen dat het veld alleen toegestane tekens voor e-mail accepteert.
- Foutmeldingen: Juistheid en informatiefheid van de berichten bij onjuiste invoer.
- Interactie:
- Focus op het veld (focus status).
- Typestatus.
- Foutstatus.
Backend (Server-Side) controles:
- Validatie van het formaat: Extra controle van het e-mailformaat om het omzeilen van frontend-validatie te voorkomen.
- Uniciteit: Als de e-mail uniek moet zijn (bijvoorbeeld bij registratie), controle op duplicaten in de database.
- Businesslogica: Controle op naleving van bedrijfsregels (bijvoorbeeld, verbod op bepaalde domeinen).
- Behandeling van speciale tekens: Correcte verwerking van tekens die problemen kunnen veroorzaken (bijvoorbeeld SQL-injectie).
- Controle op het bestaan van het domein: Optionele controle of het domein van de e-mail bestaat.
Voorbeeldtests:
- Positief:
- Invoer van een geldige e-mail.
- Invoer van een e-mail met een lang domein/extensie.
- Invoer van een e-mail met subdomeinen.
- Negatief:
- Leeg veld.
- Tekst invoeren zonder
@-teken. - Tekst invoeren zonder domeindelen na
@. - Tekst invoeren met spaties.
- Tekst invoeren met ongeldige tekens.
- E-mail invoeren die de maximale lengte overschrijdt.
- Al geregistreerde e-mail invoeren (bij registratie).
- E-mail invoeren met onjuist formaat van speciale tekens.
Automatisering:
Voor het automatiseren van deze tests kunnen verschillende frameworks en tools worden gebruikt:
- UI-automatisering: Selenium, Cypress, Playwright voor het testen van frontend-validatie en interactie met het veld.
# Voorbeeld van pseudocode voor Selenium in Python
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("jouw_app_url")
email_veld = driver.find_element_by_id("emailInput") # Vind het veld op ID
email_veld.send_keys("ongeldig-email") # Voer ongeldige email in
fout_bericht = driver.find_element_by_id("errorMessage") # Vind element met foutmelding
assert "Ongeldig e-mailformaat" in fout_bericht.text # Controleer de tekst van de foutmelding
driver.quit()
- API-automatisering: RestAssured, Postman, Requests (Python) voor het testen van backend-validatie door verzoeken te sturen met verschillende gegevens.
// Voorbeeld van pseudocode voor Postman
{
"email": "ongeldig-email"
}
// Voorbeeld van tests in Postman
pm.test("Statuscode is 400", function () {
pm.response.to.have.status(400); // Controleer of de server fout 400 heeft geretourneerd
});
pm.test("Foutmelding is correct", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.message).to.eql("Ongeldig e-mailformaat"); // Controleer de tekst van de foutmelding
});
Aanvullende aspecten:
- Testen met echte gegevens (indien een testdatabase beschikbaar is).
- Testen op verschillende apparaten en browsers.
- Prestatie testen van het veld bij invoer van grote hoeveelheden gegevens.