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

Содержание

Слайд 2

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

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

Активно работаем

Слайд 3

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

План встречи

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

API

Слайд 4

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

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

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

Слайд 5

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

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

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

Слайд 6

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

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

Слайд 7

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

Слайд 8

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

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

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

Слайд 9

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

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

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

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

Слайд 10

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

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

Слайд 11

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

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

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

Слайд 12

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

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

Слайд 13

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

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

1. Работает на основании HTTP/HTTPS
2. Основной формат передачи

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

Слайд 14

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

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

1. Работает на основании SOAP/HTTP/HTTPS
2. Основной формат передачи

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

Слайд 15

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

JSON (JavaScript Object Notation)

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

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

Слайд 16

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

JSON (пример)

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

2015
}
}

Слайд 17

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

XML (eXtensible Markup Language)

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

может содержать атрибуты
Другой тег

Слайд 18

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

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

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

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

- Потомки (дочерние

теги)

Слайд 19

Структура XML

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

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

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

Атрибуты хранят в себе дополнительную информацию

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

Слайд 20

XML и HTML

Одно и то же?

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

Слайд 21

XML и HTML

HTML – HyperText Markup Language
XML – eXtensible Markup Language

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

Слайд 22

XML vs HTML

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

Слайд 23

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

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

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

Слайд 24

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

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

Слайд 25

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

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

Слайд 26

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

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

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

Слайд 27

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

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

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

Слайд 28

Немного про HTTP

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

Слайд 29

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

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

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

Слайд 30

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

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

Почему HTTP?

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

Слайд 31

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

Из чего состоит HTTP-запрос

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

Слайд 32

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

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

Слайд 33

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

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

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

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

Слайд 34

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

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

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

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

Слайд 35

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

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

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

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

Слайд 36

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

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

Слайд 37

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

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

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

Слайд 38

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

сценарии

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

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

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