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).
- Doğru adresler (örn.,
- 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.