Веб-сервис — это программная система, предназначенная для взаимодействия между приложениями через интернет.
Основные характеристики:
- Машиночитаемость: Веб-сервисы обмениваются данными в стандартизированных форматах (например, XML, JSON), понятных другим программам.
- Взаимодействие: Позволяет различным системам, написанным на разных языках программирования и работающим на разных платформах, обмениваться информацией и вызывать функции друг друга.
- Стандартные протоколы: Часто используют стандартные протоколы, такие как HTTP/HTTPS для передачи сообщений.
- Независимость от реализации: Контракт веб-сервиса (API) описывает, как с ним взаимодействовать, абстрагируясь от внутренней реализации.
Типы веб-сервисов:
- SOAP (Simple Object Access Protocol): Использует XML для сообщений и обычно работает по протоколам вроде HTTP, SMTP, TCP. Имеет строгую спецификацию и часто ассоциируется с корпоративными системами.
- REST (Representational State Transfer): Архитектурный стиль, а не строгий протокол. Использует стандартные HTTP-методы (GET, POST, PUT, DELETE) для работы с ресурсами. Чаще использует JSON для обмена данными, но может использовать и другие форматы. Более гибкий и легковесный, широко применяется в веб-приложениях.
Примеры использования:
- Интеграция разных систем внутри компании.
- Предоставление данных (например, погода, курсы валют) сторонним приложениям.
- Обработка платежей.
- Аутентификация и авторизация.
В QA / QA Automation веб-сервисы тестируют на:
- Функциональность (правильность ответов на запросы).
- Производительность (время отклика, пропускная способность).
- Безопасность (защита от несанкционированного доступа, инъекций).
- Соответствие контракту (API).
- Обработку ошибок.