Какие навыки по работе с данными и REST сервисами у вас есть
Что проверяют
Умеете ли вы тестировать API без интерфейса и проверять, что данные действительно легли в базу, а не только что пришёл код 200. Следом часто дают задачу: вот эндпоинт создания заказа, какие проверки напишете.
Как отвечать
Разделите ответ на части и в каждой покажите, что умеете руками:
- ручное тестирование API: Postman или Insomnia, коллекции с переменными окружения, токен в заголовке
Authorization, чтение спецификации в Swagger/OpenAPI. Смотрите не только код ответа, но и тело, заголовки, время ответа; - что именно проверяете: соответствие схеме (типы, обязательные поля), коды ошибок (400 на невалидное тело, 401 без токена, 403 при нехватке прав, 404, 409 на дубль), граничные значения, повторный
PUTиDELETE, пагинацию и фильтры; - автоматизация: на Java это REST Assured с JUnit 5 или TestNG, на Python
pytestсrequestsилиhttpx. Плюс валидация по JSON Schema, генерация тестовых данных, запуск в CI и отчёт в Allure; - данные: SQL на уровне
JOIN,GROUP BY, подзапросов. После вызова API вы идёте в базу и сверяете, что запись создалась с нужным статусом, связи проставились, а при ошибке ничего не записалось частично. Тестовые данные готовите скриптом, а не руками через интерфейс.
Приведите свой пример: какой сервис тестировали и какой дефект нашли именно через API или базу. Типичный случай: интерфейс показывает успех, а в таблице статус остался старым. Если автоматизации в опыте пока нет, так и скажите и объясните, с чего бы её начали.
Где спотыкаются
Считают проверку кода 200 достаточной. Сервис может вернуть 200 с ошибкой в теле или с пустым массивом.
Путают 401 и 403. Первый про отсутствующую или невалидную аутентификацию, второй про то, что пользователь известен, но прав у него нет.
Проверяют данные только через интерфейс. Так не видно, что дата записалась в неправильном часовом поясе или что после отката в таблице остался мусор.