Что такое api простыми словами в тестировании

33 тестера

четверг, 23 июля 2015 г.

Коротко о API и его тестировании

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

В этом сообщении я постарался собрать информацию, которая может пригодиться тестировщикам, желающим узнать, что такое API. Надеюсь что-то полезное для себя найдут и опытные в тестировании API люди. Ну или хотя бы помогут найти ошибки в моей статье 🙂
Что такое API

Своими словами, API предоставляет нам возможность использовать чужие наработки в своих целях. Впервые я столкнулся с API на примере Windows API. Это набор функций, которые может использовать любое приложение, запущенное на данной ОС. К примеру, оно может использовать стандартные функции для отрисовки интерфейса.

Современные API часто принимают форму веб-сервисов, которые предоставляют пользователям (как людям, так и другим веб-сервисам) какую-то информацию. Обычно процедура обмена информацией и формат передачи данных структурированы, чтобы обе стороны знали, как взаимодействовать между собой.

Форматы передачи данных

Обычные GET запросы способен посылать веб-браузер. Для посылки других типов запросов могут потребоваться скриптовые языки или специальные инструменты (об этом будет ниже).

О H TTP методах можно подробнее почит ать на W iki.

HTTP к оды ответов

Сервер может посылать разные коды в ответ на запросы пользователей. Это могут быть коды ошибок или просто коды, информирующие пользователей о состоянии сервера. Подробное описание можно найти, опять же, на вики.

Источник

👨‍🔧️ API для QA: учимся тестированию ПО без доступа к коду

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

Юлия Ильюшкина

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

Использование Postman

Postman использует протокол HTTP для взаимодействия между серверами. Он доступен как в веб-версии, так и в виде настольного приложения с графическим интерфейсом.

· Создание и отправка запросов

· Изменение параметров запросов.

· Сохранение созданных запросы в коллекции и папках.

· Запуск автоматических тестов на основе коллекций п ри помощи Collection Runner.

· Изменение окружения для одинаковых запросов.

· Добавление контрольных точек к вызову API.

Создание метода Postman

Стоит отметить, что тестирование при помощи API возможно только при наличии самого API и документации от разработчика. Это позволит точно понимать функции продукта без противостояния инженера QA и программиста на вечную тему: «Это баг!» & «Нет, это фича!».

В статье для начинающих мы рассмотрим ручное тестирование по 4 основным запросам:

· POST – создание ресурса на сервисе, т. е. отправку данных на сервер.

· GET – получение ресурса с сайта.

· PUT – обновление данных на сервере.

· DELETE – удаление ресурса с сайта.

При работе с Postman стоит знать о статусах и классах состояний сервера:

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестированииКлассы состояний сервера

В примерах рассмотрим статус 200 ОК, который информирует об успешности выполнения операции, т.е. пользователь когда получает ожидаемый результат – страницу с запрашиваемой информацией.

Примеры запросов в Postman для быстрого обучения тестировщика

После запуска в Postman стоит создать папку с коллекцией запросов. Для этого нужно во вкладке Collections нажать на New Collection.

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

Указываем название коллекции.

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

Создаем запрос нажатием на Add requests.

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

Рассмотрим регистрацию пользователя, поэтому указываем соответствующее название и нажимаем на Save to [Collections name].

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

Указываем url тестируемого сайта.

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

Прописываем название соответствующего API, в данном случае api/register.

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

Во вкладке Body выбираем raw.

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

Далее выбираем формат текста JSON.

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

Нажатием на Send отправляем данные.

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

В соответствующем поле видим ожидаемый результат, указанный в документации и статус 200 ОК.

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

Выполним запрос на получение данных о созданном пользователе, выбираем GET.

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

Указываем ссылку на API и после отправления смотрим на полученный результат, соответствующий ожидаемому.

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

Попробуем обновить данные пользователя, для этого создаём update_user.

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

Указываем ссылку с url и API, открываем окно для кода.

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

Отправляем новые данные.

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

В результате указана обновленная информация и время, когда были внесены изменения. Дополнительно успешность операции подтверждает ответ 200 от сервера.

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

DELETE

Создаём запрос на удаление пользователя.

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

Указываем полную ссылку на страницу пользователя и отправляем.

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

Получаем от сервера в ответ статус 204 No Content, информирующий об успешности запроса, но без содержимого, т. е. данные были успешно удалены.

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

Документация, необходимая тестировщику для обучения

Ознакомиться со всеми функциями инструмента можно в документации от разработчиков Postman. В информационном центре представлена инструкция по составлению ручных и автоматизированных запросов, настройке коллекций, использованию cookies, сбору данных, а также по составлению запросов для устранения ошибок и прочее.

Разобраться с нюансами профессии QA и QC, а также получить необходимые знания и изучить инструменты можно на курсе по тестированию ПО от GeekBrains. Вебинары проводят практикующие специалисты, которые не только помогут студентам стать тестировщиками с нуля, но и подскажут, как составить резюме и получить работу.

Источник

Тестирование API

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

Введение: Что такое API

В широком смысле слова API (Application Programming Interface) это метод который приложение предоставляет внешним пользователям для коммуникации с ним. Обычно через Интернет.

Это может быть взаимодействие с сервером приложения на смартфоне, между компьютерами или другими устройствами.

API применяются там где невозможна или нежелательна непосредственная интеграция с исходным приложением, то есть практически везде.

Крупные интернет-компании обычно предоставляют (платно или бесплатно) доступ к API своих сервисов.

Где применяют API

Сейчас будет несколько абстрактных примеров просто для понимания сути.

Конкретные примеры работы с API я разбираю в учебнике

Пример №1:

Если Вы хотите разместить на своём сайте яндекс-карты Вам не нужно устанавливать программы от Яндекса, достаточно послать несколько запросов и Яндекс передаст необходимую информацию.

Пример №2:

Предположим, что Вы создали сайт vk2.com. Вы хотите, чтобы вебмастера могли добавить на свои сайты возможность комментировать записи используя учётную запись vk2, но раскрывать или раздавать свой код не хотите.

Чтобы обойти эту проблему Вы выкладываете в публичном доступе правила, по которым вебмастера могут обращаться к vk2, чтобы получить комментарии.

Формат этих сообщений это обычно либо JSON либо XML. О них мы поговорим позже.

Повторим для закрепления сути: Смысл в том, что сайт написанный на любом языке, поддерживающем HTTP запросы, не посылает на сервер никаких PHP/C/Python команд, а общается ним с помощью запросов, описанных в API.

Если вам интересен реальный пример работы с API рекомендую статью Работа с API GitHub

Endpoint

Адрес, на который посылаются сообщения называется Endpoint.

Обычно это URL (например, название сайта) и порт. Если я хочу создать веб сервис на порту 8080 Endpoint будет выглядеть так:

Если моему Web сервису нужно будет отвечать на различные сообщения я создам сразу несколько URL (interfaces) по которым к сервису можно будет обратиться. Например

https://andreyolegovich.ru:8080 /resource1/status
https://andreyolegovich.ru:8080 /resource1/getserviceInfo
https://andreyolegovich.ru:8080 /resource1/putID
http://andreyolegovich.ru:8080 /resource1/eventslist
https://andreyolegovich.ru:8080 /resource2/putID

Как видите у моих эндпойнтов (Enpoints) различные окончания. Такое окончание в Endpoint называются Resource, а начало Base URL.

Такое определение Endpoint и Resource используется, например, в SOAP UI для RESTful интерфейсов

Endpoint = Base URL + Resource

Понятие Endpoint может использоваться в более широком смысле. Можно сказать, что какой-то определённый роутер или компьютер является Endpoint. Например, в понятии Endpoint Management под Endpoint имеют в виду конечное устройство. Обычно это понятно из контекста.

Также следует обратить внимание на то, что понятие Endpoint выходит за рамки RESTful и может использовать как в SOAP так и в других протоколах.

Термин Resource также связан с RESTful, но в более широком смысле может означать что-то другое.

На программистском сленге Endpoint иногда называют ручкой.

Спецификация

После того все эти интерфейсы созданы, их необходимо описать. Нужен документ из которого будет понятно

Этот документ должен быть доступен программистам с обеих сторон, иначе они просто не смогут договориться и реализовать работающий Web сервис.

HTTP методы

Вернёмся к первому пункту списка, а именно к тому, что такое методы.

В протоколе HTTP предусмотрено несколько способов отправить запрос на один и тот же Endpoint.

Про их свойства можно почитать здесь.

Когда мы знаем какие методы с какими Enpoint можно использовать составить запросы не составит труда.

GET http://andreyolegovich.ru:8080 /resource1/status
GET http://andreyolegovich.ru:8080 /resource1/getserviceInfo
PUT http://andreyolegovich.ru:8080 /resource1/putID
GET http://andreyolegovich.ru:8080 /resource1/eventslist
POST http://andreyolegovich.ru:8080 /resource1/eventslist
PUT http://andreyolegovich.ru:8080 /resource2/putID

Таким образом простейший запрос состоит из метода и Enpoint

Request = Method + Endpoint

Пример API

Чтобы узнать количество велосипедистов в городе нужно отправить GET запрос на https://topbicycle.ru:/bicyclists/$город

GET https://topbicycle.ru /bicyclists/helsinki

Получив такой запрос сайт вернёт число велосипедистов в Хельсинки.

Попробуйте вставить эту строку в браузер.

Это очень простые уроки для самых начинающих. Буду рад любым отзывам и предложениям в комментариях.

Тестирование API без документации

Если Вам по какой-то причине предстоит проделать эту неблагодарную работу, определетесь, насколько всё плохо. Какая у Вас есть информация об объекте тестирования.

Известно ли какие порты для Вас открыты? Знаете ли Вы нужные endpoints?

Сканирование портов

Перебор запросов

Если Вам известен нужный порт и соответствующий endopoint переберите все возможные HTTP методы. Начните с наиболее очевидных:

В худшем случае, когда ни порт ни endpoints неизвестны Вам, скорее всего придётся перебирать все открытые порты и генерировать endpoints, которые подходят по смыслу.

Разработчики обычно не особо заморачиваются и закладывают минимально-необходиму информацию. Так что включите воображение и попробуйте придумать endpoints опираясь на бизнес логику и принятые в Вашей компании стандарты.

Если ни endpoints ни бизнес логика Вам неизвестны, то у меня есть подозрение, что Вы тестируете API с не самыми хорошими намерениями.

Инструменты для тестирования

Существует множество инструментов для тестирования. Здесь Вы можете познакомиться с одними из самых популярных: Python и SOAP UI.

О работе с REST API на Python вы можете прочитать в статье «REST API с Python»

Источник

👨‍🔧️ Немного про API: от тестового покрытия до QAAPI

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

Понимание тестового покрытия дает понимание качества продукта, автотесты значительно ускоряют процесс и зачастую делают его более точным, тестирование без доступа к коду показывает возможности продукта с пользовательской стороны. Разберем основные понятия от простого к сложному, ведь хороший инженер QA – постоянно развивающийся инженер QA.

По понятиям

API для QA: что тестируем и как?

API бывает внутренним, когда все компоненты связаны и используются внутри системы, и бывают публичными, когда можно полученную информацию интегрировать с другими приложениями. Чтобы программы корректно работали друг с другом, их API должны соответствовать одному стандарту. Например, существует стандарт архитектуры взаимодействия приложений и сайтов REST.

К сожалению не всегда очевидно, что покрыто тестированием, а что нет. В большой команде проводится много тестов на разных языках, а инженеры QA обладают разной степенью подготовки – может возникнуть вопрос о пересечении тестов между собой.

Выделим две важных задачи:

В основе тестирования всегда лежит бизнес-логика программного продукта, а тестирование API – это интеграционное тестирование, в ходе которого можно отловить ошибки взаимодействия между системами.

API для QA: тест фичи без доступа к коду

Многие особенности приложения невозможно проверить без доступа к коду, особенно если вы только начали обучение или недавно записались на курсы тестировщика. А как тестировать задачи, результат которых нужно ждать от нескольких часов до нескольких дней?

Логично, что удобнее всего подменить константы в программе, но не всякий код позволит так с собой обращаться. Поэтому в результате многочисленных проб и ошибок на простора было создано QAAPI – возможность точечного вмешательства в работу продукта в нужном моменте. Это набор вызываемых и возвращающих ответ методов, которые можно вызвать из браузера. Притом вызывать их можно один из другого.

В каждом проекте свое API и, соответственно, у QAAPI должны быть свои умения, которые и дату назад отмотают, и тестового пользователя зарегистрируют с определенными параметрами, и данные подгрузят, и сервис активируют, и весь нужный пул методов содержат.

Любое QAAPI стоит на трех китах:

Концепция QAAPI проста и в то же время максимально эффективна. Она дает массу преимуществ, подготавливая данные для автоматического тестирования и обеспечивая получение информации о состоянии фичи.

Например, нам нужно проверить, чтобы через 45 секунд после регистрации у нового пользователя появлялось окно с партнерским предложением. Есть метод SetHelloBalTime и URL, принимающий в качестве параметра количество секунд с момента регистрации, когда нужно будет показать пользователю (по его ID) нужное окно.

Выглядело бы это примерно так:

Такой запрос возвращает ответ , т.е. через 45 секунд пользователь с увидит нужное нам окно.

Сам класс метода будет таким:

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

API-помощники в тестировании

Для автоматизации труда инженера QA существует множество различных решений. Рассмотрим два популярных программных продукта, упрощающих работу с QAAPI:

По сути, Swagger представляет из себя документацию, которая генерируется по вашему сервису. Она содержит:

Swagger работает по принципу генерации и при этом неважно, какой фреймворк вы используете.

Есть коды ответов и они также все задокументированы.

Приложение умеет составлять и отправлять запросы, добавлять контрольные точки, параметризовать запросы, создавать разные окружения одним и тем же запросам.

Плюс Postman – графический интерфейс и встроенный компонент Collection Runner, с помощью которого можно запустить наполненную запросами и тестами коллекцию.

Автоматизация тестирования – один из лучших способов проверки качества ПО в текущей версии. И чем чаще и качественнее по уровню проходит обучение инженер QA, тем более современные и мощные инструменты появляются в его арсенале. Образование тестировщика напрямую влияет на его заработок, поэтому важно выбирать максимально качественные обучающие ресурсы. Если вы не новичок в профессии, стоит прокачать английский, а потом перейти к какому-нибудь новому языку программирования. Наиболее эффективным для создания автоматизированных тестов считается Java.

Если вы только начинаете карьерный путь, стоит обратить внимание на факультет тестирования ПО онлайн-академии GeekBrains. Помимо теоретических знаний, здесь вы сможете получить и практические навыки по реализации топовых вариантов автотестов, а также фидбек от опытных наставников и помощь в трудоустройстве.

Источник

Что такое API

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

Краткий ликбез по API. Выясняем, что он собой представляет, как работает и зачем нужен. Рассмотрим примеры использования, способы вызова и тенденции развития.

Что значит API?

Этот термин расшифровывается как Application Programming Interface, что в переводе на русский значит «Программный Интерфейс Приложения». Аббревиатура API используется часто и на слуху у многих пользователей, взаимодействующих с компьютерами (даже далеких от программирования). Правда, популярность термина не сделала его особо понятнее. Для многих это все еще набор символов без четкого значения. В лучшем случае пользователи в ответ на вопрос «Что такое API» скажут, что это инструмент для взаимодействия нескольких программ, в худшем – не скажут ничего.

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

И первые будут правы, потому что программный интерфейс включает в себя функции, классы, методы и структуры, помогающие одному приложению взаимодействовать с другим. API содержит в себе некие «мостики», позволяющие программе А получить доступ к данным из программы Б или к некоторым ее возможностям. Таким образом, программисты могут расширять функциональность своего продукта и связывать его с чужими разработками.

Все это с разрешения создателей программы А и с соблюдением всех мер безопасности, чтобы разработчики, желающие использовать API, не смогли получить доступ к конфиденциальной информации.

Главный принцип работы API. Почему его называют интерфейсом

Простыми словами, интерфейс – это «прослойка» между приложением А и приложением Б. В ней происходят процессы, которые позволяют двум программам обмениваться информацией и выполнять функции, связанные с обеими сторонами, скрывая «внутреннее строение» программ. Знакомо? Только что таким же образом мы описали API.

Такой подход позволяет наладить взаимодействие между несколькими утилитами, не задумываясь о том, как они устроены, какая программная логика ими движет и каким образом обрабатываются передаваемые данные. Интерфейсы упрощают работу как для простых пользователей, так и для программистов. Первым не приходится задумываться о том, что стоит за привычными функциями в их гаджетах, а разработчикам не нужно изучать код других программистов, чтобы подключить чужой продукт к своему.

Это называется инкапсуляцией. Сокрытием части функций ради упрощения работы в целом и минимизации участков программного обеспечения, где один из разработчиков мог бы допустить ошибку.

Набор функций в программных интерфейсах приложения

Список опций, доступных при работе с тем или иным API, зависит от разработчиков. Есть три основных пункта, описывающих работу интерфейса и методы взаимодействия с ним:

По сути, мы имеем скрытую функцию или набор скрытых функций, внутри которых происходит обработка и выдача передаваемых данных (и этот процесс скрывается благодаря инкапсуляции).

Составление набора функций в API

Внутреннее устройство API зависит от того, каким образом его организует разработчик. Есть стандартные варианты, но они не являются «догматом».

Например, кто-то в отдельный набор функций определяет возможность регистрироваться и авторизоваться. Другие программисты добавляют в API набор скрытых функций для внедрения уже существующего сервиса в стороннее приложение или на сторонний веб-сайт (платежные системы, навигация и т.п.).

Некоторые разработчики делят API на группы. К примеру, отдельно инструмент для работы с платежными системами и отдельно другие функции банка. Но можно подключать все одним набором, и тогда уже второй разработчик будет выбирать, какие из доступных возможностей API использовать.

Зачем нужен API?

Теперь нам знакомы принципы работы API и задачи, которые они помогают решить. Но они хороши не только этим. Программные интерфейсы используются еще по двум немаловажным причинам.

Во-первых, такой подход позволяет делать программы надежнее. Инкапсуляция в целом заметно упрощает жизнь разработчиков. Отдельные компоненты приложений становятся абстракциями. Создателям нового ПО не приходится лезть в логику низкоуровневых функций и разбираться в их реализации. Так заметно повышается безопасность выполняемых задач, что особенно заметно на уровне таких масштабных программных продуктов, как операционные системы. Программы постоянно выполняют сотни внутренних задач, при этом они проходят незаметно для пользователя и не могут навредить друг другу.

Во-вторых, на API можно заработать. Например, сервисы, предоставляющие информацию с метеовышек, берут плату за каждый запрос актуальной погоды, если их API используется в сторонних приложениях. Аналогичные условия могут предлагать и другие компании, предоставляющие услуги. Будь то навигация, конвертация файлов в другие форматы и прочие возможности, реализуемые через API.

Почему разработчики используют API?

Есть как минимум еще 4 причины, объясняющие интерес программистов к API:

Примеры API

Работа API представляет собой передачу данных по определенному запросу со стороны клиента или другого приложения. Допустим, нужно выудить информацию с существующего сайта и передать ее в программу.

В браузере будет дан запрос и ожидаться ответ в виде HTML-страницы. Если же используется API в стороннем приложении, то ему может быть достаточно фрагмента данных в формате JSON. Более точное техническое описание работы любого из существующих API доступно только их создателям.

На стороне пользователя такая реализация интерфейса будет выглядеть как банальная возможность выполнить действие, связанное с программой А в программе Б. То есть убрать лишний переход в стороннюю программу.

Ниже разберем частные случаи использования API с перспективы пользователей, а не разработчиков.

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

Google Календарь

Те, кто использовал приложения-календари для iOS или Android, знают, что данные в них можно синхронизировать, подключив один из популярных сервисов: Apple iCal или Google Calendar. Обе компании предлагают разработчикам API, позволяющие подключить свой календарь напрямую к сторонним приложениям. Благодаря подобной интеграции люди могут использовать несколько разных программ со схожей функциональностью и иметь на руках актуальную информацию о всех своих делах.

API позволяют создавать новые события и напоминания, удалять уже существующие, редактировать их и т.п.

Погодное приложение

Существующие погодные приложения (встроенные в операционную систему или сторонние из App Store или Google Play) получают информацию о погоде из сторонних источников.

Есть сервисы, взаимодействующие напрямую с метеостанциями и обладающие информацией о текущей погоде. Разработчики приложений для мобильных устройств эту информацию покупают.

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

А чтобы весь процесс упростить, сервисы, сотрудничающие с метеостанциями, разработали соотвествующие API. В них содержится набор функций, помогающий делать запросы о погоде в конкретных местах. Эти запросы через посредника (приложение) отправляются на «метеостанцию», а их результат возвращается пользователю тем же путем.

Сервис по заказу авиабилетов

Здесь аналогичная ситуация. Помимо сайтов и приложений, принадлежащих авиакомпаниям, есть так называемые агрегаторы. У нас популярен Aviasales, но есть и другие.

Такие сервисы собирают информацию о стоимости авиабилетов в разных авиакомпаниях и отображают ее в едином окне. Чтобы добыть эту информацию, разработчики используют функции сервисов авиакомпаний, которые помогают в реальном времени обновлять информацию о направлениях и стоимости билетов.

Кнопки авторизации

Наверняка вы видели на различных сайтах кнопки, позволяющие зарегистрироваться с помощью уже существующих аккаунтов на популярных площадках. Сейчас такие есть у Google, Facebook, Apple, Twitter, ВКонтакте и т.д. Набор доступных опций на конкретном ресурсе полностью зависит от его хозяев. Это тоже делается через API. Условная Apple создала набор защищенных функций, который можно с минимальными затратами подключить к своему проекту и предоставить пользователям доступ к удобному и безопасному способу авторизации.

При этом жизнь пользователей становится проще, а у владельцев ресурса остается доступ к почтовым адресам и другим персональным данным для взаимодействия с вновь зарегистрировавшимся человеком.

Навигация на сайтах и в приложениях

Тут почти как с погодой. Есть несколько крупных корпораций, предлагающих картографические данные. Те же Apple, Google, Yandex и парочка других. Некоторые из этих компаний разработали API, позволяющие подключить собственный картографический сервис к другим площадкам. Иногда они используются во внутренних продуктах. Яндекс.Транспорт построен на базе Яндекс.Карт, к примеру. Иногда API используются крупными партнерами. Uber использует для навигации сервис компании Google.

Что такое api простыми словами в тестировании. Смотреть фото Что такое api простыми словами в тестировании. Смотреть картинку Что такое api простыми словами в тестировании. Картинка про Что такое api простыми словами в тестировании. Фото Что такое api простыми словами в тестировании

То же самое делают разработчики многих приложений под Android. Так как это API, встроенный в операционную систему, подключить карты Google к своему сервису доставки еды или приложению для бегунов проще всего. На iOS ситуация иная – там проще работать с Apple Maps.

Но у API навигационных сервисов есть и более скромное применение. Например, интерактивные мини-карты в футерах местечковых заведений, на которых указана схема проезда с возможностью быстро построить маршрут.

Как вызвать API?

Взаимодействие с API описано в нем самом. Создатели программного интерфейса обеспечат вас документацией, в которой подробно расскажут, как и что работает. Поэтому универсальной инструкции по вызову API не существует.

Это может выглядеть так, например:

А вот как выглядит запрос к API Yandex.SpeechKit (для озвучки текста):

Косвенные вызовы API

Выше были описаны методы вызова API напрямую. То есть разработчиком (или программой для тестирования функций). Они бывают разных типов, но все сводится к одной идее – работе непосредственно с кодом.

Но не только разработчики участвуют во взаимодействии с API. Пользователи тоже зачастую обращаются к интерфейсам. Банальная кнопка «Создать новую вкладку» в браузере – уже интерфейс (конкретно в этом случае – графический интерфейс). За ним так же скрывается набор функций, выполнение которых в конечном итоге приводит к появлению новой страницы в браузере.

Таких примеров масса. Можно брать в расчет любую возможность компьютера, которая непонятна обывателю. Вся эта «магия под капотом» как раз и есть API, с которыми на постоянной основе контактируют люди, далекие от программирования.

Особенности современного API

В развитии программных интерфейсов наблюдаются следующие тенденции:

Вместо заключения

API – программный стандарт, постепенно становящийся все более востребованным. Сервисы и приложения обрастают интерфейсами, поэтому к ним обязательно стоит найти подход.

Программистам, еще не освоившим работу с API, определенно стоит углубиться в эту тему и чаще их использовать, чтобы уметь быстро подключать сторонние решения в своих сервисах и уметь создавать качественные программные интерфейсы для уже существующих продуктов.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *