Sobes.tech
Junior

Kuidas teha e-posti sisestusvälja test?

sobes.tech AI

Vastus AI-lt

E-posti välja sisestamise test hõlmab nii front-endi kui ka back-endi kontrollimisi ning kasutajaliidese testimist.

Front-end (Client-Side) kontrollimised:

  • Vormingukinnitus:
    • Õiged aadressid (nt test@example.com, test.name@sub.example.co.uk).
    • Vigased aadressid (puudub @, domeen, vigased erimärgid, tühikud).
  • Sisestuspiirangud:
    • Miinimum- ja maksimumpikkus.
    • Tühi väli.
  • Andmetüüp: Tagada, et väli aktsepteerib ainult emaili jaoks lubatud sümboleid.
  • Vigade sõnumid: Vigade sõnumite õigsus ja informatiivsus.
  • Koostoimed:
    • Välja fookus.
    • Sisestusolek.
    • Veaolek.

Back-end (Server-Side) kontrollimised:

  • Vormingukinnitus: Korduv emaili vormingu kontroll, et vältida front-endi valideerimise möödarookimist.
  • Unikaalsus: Kui email peab olema unikaalne (nt registreerimisel), kontroll andmebaasis.
  • Ärilogika: Ärireeglite vastavuse kontroll.
  • Eri sümbolite töötlemine: Õige sümbolite töötlemine, mis võib põhjustada probleeme.
  • Domeeni olemasolu kontroll: Valikuline kontroll, kas domeeniosa eksisteerib.

Testide näited:

  • Positiivsed:
    • Kehtiva emaili sisestus.
    • Pikk domeen.
    • Alam-domeenide sisestus.
  • Negatiivsed:
    • Tühi väli.
    • Teksti sisestus ilma @ märgita.
    • Teksti sisestus ilma domeeni osata pärast @.
    • Teksti sisestus tühikutega.
    • Vigaste sümbolite sisestus.
    • Emaili sisestus, mis ületab maksimaalset pikkust.
    • Juba registreeritud emaili sisestus.
    • Vigase formaadiga erimärkide sisestus.

Automatiseerimine:

Neid teste saab automatiseerida kasutades erinevaid raamistikke ja tööriistu:

  • UI-automatiseerimine: Selenium, Cypress, Playwright.
# Näide Selenium Pythoniga
from selenium import webdriver

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

email_field = driver.find_element_by_id("emailInput") # Leia väli ID järgi
email_field.send_keys("invalid-email") # Sisesta vale email

error_message = driver.find_element_by_id("errorMessage") # Leia veateate element
assert "Invalid email format" in error_message.text # Kontrolli veateate teksti

driver.quit()
  • API-automatiseerimine: RestAssured, Postman, Requests (Python).
// Näide Postmanist
{
  "email": "invalid-email"
}
// Näide Postmani testidest
pm.test("Statuskood on 400", function () {
    pm.response.to.have.status(400); // Kontrolli, et server tagastas 400
});

pm.test("Vigade sõnum on õige", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.message).to.eql("Invalid email format"); // Kontrolli veateate teksti
});

Täiendavad aspektid:

  • Testimine reaalsete andmetega.
  • Testimine erinevatel seadmetel ja brauserites.
  • Laadustestide läbiviimine sisestades suuri andmemahtusid.