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()