Связь Клиента, Сервера и АПИ
API — расшифровывается как application programming interface — это программный интерфейс, который предоставляет некоторые функции. API — это набор функций, методов, которые могут использовать другие приложения и программы.
Тестирование API — это отдельный вид тестирования, при котором инженер по тестированию производит определенные действия по тестированию программного интерфейса (АПИ).
Мы уже рассматривали основные понятия тестирования клиент-серверного приложения. Сегодня хотим немного затронуть тему того, как же связаны все эти понятия — клиент, сервер, АПИ. Рассмотрим сначала, что такое веб-приложение.
Веб-приложение — это сервис, который можно открыть в любом веб-браузере.
У веб-приложения существуют две составляющие — это клиентская часть и серверная часть.
Клиент — это то, что видно при открытии веб-страницы приложения.
Сервер — это такая сущность, которая обрабатывает задачи, посылаемые от клиента.
Для того, чтобы клиенту было удобнее взаимодействовать с сервером существует такая сущность как API. АПИ позволяет клиенту отправлять запросы, вызывать методы для получения определенной информации. На входе подается некоторая информация, на выходе ожидается некоторая информация, которая интересна клиенту.
Если разработка веб-приложения на рабочем, локальном компьютере, то можно поднять сервер локально делать обращения из клиента к серверу.
Если нужно опубликовать веб-приложение в Интернете, то может возникнуть необходимость в аренде сервера, то есть машины, на которой будет развернуто веб-приложение. Иногда возникает вопрос — где разместить сервер, существуют различные сервисы, которые дают такую возможность. Можно опубликовать веб-приложение как на обычном хостинге, так и на более быстром VDS(VPS)-сервере. Здесь всё зависит от того, насколько будет огромным веб-приложение, на какую нагрузку должно быть рассчитано.
Как же тестировать АПИ?
В отличие от тестирования веб-интерфейса (тестирования непосредственно на веб-странице), тестирование АПИ — это набор процедур, которые стоит выполнить при обращении к АПИ программного продукта.
Можно отдельно вызывать методы АПИ, передавая нужные параметры в методы и ожидая получить что-то на выходе в результате выполнения запроса.
Можно проводить тестирование более комплексно — с одной стороны смотреть, какие методы вызываются во вкладке Network в браузере Google Chrome, с другой стороны — вызывать эти же методы, какие есть в веб-интерфейсе, в программном интерфейсе приложения, т.е. АПИ. Таким образом, можно посмотреть на сценарии с обоих сторон, охватить и проверить больше сценариев.
Помимо ручного тестирования существует направление — автотестирование — когда помимо ручного тестирования можно выполнять автоматические проверки, написав тесты на АПИ. Таким образом, не придется вручную проводить множество проверок, и если в программе бывает множество изменений, автоматические тесты на АПИ будут незаменимым помощником при регулярном тестировании важных функций АПИ.
Мы рассмотрели связь таких понятий, как клиент, сервер, АПИ. Любые дополнения приветствуются.