Sobes.tech
Junior

E-posta giriş alanının testini nasıl yaparsınız?

sobes.tech yapay zeka

AI'dan gelen yanıt

E-posta giriş alanının testi, ön uç ve arka uç seviyelerinde doğrulamalar ve kullanıcı arayüzü testlerini içerir.

Ön uç (Client-Side) doğrulamalar:

  • Format doğrulaması:
    • Doğru adresler (örn., test@example.com, test.name@sub.example.co.uk).
    • Yanlış adresler (eksik @, alan adı, geçersiz özel karakterler, boşluklar).
  • Giriş sınırları:
    • Minimum ve maksimum uzunluk.
    • Boş alan.
  • Veri tipi: Alanın yalnızca e-posta için izin verilen karakterleri kabul ettiğinden emin olun.
  • Hata mesajları: Yanlış girişlerde mesajların doğruluğu ve bilgilendiriciliği.
  • Etkileşim:
    • Alan odak durumu (focus state).
    • Yazma durumu.
    • Hata durumu.

Arka uç (Server-Side) doğrulamalar:

  • Format doğrulaması: Ön uç doğrulamasını aşmayı önlemek için e-posta formatının tekrar kontrolü.
  • Benzersizlik: E-posta benzersiz olmalıysa (ör., kayıt sırasında), veritabanında tekrar kontrolü.
  • İş kuralları: İş kurallarına uygunluğu kontrol etme (örn., belirli alan adlarının kullanımını engelleme).
  • Özel karakterlerin işlenmesi: SQL enjeksiyonu gibi sorunlara yol açabilecek karakterlerin doğru işlenmesi.
  • Alan adının varlığını kontrol: E-posta alan adının varlığını kontrol etme opsiyonel.

Test örnekleri:

  • Pozitif:
    • Geçerli bir e-posta girişi.
    • Uzun alan adı/uzantısı olan e-posta girişi.
    • Alt alan adları içeren e-posta girişi.
  • Negatif:
    • Boş alan.
    • @ karakteri olmayan metin girişi.
    • @ sonrası alan adı kısmı olmayan metin girişi.
    • Boşluk içeren metin girişi.
    • Geçersiz karakterler içeren metin girişi.
    • Maksimum uzunluğu aşan e-posta girişi.
    • Zaten kayıtlı olan e-posta (kayıt sırasında).
    • Geçersiz formatta özel karakterler içeren e-posta.

Otomasyon:

Bu testleri otomatikleştirmek için çeşitli çerçeveler ve araçlar kullanılabilir:

  • UI otomasyonu: Selenium, Cypress, Playwright, ön uç doğrulama ve alanla etkileşim için.
# Python'da Selenium için örnek psevdokod
from selenium import webdriver

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

email_alani = driver.find_element_by_id("emailInput") # ID ile alanı bul
email_alani.send_keys("geçersiz-email") # Geçersiz email gir

hata_mesaji = driver.find_element_by_id("errorMessage") # Hata mesajı elementini bul
assert "Geçersiz email formatı" in hata_mesaji.text # Hata mesajını kontrol et

driver.quit()
  • API otomasyonu: RestAssured, Postman, Requests (Python) ile backend doğrulamasını farklı verilerle istekler göndererek test etme.
// Postman için psevdokod örneği
{
  "email": "geçersiz-email"
}
// Postman Tests'te örnek
pm.test("Durum kodu 400 olmalı", function () {
    pm.response.to.have.status(400); // Sunucunun 400 hatası döndürdüğünü kontrol et
});

pm.test("Hata mesajı doğru", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.message).to.eql("Geçersiz email formatı"); // Hata mesajını kontrol et
});

Ek faktörler:

  • Gerçek verilerle testler (test veritabanı varsa).
  • Farklı cihazlar ve tarayıcılarda test.
  • Büyük veri girişleriyle alanın performans testi.