Sobes.tech
Junior

Elektron pochta manzili kirish maydonini qanday sinash mumkin?

sobes.tech AI

AIdan javob

Elektron pochta manzili kirish maydonini tekshirish quyidagi tekshiruvlarni o'z ichiga oladi:

  • Format validatsiyasi:
    • To'g'ri formatlar (name@domain.zone, name.surname@subdomain.domaine.zone va boshqalar).
    • Noto'g'ri formatlar (@siz, domensiz, bir nechta @ bilan, taqiqlangan belgilarga ega, bo'sh joylar bilan).
    • Maxsus belgilarning lokal qismida va domenda.
    • Turli uzunlikdagi domen nomlari.
    • IP-manzil domen sifatida (foydalanuvchi@[192.168.1.1]).
  • Maydon uzunligi:
    • Minimal ruxsat etilgan uzunlik.
    • Maksimal ruxsat etilgan uzunlik.
    • Maksimal uzunlikdan oshishi.
  • Majburiy maydon:
    • Bo'sh maydon bilan shakl yuborish.
  • Katta-kichik harf sezgirligi:
    • Maydon case-sensitivemi (odatda domen qismi uchun emas)?
  • Kross-brauzer va platforma testlari:
    • Turli brauzerlar va qurilmalarda to'g'ri ko'rsatish va xatti-harakat.
  • Xavfsizlik testlari:
    • XSS hujumlari (skriptlarni kiritish).
    • SQL injektsiyalari (maydon to'g'ridan-to'g'ri ma'lumotlar bazasi bilan ishlayotgan bo'lsa).
  • Ishlash tezligi:
    • Uzun/kompleks manzillarni kiritishda javob vaqti ("yashash" validatsiya bo'lsa).

Test holatlari misollari:

ID Test holati tavsifi Kirish ma'lumotlari Kutilyotgan natija Haqiqiy natija Holat
TC-001 To'g'ri email formatini tekshirish test@example.com Tizim emailni qabul qiladi, xato xabari ko'rsatilmaydi.
TC-002 Noto'g'ri format (@siz) testexample.com Tizim format xatosi xabarini chiqaradi.
TC-003 Noto'g'ri format (bir nechta @) test@example@com Tizim format xatosi xabarini chiqaradi.
TC-004 Bo'sh maydon (majburiy) (bo'sh) Tizim majburiy maydon haqida xabar chiqaradi.
TC-005 Uzun email a*250 + @example.com Tizim ruxsat etilgan uzunlikdagi emailni to'g'ri ishlaydi.

Avtomatlashtirilgan test misoli (Python va Selenium bilan):

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

def test_valid_email_input():
    driver = webdriver.Chrome() # yoki boshqa drayver
    driver.get("http://sizning-app-url.com") # URL ni o'zgartiring

    email_field = driver.find_element(By.ID, "email") # maydon locatorini o'zgartiring
    email_field.send_keys("test@example.com")

    # Xato xabarining ko'rsatilmaganligini tekshirish
    error_message = driver.find_elements(By.ID, "email-error") # xabar locatorini o'zgartiring
    assert len(error_message) == 0, "To'g'ri email uchun xato xabari ko'rsatilgan"

    driver.quit()

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

    email_field = driver.find_element(By.ID, "email")
    email_field.send_keys("noto'g'ri-email")

    # Xato xabarining ko'rsatilishini tekshirish
    error_message = driver.find_element(By.ID, "email-error") # xabar locatorini o'zgartiring
    assert error_message.is_displayed(), "Noto'g'ri email uchun xato xabari ko'rsatilmagan"

    driver.quit()