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