В чем разница между Postman и Swagger
Что проверяют
Понимаете ли вы, что эти инструменты решают разные задачи и не конкурируют между собой: один описывает контракт API, другой по нему ходит и проверяет. Следом обычно просят рассказать, как вы строите тесты API по спецификации и как запускаете их в CI.
Как отвечать
Начните с того, что Swagger сегодня это набор инструментов вокруг спецификации OpenAPI, а Postman это клиент и платформа для работы с запросами:
- OpenAPI: формат описания API в YAML или JSON: эндпоинты, параметры, схемы тел запросов и ответов, коды статусов, авторизация. До версии 3.0 сама спецификация называлась Swagger;
- Swagger UI: интерактивная документация, собранная из спецификации. Кнопка «Try it out» отправляет реальный запрос, но сохранить сценарий, цепочку вызовов или проверки там нельзя;
- Swagger Editor и Codegen: редактирование спецификации и генерация клиентов и серверных заготовок;
- Postman: коллекции запросов, окружения и переменные, pre-request скрипты, проверки на JavaScript через
pm.testиpm.expect, прогон коллекции через Collection Runner; - Newman или Postman CLI: запуск той же коллекции из командной строки, то есть в пайплайне CI.
Для QA связка выглядит так: спецификация OpenAPI служит источником истины, из неё Postman импортирует коллекцию, а тестировщик дописывает проверки: статус, время ответа, соответствие тела схеме. Сильный ответ упоминает контрактную проверку, то есть сверку фактического ответа со схемой из спецификации. Она ловит расхождение документации и реализации раньше, чем его заметит фронтенд.
Где спотыкаются
Называют Swagger «инструментом для тестирования». Отправить запрос из Swagger UI можно, но это ручная проверка одного вызова без переменных, цепочек и отчётов.
Путают Swagger и OpenAPI и не знают, что спецификация давно называется OpenAPI, а Swagger остался названием инструментов.
Описывают Postman только как кнопку «Send». Без окружений, скриптов, проверок и запуска через Newman в CI ответ звучит как опыт ручного клика, а не автоматизации.