5.89M
Категория: ИнтернетИнтернет

Адаптеры в проекте с автотестами

1.

Адаптеры в проекте с автотестами
Автоматизированное тестирование веб-сервисов на Go

2.

REC
Скоро начинаем
Меня хорошо видно
& слышно?

3.

Адаптеры в проекте с автотестами
Автоматизированное тестирование веб-сервисов на Go

4.

Семен Новиков
Software Development Engineer in Test в Kaspersky
● 5 лет в тестировании
● Автоматизация тестирования приложений с микросервисной
архитектурой в продакшн-подобных средах
● Разработка утилит для тестирования
● Нагрузочное тестирование для приложений с различным
форматом поставки
@semanovik
novikreef@gmail.com

5.

Правила вебинара
Активно
участвуем
Off-topic обсуждаем
в учебной группе #канал
группы
Задаем вопрос
в чат или голосом
Вопросы вижу в чате,
могу ответить не сразу

6.

Карта курса
СТАРТ
Ручное
тестирование
Язык GO
UI тесты
API и его
тестирование
SQL
Проектная работа
ФИНИШ

7.

Маршрут вебинара
Знакомство
Слои автотестового проекта
Адаптеры
Пример реализации адаптера
Рефлексия

8.

Цель вебинара
Сформировать представление об адаптерах в
автотестом проекте
Смысл
С помощью адаптеров делать гибким,
масштабируем и легко поддерживаемым

9.

Работали ли вы с автотестовыми
проектами?

10.

Работали ли вы с автотестовыми
проектами?
Сталкивались ли вы с паттерном
«Адаптер»?

11.

Есть только USB-C выход

12.

Есть только USB-C выход
Есть только HDMI вход

13.

Есть только USB-C выход
HDMI вход и выход
Есть только HDMI вход

14.

Есть только USB-C выход
HDMI вход и выход
Есть только HDMI вход

15.

Есть только USB-C выход
USB-C вход и HDMI выход
HDMI вход и выход
Есть только HDMI вход

16.

Слои автотестового проекта

17.

Автотестовый проект

приложение(исходный код), которое тестирует другое приложение

18.

Автотестовый проект

приложение(исходный код), которое тестирует другое приложение

19.

Автотестовый проект

приложение(исходный код), которое тестирует другое приложение
Слой тестов

20.

Автотестовый проект

приложение(исходный код), которое тестирует другое приложение
Слой тестов
Слой адаптеров

21.

Автотестовый проект

приложение(исходный код), которое тестирует другое приложение
Слой тестов
Слой адаптеров
Слой хелперов

22.

Адаптеры

23.

Адаптер
слой обёртки над внешними системами, который инкапсулирует
детали взаимодействия с ними и предоставляет удобный и
стабильный интерфейс для автотестов

24.

Адаптер
слой обёртки над внешними системами, который инкапсулирует
детали взаимодействия с ними и предоставляет удобный и
стабильный интерфейс для автотестов
Типы внешних систем

25.

Адаптер
слой обёртки над внешними системами, который инкапсулирует
детали взаимодействия с ними и предоставляет удобный и
стабильный интерфейс для автотестов
Типы внешних систем
1.
HTTP-сервисы (REST API)

26.

Адаптер
слой обёртки над внешними системами, который инкапсулирует
детали взаимодействия с ними и предоставляет удобный и
стабильный интерфейс для автотестов
Типы внешних систем
1.
HTTP-сервисы (REST API)
2.
gRPC-сервисы

27.

Адаптер
слой обёртки над внешними системами, который инкапсулирует
детали взаимодействия с ними и предоставляет удобный и
стабильный интерфейс для автотестов
Типы внешних систем
1.
HTTP-сервисы (REST API)
2.
gRPC-сервисы
3.
Базы данных

28.

Адаптер
слой обёртки над внешними системами, который инкапсулирует
детали взаимодействия с ними и предоставляет удобный и
стабильный интерфейс для автотестов
Типы внешних систем
1.
HTTP-сервисы (REST API)
2.
gRPC-сервисы
3.
Базы данных
4.
Брокеры сообщений

29.

Адаптер
слой обёртки над внешними системами, который инкапсулирует
детали взаимодействия с ними и предоставляет удобный и
стабильный интерфейс для автотестов
Типы внешних систем
1.
HTTP-сервисы (REST API)
2.
gRPC-сервисы
3.
Базы данных
4.
Брокеры сообщений
5.
Любые внешние системы, с которыми тестам нужно взаимодействовать напрямую

30.

Можно ли обойтись без адаптеров?

31.

Можно ли обойтись без адаптеров?

32.

Можно ли обойтись без адаптеров?
Много кода

33.

Можно ли обойтись без адаптеров?
Много кода
Дублирование логики

34.

Можно ли обойтись без адаптеров?
Много кода
Дублирование логики
Трудно читать

35.

Можно ли обойтись без адаптеров?
Много кода
Дублирование логики
Трудно читать
Трудно поддерживать

36.

Можно ли обойтись без адаптеров?
Много кода
Дублирование логики
Трудно читать
Трудно поддерживать
Неудобно
переиспользовать

37.

Пример реализации

38.

Пример реализации

39.

Пример реализации

40.

Пример реализации
1.
Легко читать
2.
Легко писать
3.
Легко поддерживать
4.
Легко подменить реализацию (HTTP -> gRPC)

41.

Вопросы для проверки
1.
2.
3.
Из каких основных слоев состоит автотестовый проект?
Для каких типов внешних систем обычно реализуются адаптеры?
С какими проблемами можно столкнуться если не использовать адаптеры в автотестах?
3 мин
время на выполнение

42.

Цель вебинара
Сформировать представление об адаптерах в
автотестом проекте
Смысл
С помощью адаптеров делать гибким,
масштабируем и легко поддерживаемым

43.

Цель вебинара
Сформировать представление об адаптерах в
автотестом проекте
Смысл
С помощью адаптеров делать гибким,
масштабируем и легко поддерживаемым

44.

Вопросы
если есть вопросы
если вопросов нет

45.

Заполните, пожалуйста,
опрос о занятии
Мы читаем все ваши сообщения
и берем их в работу

46.

LIVE
English     Русский Правила