API. Яндекс.Практикум презентация

Содержание

Слайд 2

Яндекс.Практикум Регламент вебинара • Выключаем микрофоны • Вопросы задаем в

Яндекс.Практикум

Регламент вебинара
• Выключаем микрофоны
• Вопросы задаем в чат
• Не

отвлекаемся
• Активно работаем
Слайд 3

Яндекс.Практикум План встречи API,как устроены современные приложения? REST/SOAP Документация на

Яндекс.Практикум

План встречи

API,как устроены современные приложения?
REST/SOAP
Документация на API
Составление тестовой документации для

работы с API
Слайд 4

Яндекс.Практикум Технический слайд Смотрим HH Смотрим виды АПИ Мемы

Яндекс.Практикум

Технический слайд

Смотрим HH Смотрим виды АПИ Мемы

Слайд 5

Яндекс.Практикум Что такое API? API - Application Programming Interface Загуглить REST API SOAP gRPC Graphql

Яндекс.Практикум

Что такое API?
API - Application Programming Interface

Загуглить REST API SOAP gRPC Graphql

Слайд 6

Яндекс.Практикум С какими API вы работаете каждый день?

Яндекс.Практикум

С какими API вы работаете каждый день?

Слайд 7

Яндекс.Практикум

Яндекс.Практикум

Слайд 8

Яндекс.Практикум С какими API вы работаете каждый день? Slack –

Яндекс.Практикум

С какими API вы работаете каждый день?
Slack – клиент на устройстве

отправляет запросы и получает данные с серверов через API
Приложение банка
Заказ <что_угодно> через сайт
Слайд 9

Яндекс.Практикум Почему важно уметь тестировать API? Существуют приложения без графического

Яндекс.Практикум

Почему важно уметь тестировать API?

Существуют приложения без графического интерфейса
Локализация ошибок

и раздельное тестирование Бэк/Фронт
Проверка сценариев, которые невозможно проверить через интерфейс – можно проверить больше
Гибкий и быстрый способ генерации тестовых данных
Не все тестировщики умеют тестировать API
Слайд 10

Реальное приложение может быть устроено так Яндекс.Практикум

Реальное приложение может быть устроено так

Яндекс.Практикум

Слайд 11

Но чаще оно устроено так Яндекс.Практикум Загуглить Monolith SOA MSA KAFKA

Но чаще оно устроено так

Яндекс.Практикум

Загуглить Monolith SOA MSA KAFKA

Слайд 12

Яндекс.Практикум Форматы данных в API (JSON, XML)

Яндекс.Практикум

Форматы данных в API (JSON, XML)

Слайд 13

Яндекс.Практикум REST: что важно помнить 1. Работает на основании HTTP/HTTPS

Яндекс.Практикум

REST: что важно помнить

1. Работает на основании HTTP/HTTPS
2. Основной

формат передачи данных —JSON (есть и другие) 3. 6 принципов RESTful 4. Простой и гибкий 5. Запрос/ответ состоит из 3 частей: Строка состояния, заголовки, тело
Слайд 14

Яндекс.Практикум SOAP: что важно помнить 1. Работает на основании SOAP/HTTP/HTTPS

Яндекс.Практикум

SOAP: что важно помнить

1. Работает на основании SOAP/HTTP/HTTPS
2. Основной

формат передачи данных —XML строго! 3. Сообщение состоит из 3-х частей Envelop, Header, Body 4. WSDL – язык описания сервисов и доступа к ним
Слайд 15

Яндекс.Практикум JSON (JavaScript Object Notation) Набор пар ключ-значение (как в

Яндекс.Практикум

JSON (JavaScript Object Notation)

Набор пар ключ-значение (как в словаре)
Порядок пар

не важен, может меняться от запроса к запросу
Ключ — всегда строка
Значение:
строка
число
null
Логический
true или false
массив (перечисление через запятую)
объект (другой JSON)
Слайд 16

Яндекс.Практикум JSON (пример) { "name": "Иван Иванович", "age": 24, "isMarried":

Яндекс.Практикум

JSON (пример)

{
"name": "Иван Иванович",
"age": 24,
"isMarried": false,
"children": null,
"cars": ["а123бв10", "б321ав01"],
"mobilePhone": {
"name":

"Samsung",
"made": 2015
}
}
Слайд 17

Яндекс.Практикум XML (eXtensible Markup Language) Каким может быть содержание тега?

Яндекс.Практикум

XML (eXtensible Markup Language)

Каким может быть содержание тега?
Строка, число и т.д.
Пустое


Открывающий тег может содержать атрибуты
Другой тег
Слайд 18

Структура на примере простого XML Яндекс.Практикум - Корневой тег (Родительский)

Структура на примере простого XML

Яндекс.Практикум

- Корневой тег (Родительский)

- Потомок и родитель

-

Потомки (дочерние теги)
Слайд 19

Структура XML Декларация описывает версию XML документа и кодировку Яндекс.Практикум

Структура XML

Декларация описывает версию XML документа и кодировку

Яндекс.Практикум

-----------------------------------------------------------

Атрибуты хранят в себе

дополнительную информацию

-----------------------------------------------------------

Слайд 20

XML и HTML Одно и то же? Яндекс.Практикум

XML и HTML

Одно и то же?

Яндекс.Практикум

Слайд 21

XML и HTML HTML – HyperText Markup Language XML – eXtensible Markup Language Яндекс.Практикум

XML и HTML

HTML – HyperText Markup Language
XML – eXtensible Markup Language

Яндекс.Практикум

Слайд 22

XML vs HTML Яндекс.Практикум

XML vs HTML

Яндекс.Практикум

Слайд 23

Блокнот Notepad++ Sublime Text Online: JSONViewer programmer's notepad VScode Где писать JSON/XML? Яндекс.Практикум

Блокнот
Notepad++
Sublime Text
Online: JSONViewer
programmer's notepad
VScode

Где писать JSON/XML?

Яндекс.Практикум

Слайд 24

Яндекс.Практикум Вопросы про теорию API ?

Яндекс.Практикум

Вопросы про теорию API ?

Слайд 25

Документация API Яндекс.Практикум

Документация API

Яндекс.Практикум

Слайд 26

Зачем нужна? Где взять? Документация для API Яндекс.Практикум

Зачем нужна?
Где взять?

Документация для API

Яндекс.Практикум

Слайд 27

Swagger Apidoc: пример Текстовые документы Разработчик … Документация для API Яндекс.Практикум

Swagger
Apidoc: пример
Текстовые документы
Разработчик

Документация для API

Яндекс.Практикум

Слайд 28

Немного про HTTP Яндекс.Практикум

Немного про HTTP

Яндекс.Практикум

Слайд 29

Структура передачи данных Передача документов Передача меты Авторизация Поддержка сессий

Структура передачи данных
Передача документов
Передача меты
Авторизация
Поддержка сессий
Кеширование документов
Согласование содержимого
Управление соединением

Какие задачи решает

HTTP?

Яндекс.Практикум

Слайд 30

Работает поверх TCP/TLS ( нужно надежное соединение) Запрос ответ /

Работает поверх TCP/TLS ( нужно надежное соединение)
Запрос ответ / нет стриминга
Текстовый

( человек может читать)
Расширяемый

Почему HTTP?

Яндекс.Практикум

Слайд 31

URL / endpoint / «ручка» Метод Query-параметры Заголовки Тело запроса Из чего состоит HTTP-запрос Яндекс.Практикум

URL / endpoint / «ручка»
Метод
Query-параметры
Заголовки
Тело запроса

Из чего

состоит HTTP-запрос

Яндекс.Практикум

Слайд 32

Как тестировать API? Яндекс.Практикум

Как тестировать API?

Яндекс.Практикум

Слайд 33

Как тестировать API? Так же, как и все остальное —

Как тестировать API?

Так же, как и все остальное — по документации
что

должен делать конкретный сервис?
какие есть заголовки и параметры?
структура запроса
какие параметры обязательны
типы данных
валидация

Яндекс.Практикум

Слайд 34

Как тестировать API? Что проверять? Статус-код ответа Структура ответа Если

Как тестировать API?

Что проверять?
Статус-код ответа
Структура ответа
Если вносились изменения,

то они видны:
в приложении
в базе-данных
в ответе этой или другой ручки
Прикладывай CURL!

Яндекс.Практикум

Слайд 35

Статус-коды: 1xx — информационные 2хх — успешное выполнение 3хх —

Статус-коды:

1xx — информационные
2хх — успешное выполнение
3хх — перенаправление
4хх

— ошибка на стороне клиента
5хх — ошибка на стороне сервера
4хх иногда заменяют на 2хх

Яндекс.Практикум

Слайд 36

Тестовая документация: тестирование API Яндекс.Практикум

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

Яндекс.Практикум

Слайд 37

Документация всё та же ;) Чеклисты Тест-кейсы Тестовая документация: тестирование API Яндекс.Практикум

Документация всё та же ;)
Чеклисты
Тест-кейсы

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

Яндекс.Практикум

Слайд 38

Важно помнить: В основе – требования, а не реализация Применяем

Важно помнить:
В основе – требования, а не реализация
Применяем техники тест-дизайна


Проверяем негативные сценарии

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

Яндекс.Практикум

Имя файла: API.-Яндекс.Практикум.pptx
Количество просмотров: 16
Количество скачиваний: 0