Sobes.tech
Junior

Kuidas testida e-posti aadressi sisestusvälja?

sobes.tech AI

Vastus AI-lt

Elektroonilise e-posti aadressi sisestus välja testimine hõlmab järgmisi kontrollimisi:

  • Vormingukontroll:
    • Õiged formaadid (name@domain.zone, name.surname@subdomain.domain.zone jne).
    • Vigased formaadid (ilma @-märgita, ilma domeenita, mitu @-märki, keelatud sümbolid, tühikud).
    • Spetsiaalsed sümbolid lokaalses osas ja domeenis.
    • Domeeninimed erineva pikkusega.
    • IP-aadress domeenina (user@[192.168.1.1]).
  • Välja pikkus:
    • Minimaalne lubatud pikkus.
    • Maksimaalne lubatud pikkus.
    • Maksimaalsest pikkusest ületamine.
  • Välja kohustuslikkus:
    • Saata vorm tühja väljadega.
  • Tähtsus suur- ja väiketähtede suhtes:
    • Kas väli on case-sensitive (tavaliselt ei ole domeeni osas).
  • Ristbrauseri ja platvormi testimine:
    • Õige kuvamine ja käitumine erinevates brauserites ja seadmetes.
  • Turvatestimine:
    • XSS-rünnakud (skriptide sisestamine).
    • SQL-injektsioonid (kui väli otseselt suhtleb andmebaasiga).
  • Tõrkeid ja jõudlustestid:
    • Vastamise aeg pikkade/keeruliste aadresside sisestamisel (kui on "elav" valideerimine).

Testide näited:

ID Testi kirjeldus Sisendandmed Oodatav tulemus Tegelik tulemus Staatus
TC-001 Õige e-posti formaadi test@example.com Süsteem aktsepteerib e-posti, viga ei kuvata.
TC-002 Vigane formaat (ilma @-märgita) testexample.com Süsteem kuvab veateate formaadist.
TC-003 Vigane formaat (mitu @-märki) test@example@com Süsteem kuvab veateate formaadist.
TC-004 Tühi väli (kohustuslik) (tühi) Süsteem kuvab teate, et väli on kohustuslik.
TC-005 Pikk e-post a*250 + @example.com Süsteem korrektselt töötleb lubatud pikkusega e-posti.

Automatiseeritud testnäide (Python ja Selenium):

# test_email_field.py
from selenium import webdriver
from selenium.webdriver.common.by import By

def test_valid_email_input():
    driver = webdriver.Chrome() # või teine draiver
    driver.get("http://your-app-url.com") # muuda URL-ks rakendus

    email_field = driver.find_element(By.ID, "email") # muuda locator
    email_field.send_keys("test@example.com")

    # Kontroll, et viga ei kuvata
    error_message = driver.find_elements(By.ID, "email-error") # muuda locator
    assert len(error_message) == 0, "Viga kuvati õigele e-postile"

    driver.quit()

def test_invalid_email_input():
    driver = webdriver.Chrome()
    driver.get("http://your-app-url.com")

    email_field = driver.find_element(By.ID, "email")
    email_field.send_keys("ebaõige-email")

    # Kontroll, et viga kuvatakse
    error_message = driver.find_element(By.ID, "email-error") # muuda locator
    assert error_message.is_displayed(), "Viga ei kuvata ebaõigele e-postile"

    driver.quit()