Это отрывок из статьи Как тестировать методы REST API. Мне хочется, чтобы было возможность дать ссылку именно на тестирование URL)
Казалось бы, что тестировать в URL? Ведь нам просто дают URL, который мы дергаем, а меняем уже заголовки, тело... Но в URL тоже могут быть параметры. Обычно это в методе GET делается, прямо в параметры URL зашивается какая-то информация. Например, идентификатор элемента, который мы хотим получить.
Тестируем точно также, как если бы параметр был в теле:
Правильный параметр (из примера)
Обязательность (что, если параметр не указать?)
Бизнес-логика (тест-дизайн)
Регистрозависимость (если параметр текстовый)
Практика на примере 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». Хотите практики? Приходите к нам =)
Комментариев нет:
Отправить комментарий