Sobes.tech
Junior

Elektron pochta kirish maydonini qanday sinovdan o'tkazish mumkin?

sobes.tech AI

AIdan javob

Email kiritish maydonining testlari frontend va backend darajasida tekshirishlar va foydalanuvchi interfeysini test qilishni o'z ichiga oladi.

Frontend (Client-Side) tekshirishlar:

  • Format validatsiyasi:
    • To'g'ri manzillar (mas., test@example.com, test.name@sub.example.co.uk).
    • Noto'g'ri manzillar (@ belgisi yo'q, domen, noto'g'ri maxsus belgilar, bo'sh joylar).
  • Kiritish chegaralari:
    • Minimal va maksimal uzunlik.
    • Bo'sh maydon.
  • Ma'lumot turi: Maydon faqat email uchun ruxsat etilgan belgilarni qabul qilayotganiga ishonch hosil qilish.
  • Xato xabarlar: Noto'g'ri kiritishda xabarlarning to'g'riligi va ma'lumot berishi.
  • Interaksiya:
    • Maydon fokus holati.
    • Kiritish holati.
    • Xato holati.

Backend (Server-Side) tekshirishlar:

  • Format validatsiyasi: Frontend validatsiyasini chetlab o'tishni oldini olish uchun email formatining qo'shimcha tekshiruvi.
  • Yagona bo'lishi: Agar email unikal bo'lishi kerak bo'lsa (mas., ro'yxatdan o'tishda), duplikatlarni bazada tekshirish.
  • Biznes mantiqi: Biznes qoidalariga muvofiqligini tekshirish (mas., ma'lum domenlardan foydalanishni taqiqlash).
  • Maxsus belgilarni boshqarish: Muammolarni keltirib chiqarishi mumkin bo'lgan belgilarni to'g'ri boshqarish (mas., SQL injection).
  • Domen mavjudligini tekshirish: Email domenining mavjudligini tekshirish opsiyasi.

Test misollari:

  • Pozitiv:
    • To'g'ri email kiritish.
    • Uzun domen/uzantiga ega email kiritish.
    • Subdomenlar bilan email kiritish.
  • Negativ:
    • Bo'sh maydon.
    • @ belgisi bo'lmagan matn kiritish.
    • @ dan keyingi domen qismi bo'lmagan matn kiritish.
    • Bo'sh joylar bilan matn kiritish.
    • Noto'g'ri belgilar bilan matn kiritish.
    • Maksimal uzunlikdan oshgan email kiritish.
    • Allaqachon ro'yxatdan o'tgan email (ro'yxatdan o'tishda).
    • Noto'g'ri formatdagi maxsus belgilar bilan email.

Avtomatlashtirish:

Ushbu testlarni avtomatlashtirish uchun turli ramkalar va vositalardan foydalanish mumkin:

  • UI avtomatlashtirish: Selenium, Cypress, Playwright frontend validatsiya va maydon bilan interaktsiya uchun.
# Python uchun Selenium pseudokodi misoli
from selenium import webdriver

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

email_joy = driver.find_element_by_id("emailInput") # ID bo'yicha maydonni topish
email_joy.send_keys("noto'g'ri-email") # Noto'g'ri email kiriting

xato_xabari = driver.find_element_by_id("errorMessage") # Xato xabar elementini topish
assert "Noto'g'ri email formati" in xato_xabari.text # Xabar matnini tekshirish

driver.quit()
  • API avtomatlashtirish: RestAssured, Postman, Requests (Python) yordamida backend validatsiyasini turli ma'lumotlar bilan so'rov yuborish orqali test qilish.
// Postman uchun pseudokod misoli
{
  "email": "noto'g'ri-email"
}
// Postman Tests'da misol
pm.test("Status kodi 400 bo'lishi kerak", function () {
    pm.response.to.have.status(400); // Server 400 xato qaytarganligini tekshirish
});

pm.test("Xato xabari to'g'ri", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.message).to.eql("Noto'g'ri email formati"); // Xato matnini tekshirish
});

Qo'shimcha jihatlar:

  • Haqiqiy ma'lumotlar bilan testlar (agar test bazasi mavjud bo'lsa).
  • Turli qurilmalar va brauzerlarda test qilish.
  • Katta hajmdagi ma'lumotlar kiritilganda maydonning ishlashini tekshirish.