воскресенье, 11 декабря 2022 г.

Как тестировать URL в REST API

Это отрывок из статьи Как тестировать методы REST API. Мне хочется, чтобы было возможность дать ссылку именно на тестирование URL)

Казалось бы, что тестировать в URL? Ведь нам просто дают URL, который мы дергаем, а меняем уже заголовки, тело... Но в URL тоже могут быть параметры. Обычно это в методе GET делается, прямо в параметры URL зашивается какая-то информация. Например, идентификатор элемента, который мы хотим получить.


Тестируем точно также, как если бы параметр был в теле:

  1. Правильный параметр (из примера)

  2. Обязательность (что, если параметр не указать?)

  3. Бизнес-логика (тест-дизайн)

  4. Регистрозависимость (если параметр текстовый)




Практика на примере JIRA

Почему не на примере Users? А потому что в методе doRegister нет параметров, которые передаются в URL. Да и вообще в Users их нету, там даже get через POST сделан, но сейчас не об этом…

Поищем примеры в Jira Cloud REST API. Например, метод «Get Issue», вот какой у него URL:

GET /rest/api/3/issue/{issueIdOrKey}

Мы передаем в URL или id задачи, или её ключ. Условно говоря, это или что-то типа “13005” или “TEST-1”. 

И вот тут мы уже можем развернуться!


Правильное значение

Базовый позитивный тест, что метод в целом работает. Вызываем обязательно и так, и так:

  • 13005

  • TEST-1


Обязательность

Попробуем не передать параметр:

/rest/api/3/issue/

/rest/api/3/issue


Тест-дизайн

Тут стоит подумать в тему состояний объекта. Пробуем получить:

  • Свежесозданную задачу

  • Несколько раз измененную / отредактированную

  • Заполненную по минимуму / по максимуму

  • В разных статусах

  • Закрытую

  • Удаленную

  • Не существующую (такого номера ещё нет — это отличается от “он есть в базе, но задача была закрыта”)


Регистрозависимость

При передаче issueId этот пункт не проверить, цифры сами по себе регистронезависимы. Но если мы передаем задачу через Key, то это уже символы. Значит, проверка актуальна:

/rest/api/3/issue/test-1
/rest/api/3/issue/TEst-1


См также:

Как тестировать методы REST API — полная статья, не только про заголовки



PS — статья написана в помощь студентам моих курсов «Инженер по тестированию ПО» и «Тестирование REST API». Хотите практики? Приходите к нам =)

Комментариев нет:

Отправить комментарий