Sobes.tech
Junior

Чӣ тавр санҷиши майдони ворид кардани суроғаи электронӣ?

sobes.tech AI

Ҷавоб аз AI

Тестування поля вводу електронної пошти включає наступні перевірки:

  • Валідація формату:
    • Правильні формати (name@domain.zone, name.surname@subdomain.domain.zone тощо).
    • Неправильні формати (без @, без домену, з кількома @, з забороненими символами, з пробілами).
    • Спеціальні символи в локальній частині та домені.
    • Домени різної довжини.
    • IP-адреса як домен (user@[192.168.1.1]).
  • Довжина поля:
    • Мінімальна допустима довжина.
    • Максимальна допустима довжина.
    • Перевищення максимальної довжини.
  • Обов’язковість поля:
    • Надсилання форми з порожнім полем.
  • Чутливість до великих і малих літер:
    • Чи є поле case-sensitive (зазвичай ні для домену).
  • Крос-браузерне та крос-платформне тестування:
    • Правильне відображення та поведінка у різних браузерах та на різних пристроях.
  • Тестування безпеки:
    • XSS-атаки (введення скриптів).
    • SQL-ін’єкції (якщо поле взаємодіє безпосередньо з базою даних).
  • Продуктивність:
    • Час відгуку при введенні довгих/складних адрес (якщо є валідація "на льоту").

Приклади тестових сценаріїв:

ID Опис тестового сценарію Вхідні дані Очікуваний результат Фактичний результат Статус
TC-001 Правильний формат email test@example.com Система приймає email, без повідомлення про помилку.
TC-002 Неправильний формат (без @) testexample.com Система показує повідомлення про помилку.
TC-003 Багатократний @ test@example@com Система показує повідомлення про помилку.
TC-004 Порожнє поле (обов’язкове) (порожнє) Система вказує, що поле обов’язкове.
TC-005 Довгий email a*250 + @example.com Система правильно обробляє email з допустимою довжиною.

Приклад автоматизованого тесту (Python з Selenium):

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

def test_valid_email_input():
    driver = webdriver.Chrome() # або інший драйвер
    driver.get("http://your-app-url.com") # замініть на URL вашого додатку

    email_field = driver.find_element(By.ID, "email") # замініть локатор поля
    email_field.send_keys("test@example.com")

    # Перевірка, що не з’являється повідомлення про помилку
    error_message = driver.find_elements(By.ID, "email-error") # замініть локатор повідомлення
    assert len(error_message) == 0, "Повідомлення про помилку з’явилось для коректного email"

    driver.quit()

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

    email_field = driver.find_element(By.ID, "email")
    email_field.send_keys("invalid-email")

    # Перевірка, що з’являється повідомлення про помилку
    error_message = driver.find_element(By.ID, "email-error") # замініть локатор повідомлення
    assert error_message.is_displayed(), "Повідомлення про помилку не з’явилось для неправильного email"

    driver.quit()