Middle
Дай пример как би избрал тестови случаи за PUT заявка.
sobes.tech AI
Отговор от AI
Изборът на тест-кейсове за PUT заявки е насочен към проверка на коректното обновяване на ресурса, обработката на различни типове данни и негативните сценарии.
Примери за тест-кейсове:
-
Позитивен сценарий (успешно обновяване):
- Обновяване на ресурса с всички валидни полета.
- Обновяване на ресурса само с част от валидните полета (ако API позволява частично обновяване).
- Обновяване на полета с различни типове данни (стрингове, числа, булеви стойности), ако това е предвидено от схемата.
- Обновяване на ресурса с минимално допустими стойности (ако е приложимо).
- Обновяване на ресурса с максимално допустими стойности (ако е приложимо).
-
Негативни сценарии (грешки и изключения):
- Опит за обновяване на несъществуващ ресурс. Очакван отговор: 404 Not Found.
- Изпращане на заявка без тяло. Очакван отговор: 400 Bad Request или 422 Unprocessable Entity.
- Изпращане на заявка с невалиден формат на тялото (например, невалиден JSON). Очакван отговор: 400 Bad Request.
- Изпращане на заявка с невалидни типове данни за полетата. Например, стринг вместо число. Очакван отговор: 400 Bad Request или 422 Unprocessable Entity.
- Изпращане на заявка с пропуснати задължителни полета. Очакван отговор: 400 Bad Request или 422 Unprocessable Entity.
- Изпращане на заявка с стойности, превишаващи допустимата дължина или диапазон. Очакван отговор: 400 Bad Request или 422 Unprocessable Entity.
- Изпращане на заявка с невалидна стойност в пътя (например, невалиден ID). Очакван отговор: 400 Bad Request или 404 Not Found.
- Опит за обновяване на блокиран или недостъпен ресурс (ако е приложимо). Очакван отговор: 403 Forbidden или 409 Conflict.
- Изпращане на заявка с неправилни заглавки (например,
Content-Type). Очакван отговор: 415 Unsupported Media Type или 400 Bad Request. - Обновяване с използване на специални символи или емоджита в стринговите полета.
-
Гранични условия:
- Обновяване на полета с гранични стойности (например, минимална/максимална дата, гранични числа).
- Обновяване на полета с празни низове или null стойности (ако е допустимо).
-
Сценарии за паралелен достъп:
- Едновременна опит за обновяване на един и същ ресурс от няколко източника.
-
Проверка на последствията от обновяването:
- Проверка дали данните са коректно обновени в базата данни или други системи.
- Проверка дали зависимите ресурси или данни са обновени/променени съответно.
- Проверка дали GET заявката към обновения ресурс връща актуални данни.
- Проверка дали другите операции (DELETE, POST) с обновения ресурс работят коректно.
Критериите за избор на конкретни тест-кейсове зависят от спецификацията на API, бизнес изискванията, анализа на рисковете и приоритетите. Използват се техники за тестов дизайн като еквивалентно разделяне и анализ на граничните стойности, за да се определи най-показателните входни данни.