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 Правилен формат на имейл test@example.com Системата приема имейла, без съобщение за грешка.
TC-002 Неправилен формат (без @) testexample.com Системата показва съобщение за грешка.
TC-003 Множество @ test@example@com Системата показва съобщение за грешка.
TC-004 Празно поле (задължително) (празно) Системата указва, че полето е задължително.
TC-005 Дълъг имейл a*250 + @example.com Системата правилно обработва имейл с допустима дължина.

Пример за автоматизиран тест (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, "Появи се съобщение за грешка за коректен имейл"

    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(), "Съобщението за грешка не се показва за неправилен имейл"

    driver.quit()