Junior
E-posta giriş alanını nasıl test edersiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
E-posta giriş alanının doğrulaması aşağıdaki kontrolleri içerir:
- Format doğrulaması:
- Doğru formatlar (isim@alan.konum, isim.soyisim@altalanım.domaine.konum vb.).
- Yanlış formatlar (@ olmadan, alan olmadan, birden fazla @, yasaklı karakterler, boşluklar ile).
- Yerel kısım ve alan adında özel karakterler.
- Farklı uzunluklarda alan adları.
- Alan adı olarak IP adresi (
kullanıcı@[192.168.1.1]).
- Alan uzunluğu:
- Minimum izin verilen uzunluk.
- Maksimum izin verilen uzunluk.
- Maksimum uzunluğun aşılması.
- Zorunlu alan:
- Boş alan ile form gönderimi.
- Büyük/küçük harf duyarlılığı:
- Alan alanı case-sensitive mı (genellikle alan kısmı için değil)?
- Çapraz tarayıcı ve platform testi:
- Farklı tarayıcılarda ve cihazlarda doğru görüntüleme ve davranış.
- Güvenlik testi:
- XSS saldırıları (script girişleri).
- SQL enjeksiyonları (alan doğrudan veritabanıyla etkileşime giriyorsa).
- Performans:
- Uzun/zorlu adreslerin girilmesi sırasında yanıt süresi ("canlı" doğrulama varsa).
Test örnekleri:
| ID | Test durumu açıklaması | Giriş verileri | Beklenen sonuç | Gerçek sonuç | Durum |
|---|---|---|---|---|---|
| TC-001 | Doğru email formatı | test@example.com |
Sistem emaili kabul eder, hata mesajı gösterilmez. | ||
| TC-002 | Yanlış format (@ olmadan) | testexample.com |
Sistem format hatası mesajı gösterir. | ||
| TC-003 | Yanlış format (birden fazla @) | test@example@com |
Sistem format hatası mesajı gösterir. | ||
| TC-004 | Boş alan (zorunlu) | (boş) | Sistem, alanın zorunlu olduğunu belirten mesaj gösterir. | ||
| TC-005 | Uzun email | a*250 + @example.com |
Sistem, izin verilen uzunlukta bir emaili doğru işler. |
Otomatik test örneği (Python ve Selenium kullanılarak):
# test_email_field.py
from selenium import webdriver
from selenium.webdriver.common.by import By
def test_valid_email_input():
driver = webdriver.Chrome() # veya başka bir sürücü
driver.get("http://uygulama-urliniz.com") # uygulama URL'sini değiştirin
email_field = driver.find_element(By.ID, "email") # alanın locator'ını değiştirin
email_field.send_keys("test@example.com")
# Hata mesajının görünmediğinin kontrolü
error_message = driver.find_elements(By.ID, "email-error") # hata mesajı locator'ını değiştirin
assert len(error_message) == 0, "Doğru email için hata mesajı gösterildi"
driver.quit()
def test_invalid_email_input():
driver = webdriver.Chrome()
driver.get("http://uygulama-urliniz.com")
email_field = driver.find_element(By.ID, "email")
email_field.send_keys("geçersiz-email")
# Hata mesajının gösterildiğinin kontrolü
error_message = driver.find_element(By.ID, "email-error") # hata mesajı locator'ını değiştirin
assert error_message.is_displayed(), "Geçersiz email için hata mesajı gösterilmedi"
driver.quit()