Тестирование поля ввода email включает проверку функциональности, валидации, удобства использования и безопасности.
Функциональное тестирование:
test@example.comfirstname.lastname@example.comemail@subdomain.example.comfirstname+lastname@example.comemail@example.co.ukemail@example.museumemail@example.nameemail@example.демо (для поддержки интернационализованных доменных имен - IDN)@: testexample.com@: test@@example.comtest@example@example.comte!st@example.com, te#st@example.comtest@exa!mple.coma_very_long_email_address_that_exceeds_typical_limits@example.com (проверить лимиты согласно спецификации или здравому смыслу)test @example.comtest@.com, test.@example.comtest@[192.168.1.1]тест@пример.рфВалидация:
Usability & UI/UX:
например, user@example.com).<label>) для поля.Безопасность:
<script>alert('XSS')</script>) в поле.' OR '1'='1).Автоматизация:
Пример кода для юнит-теста валидации:
javascript
Пример E2E-теста с использованием Cypress:
javascript
Таблица с примерами тест-кейсов:
| ID | Действие пользователя | Ожидаемый результат |
|---|---|---|
| TC_01 | Ввод test@example.com | Поле считается валидным. Форма отправляется (если все поля заполнены). |
| TC_02 | Ввод invalid-email | Поле считается невалидным. Отображается сообщение об ошибке. |
| TC_03 | Оставить поле пустым и попытаться отправить форму | Поле считается невалидным (если обязательное). Отображается сообщение об ошибке. |
| TC_04 | Ввод test@example.co.uk | Поле считается валидным. |
| TC_05 | Ввод <script>alert('XSS')</script> | Скрипт не должен быть выполнен. Поле должно быть санировано или валидировано. |
Необходимо также учитывать специфические требования проекта (например, поддержка определенных доменных зон, чувствительность к регистру), тестирование на разных устройствах и браузерах.