Версионирование позволяет менять контракт без мгновенной ломки клиентов; QA проверяет, что нужная версия отвечает ожидаемой схемой и что старая/новая не смешиваются.
Разбор
- Способы:
/v1/... в path, заголовок Accept/X-API-Version, реже query.
- Кейсы: вызов v1 и v2 с одинаковым ресурсом — разные поля/поведение по docs.
- Несуществующая версия → ожидаемый 404/400, не «тихий» fallback на другую.
- Deprecation: заголовки/документация о сроке жизни старой версии.
Итог
Версия — часть контракта: тест без явной версии часто невоспроизводим.