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