Sobes.tech
Middle

Дайте пример как бихте избрали тестови случаи за PUT заявка.

sobes.tech AI

Отговор от AI

За избор на тест случаи за PUT заявка бих приложил следните подходи, фокусирайки се върху различни аспекти:

  • Валидни данни:

    • Създаване / актуализиране на запис с коректни, пълни данни.
    • Частична актуализация на някои полета, останалите остават непроменени.
    • Актуализиране на всички полета с нови, валидни стойности.
    • Използване на гранични стойности за числови полета (минимално, максимално).
    • Използване на различни формати на данни, разрешени от спецификацията (например дата, време).
  • Невалидни данни:

    • Предаване на данни с неправилен тип поле (например низ вместо число).
    • Предаване на данни, нарушаващи ограничения за дължина на низ или диапазон на число.
    • Предаване на данни, нарушаващи уникалността на полето (ако е приложимо).
    • Предаване на данни с неправилен формат (невалидна дата, имейл).
    • Липса на задължителни полета.
    • Предаване на празни низове или null за полета, които не трябва да са празни.
  • Съществуване на ресурс:

    • PUT заявка към съществуващ ресурс.
    • PUT заявка към несъществуващ ресурс (очакваме отговор 404).
  • Авторизация и удостоверяване:

    • PUT заявка с коректни потребителски данни, имащи право да променят ресурса.
    • PUT заявка с неправилни или липсващи данни за вход (очакваме 401 Unauthorized или 403 Forbidden).
    • PUT заявка от потребител без необходимите права (очакваме 403 Forbidden).
  • Синхронизация и конкуренция:

    • Едновременни PUT заявки към един и същи ресурс (например, с използване на etag).
  • Обработка на грешки:

    • PUT заявка, която трябва да предизвика грешка от страна на сървъра (например, поради вътрешен срив).

Примерна таблица с тестови случаи:

ID Описание на тестовия случай Предпоставки Тестови данни (част от заявката) Очакван резултат HTTP Код
PUT-001 Актуализиране на съществуващ ресурс с валидни данни Ресурс с ID=123 съществува { "name": "Ново име", "value": 100 } Ресурсът е успешно актуализиран, данните съответстват на заявката 200
PUT-002 Частично актуализиране на съществуващ ресурс Ресурс с ID=123 съществува { "name": "Само името е променено" } Ресурсът е успешно актуализиран, само полето name е променено 200
PUT-003 Опит за актуализиране на несъществуващ ресурс Ресурс с ID=999 не съществува { "name": "Несъществуваща актуализация" } Ресурсът не е намерен 404
PUT-004 Актуализиране на ресурс с невалиден тип данни Ресурс с ID=123 съществува { "value": "не число" } Грешка при валидирането на данните 400
PUT-005 Актуализиране на ресурс без удостоверяване Ресурс с ID=123 съществува, заявката без токен { "name": "Несанкционирана промяна" } Неоторизирано 401

Всеки тестов случай трябва да бъде атомарен и да проверява конкретен аспект на функционалността на PUT заявката.