Как тестировать API с третьей стороны?
На собеседовании на позицию Junior QA задали такой вопрос. Как правильно на него ответить? Спасибо
Ответы (3 шт):
- Создать тестовую точку
- Написать документацию
- Дать доступ третей стороне
Я не junior QA, и даже не QA, но расскажу, как я бы это делал. Рассмотрим для начала, что это http api (один из самых типичных случаев).
Если есть API, то первым делом нужно попросить документацию на него. Также спросил, нет ли у них swagger или чего то подобного. Если есть - супер, можно уже начать ручное тестирование - читаем документацию и пробуем. Потом составляем план тестирования. Не забываем протестировать "разнообразные варианты".
Если же swagger нет, тогда можно написать ручками. Тут ничего сложного нет и зависит только от Ваших возможностей и того, что есть в компании. Возможно, у них уже есть что то для такого тестирования (хороший вариант ответа - "пойду спрошу тим/тех лида, может кто то уже делал подобное").
Если уже нужно писать ручками, то тут варианты разнообразные - от curl/wget в консоли и питона до Postman.
Ещё один вариант - попросить программистов в программе сделать возможность вызывать это апи в контексте приложения (какое-то отладочное меню).
Если же это апи другое (например, это библиотека на каком то языке програмирования), то тут вариантов не много - писать тесты на этом языке и планомерно покрывать все варианты. Но это суперширокий вопрос.
Размышляя над ответом... Если у нас всего две стороны, или веб-клиент (протестировать можно любыми платформами типа Postman, curl и т.д.), или веб-сервер. Протестировать с третьей стороны можно в среде разработки на localhost с помощью, например, JUnit.