Задача: Тестирование 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"
}
⸻
Задание
- Составьте список тестовых сценариев.
- Напишите тест-кейсы для позитивных проверок.
- Напишите тест-кейсы для негативных проверок.
- Определите граничные значения для:
- email;
- password;
- name.
- Опишите, какие проверки нужно выполнить для ответа сервера.
⸻
Дополнительные вопросы
Что произойдёт, если отправить:
{}
⸻
{
"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": ""
}
⸻