При выборе тест-кейсов для PUT-запроса я бы руководствовался следующими принципами:
-
Позитивные сценарии:
- Успешное полное обновление существующего ресурса с валидными данными.
- Успешное частичное обновление существующего ресурса (если API это поддерживает).
- Обновление ресурса с использованием граничных значений для полей.
-
Негативные сценарии:
- Отсутствие ресурса по указанному ID.
- Невалидный формат ID ресурса.
- Невалидный тип данных в полях запроса.
- Отсутствие обязательных полей в теле запроса.
- Неправильный формат тела запроса (например, не JSON).
- Попытка обновления полей, которые не должны подлежать обновлению (например, ID, дата создания).
- Недостаточные права доступа для обновления ресурса.
- Конкурентное обновление ресурса (для проверки обработки конфликтов).
-
Граничные условия:
- Максимально допустимые значения для числовых полей.
- Пустые строки для строковых полей (если это разрешено).
- Специальные символы в строковых полях.
- Длинные строки для строковых полей.
-
Проверка побочных эффектов:
- Изменение других связанных ресурсов после обновления.
- Корректность отображения обновленных данных в других частях системы (например, в пользовательском интерфейсе).
Пример структуры тест-кейсов (для ресурса user
с полями id
, name
, email
):
| TestCase ID | Description | Request URL | Request Body | Expected Status Code | Expected Response Body/Behavior
При выборе тест-кейсов для PUT-запроса я бы руководствовался следующими принципами:
-
Позитивные сценарии:
- Успешное полное обновление существующего ресурса с валидными данными.
- Успешное частичное обновление существующего ресурса (если API это поддерживает).
- Обновление ресурса с использованием граничных значений для полей.
-
Негативные сценарии:
- Отсутствие ресурса по указанному ID.
- Невалидный формат ID ресурса.
- Невалидный тип данных в полях запроса.
- Отсутствие обязательных полей в теле запроса.
- Неправильный формат тела запроса (например, не JSON).
- Попытка обновления полей, которые не должны подлежать обновлению (например, ID, дата создания).
- Недостаточные права доступа для обновления ресурса.
- Конкурентное обновление ресурса (для проверки обработки конфликтов).
-
Граничные условия:
- Максимально допустимые значения для числовых полей.
- Пустые строки для строковых полей (если это разрешено).
- Специальные символы в строковых полях.
- Длинные строки для строковых полей.
-
Проверка побочных эффектов:
- Изменение других связанных ресурсов после обновления.
- Корректность отображения обновленных данных в других частях системы (например, в пользовательском интерфейсе).
Пример структуры тест-кейсов (для ресурса user
с полями id
, name
, email
):
| TestCase ID | Description | Request URL | Request Body | Expected Status Code | Expected Response Body/Behavior