Если вы работали в автоматизации QA, на некоторое время, вы, несомненно, слышали о тестовой пирамиде. Тестовая пирамида представляет собой диаграмму, используемую для визуально изображенных типов тестов, а также дать некоторые общие руководящие принципы на том, сколько каждому для создания.
Как вы можете видеть из пирамиды, хорошо округлый автоматизированный тестовый набор должен иметь большое количество единиц-тестов, меньших API или интеграционных тестов и даже меньшее количество сквозных тестов UI. Устройство тестирования является обработанным разработчиком, тестирование пользовательского интерфейса обрабатывается на QA, а тестирование API обычно является несколько общая ответственность.
Иногда команда QA будет сосредоточиться на тестировании UI и игнорировать тестирование API. Легко понимать увлечение пользовательских интерфейсов:
- Тесты на пользовательские интерфейсы легко отображать пользовательские истории.
- Бизнес-пользователь может легко относиться к тестам пользовательских интерфейсов.
- Большинство людей, работающих в автоматизации QA, имеют больше опыта в автоматизации UI.
- Тесты пользовательского интерфейса намного больше веселья для демонстрации с помощью теста API командной строки.
Так почему же мы хотим больше анализов API, которые тесты пользовательских интерфейсов? Я могу подумать по ряду причин:
- API-тесты позволяют большему количеству покрытия кода, поскольку легче проверить различные пути кода и ситуации ошибок.
- API тесты проготают намного быстрее, поэтому мы можем получить быстрее обратной связи к разработчику.
- Испытания API могут найти ошибки раньше, до создания слоя пользовательского интерфейса.
- API-тесты могут быть созданы до того, как API разработан с помощью Mocking Frameworks.
- API-тесты менее хрупкие, поэтому менее дорогостоящие для обслуживания.
- API-тесты необходимы для API, которые не имеют пользовательского интерфейса, например API, которые потребляются устройствами IoT или другими услугами.
Существует ряд инструментов, которые могут быть использованы для тестирования API, таких как SOAPUI и COVEST. Другой — почтальон. Я использовал почтальон на несколько лет для быстрого ручного тестирования служб отдыха, но только недавно я действительно начал смотреть на все, что он обеспечивает. Так что же почтальон?
Postman — это HTTP-клиент, продаваемый как разработчикам, так и тестерам для поддержки разработки и тестирования API. Почтальон доступен в качестве автономного клиента, а также в качестве приложения Chrome. Google объявил о планах окончания поддержки приложений Chrome в ближайшем будущем, поэтому собственное автономное приложение — это путь.
Коллекции
Все с почтальоном начинается с коллекций, в котором вы храните и классифицируете свои индивидуальные запросы API. Коллекции позволяют вам организовать ваши запросы API в папках и подпапках, а запросы могут быть запущены вместе в почтовом компьютере через коллектор Runner.
Pre и Post Scripts
Postman позволяет разработчикам автоматизации использовать JavaScript в любом запросе API, чтобы взаимодействовать с запросом API, ответ API и глобальными и экологическими переменными. Эти скрипты обычно используются для передачи данных между соответствующими вызовами API в коллекции, и для проверки результатов запроса API соответствует ожидаемым результатам. Например:
Проверьте код состояния ответа:
pm.test("Status code is 200", function () { pm.expect.response.to.have.status(200); });
Проверьте время ответа запроса:
pm.test("Response time is less than 500ms", function () { pm.expect(pm.response.responseTime).to.be.below(500); });
Проверьте данные, возвращенные по запросу:
pm.test("Customer Name Updated correctly", function () { pm.expect(jsonData.lastName).to.eql("Smith"); });
Экологические переменные
Когда вы создаете и запускаете тесты, вам, как правило, необходимо запускать тесты в ряде сред, таких как локальный, разработчик, тест, UAT и т. Д. Postman предоставляет легкий механизм, чтобы определить специфики о каждой вашей среде и быстро переключаться между ними.
Тест и развиваться параллельно
Один из недостатков с тестированием пользовательского интерфейса состоит в том, что вам нужен разработчик для разработки функциональности, прежде чем вы действительно можете начать строить мужество автоматизации тестирования. С помощью тестирования API вы можете начать тестирование, когда API завершен, даже если передние компоненты не были запущены.
Кроме того, с издевательством вам даже не нужен полный API. Postman предоставляет услугу издевательства, которая позволяет вам определить конечную точку API с ожидаемым входом и выходом. Когда SPRINT запускается, вы можете создавать и запустить свои тесты автоматизации против этого Mock Service. После того, как команда разработки завершает API, вы можете просто указать на API и запустить свой тест.
Прокси сервер для захвата вызовов API
Если вы хотите быстро идентифицировать и создать процесс тестирования для существующей бизнес-транзакции, Postman предоставляет механизм для захвата трафика API для конкретной транзакции и хранить вызовы API в коллекции почтальона. Просто включите перехватчик транзакции Postman, вручную выйдите через транзакцию через UI, а вызовы API будут записаны в коллекции почтальона.
Автоматизация теста API с Newman CLI
Newman — это инструмент командной строки, написанный на Node.js и хранится в репозитории NPM. Как только он установлен, у вас есть возможность запускать коллекцию почтальона из командной строки. С Newman вы можете включить тестирование API и пользовательскую отчетность в CI/CD-трубопровод.
Сотрудничество команды
Одной из ключевых функций Postman Pro является совместной работы в команде. Коллекции почтальона могут быть разделены и отредактированы уполномоченными членами команды через библиотеку команды API в облаке. Команда Activity Feed позволяет вам увидеть все модификации, сделанные в коллекции и откаты к предыдущей версии при необходимости.
Ценообразование
Почтальон приходит в 3 планах цен: Free, Pro и Enterprise. Основные функции для тестирования включены в бесплатную версию. Pro Version предлагает варианты сотрудничества в команде в облаке, в то время как версия Enterprise включает в себя расширенную поддержку и более высокие ограничения облачного использования. Если вы просто начинаете, бесплатная версия даст вам все необходимое, и есть пробные версии Pro и Enterprise, когда вы будете готовы.
Следующие шаги
В этом посте я только поцарапал поверхность, касающуюся некоторых крутых функций, которые Postman предоставляет узнать больше о тестировании Postman и API, Сайт почтальона это отличное место для начала. Также почтальон имеет ежегодную техническую конференцию и сеансы и переговоры С прошлого года доступны для просмотра бесплатно.
Наконец, не так увлекайте тестирование пользовательского интерфейса, что вы потеряете вид тестирования API. Будь как тестовая пирамида ; Проведите еще больше времени с тестированием API, чем вы делаете с тестированием пользовательского интерфейса!
Оригинал: «https://dev.to/leading-edje/api-testing-with-postman-2anc»