Тестирование API в мобильных приложениях
🤔 Зачем тестировать API в мобилках?
API (Application Programming Interface) – это мост между клиентом (мобильным приложением) и сервером. Если API падает, то приложение превращается в бесполезный UI кирпич.
✅ Почему API-тестирование важно?
- Ловим баги на бэке, пока они не долетели в приложение.
- Проверяем нагрузку (чтобы сервер не сдох от 1000 юзеров).
- Тестируем без UI, что быстрее и стабильнее.
- Автоматизируем тесты, чтобы не кликать в мобилке вручную.
🔍 Что тестируем в API?
1 Функциональное тестирование
📌 Что проверяем?
- Корректность ответов (200 OK, 400 Bad Request и т. д.).
- Структуру JSON/XML (чтобы не приходил мусор).
- Логика работы эндпоинтов (регистрация, логин, покупка и т. д.).
📌 Как тестируем?
- 🛠 Postman – для ручных проверок.
- 🤖 REST Assured / Requests (Python) – для автоматизации.
2 Тестирование безопасности (Security)
🔐 Что проверяем?
- Авторизацию (можно ли получить данные без логина?).
- XSS/SQL-инъекции (не принимает ли сервер вредные запросы?).
- Доступ по ролям (юзер не должен видеть админские данные).
📌 Как тестируем?
- Burp Suite, OWASP ZAP – для ручного анализа.
- JWT-токены – проверяем, не истекают ли.
3 Нагрузочное тестирование (Performance)
🔥 Что проверяем?
- Как API выдерживает 100, 1000, 10 000 запросов.
- Время отклика (не тупит ли сервер).
- Стабильность под нагрузкой.
📌 Как тестируем?
- JMeter – эмулируем толпу пользователей.
- Locust – нагрузка на Python, удобно масштабировать.
4 Интеграционное тестирование
🔄 Что проверяем?
- Как API работает с базой данных.
- Как связаны разные эндпоинты (создали пользователя → получили ID → авторизовались).
- Работа со сторонними сервисами (оплата, пуши, карты).
📌 Как тестируем?
- Mock-серверы (WireMock, Postman Mock) – фейковые ответы от API.
- TestContainers – эмулируем базу в тестах.
🛠 Инструменты для тестирования API
📌 Автоматизация API-тестов
1 Postman (ручные тесты + автоматизация)
Postman – топовый инструмент для проверки API.
✔ Отправляем запросы (GET, POST, PUT, DELETE).✔ Проверяем ответы (JSON, статус-коды).✔ Пишем тесты на JavaScript.
Пример простого теста:
🚀 Автоматизация с Newman
Чтобы запускать Postman-тесты из CI/CD:
Можно интегрировать с GitLab, Jenkins, GitHub Actions.
2 Автотесты на Python (Requests + Pytest)
Если нужен код, то Requests + Pytest – мощный стек для API-тестов.
📌 Устанавливаем Requests
📌 Пример теста API
🚀 Можно добавить в CI/CD и запускать на каждом коммите.
3 REST Assured (для Java)
Если проект на Java, то REST Assured – лучший выбор.
📌 Пример теста на REST Assured
🔥 Java + Allure Report → красивые отчёты для CI/CD.
🚀 API + CI/CD (GitLab, Jenkins, GitHub Actions)
Чтобы API-тесты запускались автоматически, добавляем их в CI/CD:
📌 GitLab CI/CD (Python + Requests + Pytest)
Файл .gitlab-ci.yml:
Теперь тесты будут запускаться при каждом пуше.
📌 Итоги
🔥 API-тестирование – важный этап в мобильном QA.
🚀 Лучшие инструменты: Postman, Requests, REST Assured, JMeter, Locust.
🛠 CI/CD + API-тесты = автоматизация проверки бэка.
✅ Хорошие API-тесты – это меньше багов в проде.