При выборе тест-кейсов для PUT-запроса я бы руководствовался следующими принципами:
Позитивные сценарии:
Негативные сценарии:
Граничные условия:
Проверка побочных эффектов:
Пример структуры тест-кейсов (для ресурса user с полями id, name, email):
| TestCase ID | Description | Request URL | Request Body | Expected Status Code | Expected Response Body/Behavior |
|---|---|---|---|---|---|
| PUT_USR_001 | Successful full update | /users/123 | {"name": "New Name", "email": "new@example.com"} | 200 | Updated user data returned |
| PUT_USR_002 | User not found | /users/999 | {"name": "New Name"} | 404 | Error message indicating user not found |
| PUT_USR_003 | Invalid email format | /users/123 | {"email": "invalid-email"} | 400 | Error message indicating invalid email format |
| PUT_USR_004 | Missing required field (if applicable) | /users/123 | {} | 400 | Error message indicating missing field |
| PUT_USR_005 | Update with max boundary value for a field | /users/123 | {"name": "A" * 255} | 200 | Updated user data with long name |
| PUT_USR_006 | Attempt to update non-updatable field (id) | /users/123 | {"id": 456, "name": "New Name"} | 400/403 | Error message indicating forbidden/bad request |
Конечно, конкретный набор тест-кейсов будет зависеть от спецификации API, бизнес-логики и архитектуры системы.