Junior
Ako otestovať pole pre zadanie e-mailu?
sobes.tech AI
Odpoveď od AI
Testovanie poľa pre zadanie e-mailovej adresy zahŕňa kontroly na úrovni frontendu aj backendu, ako aj testovanie používateľského rozhrania.
Kontroly (Client-Side):
- Validácia formátu:
- Správne adresy (napr.
test@example.com,test.name@sub.example.co.uk). - Nesprávne adresy (chýbajúce
@, doména, nesprávne špeciálne znaky, medzery).
- Správne adresy (napr.
- Hranice vstupu:
- Minimálna a maximálna dĺžka.
- Prázdne pole.
- Typ údajov: Uistite sa, že pole akceptuje iba povolené znaky v emaili.
- Chybové hlásenia: Správnosť a informatívnosť správ pri nesprávnom vstupe.
- Interakcia:
- Zameranie na pole.
- Stav písania.
- Stav chyby.
Backend (Server-Side) kontroly:
- Validácia formátu: Opätovná kontrola formátu emailu na zabránenie obchádzania validácie na frontende.
- Unikátnosť: Ak má byť email jedinečný (napr. pri registrácii), kontrola duplicit v databáze.
- Obchodná logika: Kontrola súladu s obchodnými pravidlami.
- Spracovanie špeciálnych znakov: Správne spracovanie znakov, ktoré môžu spôsobovať problémy (napr. SQL injection).
- Kontrola existencie domény: Voliteľná kontrola existencie domény v časti emailu.
Príklady testov:
- Pozitívne:
- Zadanie platnej emailovej adresy.
- Zadanie emailu s dlhým doménou/domenovou zónou.
- Zadanie emailu s poddoménami.
- Negatívne:
- Prázdne pole.
- Zadanie textu bez symbolu
@. - Zadanie textu bez časti domény za
@. - Zadanie textu s medzerami.
- Zadanie textu s nedovolenými znakmi.
- Zadanie emailu, ktorý presahuje maximálnu dĺžku.
- Zadanie už registrovaného emailu.
- Zadanie emailu s nesprávnym formátom špeciálnych znakov.
Automatizácia:
Na automatizáciu týchto testov je možné použiť rôzne rámce a nástroje:
- UI automatizácia: Selenium, Cypress, Playwright na testovanie frontendu a interakcie s poľom.
# Príklad pseudokódu pre Selenium v Pythone
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("your_app_url")
email_field = driver.find_element_by_id("emailInput") # Nájdeme pole podľa ID
email_field.send_keys("invalid-email") # Zadáme nesprávny email
error_message = driver.find_element_by_id("errorMessage") # Nájdeme prvok s hlásením o chybe
assert "Invalid email format" in error_message.text # Skontrolujeme text
driver.quit()
- API automatizácia: RestAssured, Postman, Requests (Python) na testovanie backend validácie odoslaním požiadaviek s rôznymi dátami.
// Príklad pseudokódu pre Postman
{
"email": "invalid-email"
}
// Príklad testu v Postman Tests
pm.test("Status code is 400", function () {
pm.response.to.have.status(400); // Kontrola, že server vrátil chybu 400
});
pm.test("Error message is correct", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.message).to.eql("Invalid email format"); // Kontrola textu správy o chybe
});
Ďalšie aspekty:
- Testovanie s použitím reálnych dát (ak je dostupná testovacia databáza).
- Testovanie na rôznych zariadeniach a prehliadačoch.
- Testovanie výkonu poľa pri zadávaní veľkého objemu dát.