Ответ
Тестирование формы регистрации включает проверку функциональности, валидации, безопасности и удобства использования.
Основные области тестирования и примеры:
-
Позитивные тесты (валидные данные):
- Успешная регистрация с корректными данными.
- Проверка подтверждения пароля (если есть поле "Повторите пароль").
- Регистрация с минимально/максимально допустимой длиной полей.
-
Негативные тесты и валидация:
- Пустые обязательные поля.
- Невалидный email (
user@,user@example,user@.com). - Слабый пароль (менее 8 символов, без цифр, без заглавных букв).
- Пароли не совпадают в полях "Пароль" и "Подтверждение пароля".
- Повторяющийся email (уже зарегистрированный в системе).
- SQL-инъекции и XSS в полях ввода (например,
' OR '1'='1).
-
Тестирование граничных значений:
- Длина имени: 1 символ, 255 символов, 256 символов (должна быть ошибка).
- Пароль с максимально допустимой длиной.
-
UI/UX и функциональность:
- Валидация в реальном времени (подсветка ошибок при вводе).
- Понятные сообщения об ошибках.
- Работа кнопки "Отправить" (активна/неактивна).
- Перенаправление после успешной регистрации (например, на страницу подтверждения).
Пример теста валидации email на JavaScript (Jest):
test('Email validation rejects invalid formats', () => {
expect(validateEmail('plainaddress')).toBe(false);
expect(validateEmail('@example.com')).toBe(false);
expect(validateEmail('user@example')).toBe(false);
expect(validateEmail('user@example.com')).toBe(true);
});
- Дополнительные проверки:
- CAPTCHA (если есть).
- Отправка email для подтверждения (проверить получение письма).
- Валидация на стороне сервера (даже если фронтенд её пропустил).
- Производительность при медленном соединении.