← Назад к вопросам

Негативные тест-кейсы для формы авторизации

2.0 Middle🔥 291 комментариев
#Клиент-серверная архитектура

Условие

Дана веб-страница с формой авторизации, которая содержит:

  • Поле email
  • Поле password
  • Кнопку Submit

Напишите негативные тест-кейсы для этой формы.

Проверьте:

  • Пустые поля
  • Неверные форматы email
  • Превышение допустимой длины полей
  • Специальные символы
  • SQL-инъекции
  • XSS-атаки

Для каждого тест-кейса укажите: шаги, ожидаемый результат.

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI23 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Негативные тест-кейсы для формы авторизации

Общие предусловия

  • URL формы: https://example.com/login
  • Браузер: Chrome последней версии
  • Требования: правильный email + пароль 8+ символов для успеха
  • Система должна предотвращать инъекции и атаки

1. Пустые поля

IDШагиВходные данныеОжидаемый результатРиск
NEG_0011. Открыть форму авторизации 2. Оставить оба поля пустыми 3. Нажать SubmitEmail: "" Password: ""Сообщение об ошибке: "Email и пароль обязательны" + форма не отправляетсяHIGH
NEG_0021. Заполнить email 2. Оставить пароль пустым 3. Нажать SubmitEmail: "user@test.com" Password: ""Сообщение об ошибке: "Пароль обязателен" + блокировка отправкиHIGH
NEG_0031. Оставить email пустым 2. Заполнить пароль 3. Нажать SubmitEmail: "" Password: "password123"Сообщение об ошибке: "Email обязателен" + блокировка отправкиHIGH
NEG_0041. Заполнить оба поля пробелами 2. Нажать SubmitEmail: " " Password: " "Система должна обработать как пустые + сообщение об ошибкеMEDIUM
NEG_0051. Заполнить email пробелами 2. Заполнить пароль корректно 3. Нажать SubmitEmail: " " Password: "Pass1234"Система игнорирует пробелы или выводит ошибку валидацииMEDIUM

2. Неверные форматы email

IDШагиEmail значениеОжидаемый результатКритичность
NEG_006Введите email без @ символа"usertestcom"Ошибка: "Некорректный формат email"HIGH
NEG_007Введите email с @ в начале"@test.com"Ошибка валидации формата emailHIGH
NEG_008Введите email с несколькими @"user@@test.com"Ошибка: "Email содержит недопустимые символы"HIGH
NEG_009Введите email без домена"user@"Ошибка валидации emailHIGH
NEG_010Введите email с пробелом"user @test.com"Ошибка валидации (пробелы в email запрещены)HIGH
NEG_011Введите email только домена"@.com"Ошибка валидации (отсутствует username)HIGH

3. Превышение допустимой длины полей

| ID | Шаги | Входные данные | Ожидаемый результат | |----|------|----------------|-------------------|------| | NEG_018 | Введите email длиной 255 символов | Очень длинный email | Система должна либо обрезать, либо вывести ошибку | | NEG_019 | Введите email длиной 256+ символов | Очень длинный email+1 | Ошибка: "Email слишком длинный" | | NEG_020 | Введите пароль из 100 символов | Строка из 100 P | Система должна принять (если нет ограничения) | | NEG_021 | Введите пароль из 1000 символов | Строка из 1000 P | Система должна обрезать или отклонить с ошибкой |


4. Специальные символы

IDШагиСимволыОжидаемый результатСтатус
NEG_024Введите email с кавычками'"user"@test.com'Ошибка валидации (кавычки не допускаются)HIGH
NEG_025Введите email с апострофом"user'@test.com"Проверить парсинг (может привести к SQL инъекции)CRITICAL
NEG_026Введите email с обратной косой чертой"user@test.com"Ошибка валидацииMEDIUM
NEG_027Введите пароль с символом <"Pass<word123"Должен быть принят, но заэкранирован от XSSHIGH
NEG_029Введите пароль с символом &"Pass&word123"Должен быть принят, но правильно экранированHIGH

5. SQL-инъекции

CRITICAL: Защита от SQL инъекций является обязательной

IDАтакаВходные данныеОжидаемый результатЗащита
NEG_035Comment инъекция"admin'--"Система отклоняет или безопасно экранируетParameterized queries
NEG_036OR инъекция"' OR '1'='1"Ошибка: "Неверные учетные данные"Подготовленные запросы
NEG_037UNION инъекция"admin' UNION SELECT NULL--"Отклонение с ошибкой валидацииParameterized queries
NEG_038DROP инъекция"admin'; DROP TABLE users;--"Система должна отклонитьОграничение привилегий

6. XSS-атаки (Cross-Site Scripting)

CRITICAL: XSS защита необходима на уровне фронта и бэка

IDXSS векторОжидаемый результатЗащита
NEG_045Скрипт-тегСкрипт не выполняется, текст экранируетсяHTML Entity Encoding
NEG_046img с onerrorКод не выполняетсяContent Security Policy (CSP)
NEG_047javascript: URLURL не выполняетсяURL валидация
NEG_049SVG с обработчикомНе выполняетсяСанитизация SVG
NEG_052Форма с action на другой доменФорма не работаетCORS + SameSite cookies

7. Рекомендации по безопасности

На уровне фронта

  • Валидация формата: Проверять формат email и длину пароля
  • Экранирование: Экранировать все пользовательские данные в DOM
  • Content Security Policy: Установить CSP заголовок
  • SameSite cookies: Установить SameSite=Strict для CSRF защиты

На уровне бэка

  • Parameterized Queries: Использовать подготовленные SQL запросы
  • Input Validation: Валидировать все входные данные на сервере
  • Rate Limiting: Ограничить количество попыток авторизации
  • HTTP Security Headers: X-Frame-Options, X-Content-Type-Options
  • HTTPS только: Требовать HTTPS для передачи данных
  • Пароли в хеше: Использовать bcrypt/Argon2

Логирование и мониторинг

  • Логировать все неудачные попытки авторизации
  • Мониторить подозрительную активность
  • Алертинг при обнаружении попыток инъекций
Негативные тест-кейсы для формы авторизации | PrepBro