JustCaptain kod-buduschego
fd53ca53a7acd6747e1bbff7184ba2bca75932b7
Перейти к файлу
Код
TASK.md

Задача: Тестирование endpoint регистрации пользователя

Вводное

Команда разработала endpoint для регистрации новых пользователей.

Endpoint:

POST /api/v1/users/register

Тело запроса:

{
"email": "user@example.com",
"password": "Password123",
"name": "Alex"
}

Бизнес-требования

  • email обязателен; +
  • email должен быть уникальным;
  • email должен иметь корректный формат;
  • password обязателен; +
  • длина пароля от 8 до 50 символов;
  • name обязателен; +
  • длина имени от 2 до 30 символов.

Успешный ответ

Код:

201 Created

Тело:

{
"id": 125,
"email": "user@example.com",
"name": "Alex"
}

⸻

Задание

  1. Составьте список тестовых сценариев.
  2. Напишите тест-кейсы для позитивных проверок.
  3. Напишите тест-кейсы для негативных проверок.
  4. Определите граничные значения для:
    • email;
    • password;
    • name.
  5. Опишите, какие проверки нужно выполнить для ответа сервера.

⸻

Дополнительные вопросы

Что произойдёт, если отправить:

{}

⸻

{
"email": ""
}

⸻

{
"email": "test@test.com",
"password": "123"
}

⸻

{
"email": "test@test.com",
"password": "Password123",
"name": "A"
}

⸻

{
"email": null,
"password": null,
"name": null
}

⸻

Уровень Junior+

Дополнительно проверьте:

  • повторную регистрацию одного и того же email;
  • отсутствие поля email;
  • отсутствие поля password;
  • отсутствие поля name;
  • лишние поля в запросе:

{
"email": "test@test.com",
"password": "Password123",
"name": "Alex",
"role": "admin"
}

  • SQL-инъекцию:

{
"email": "' OR 1=1 --",
"password": "Password123",
"name": "Alex"
}

  • XSS:

{
"email": "test@test.com",
"password": "Password123",
"name": ""
}

⸻