Microservices for test automation

52
Микросервисы для автоматизации тестирования - опыт «Одноклассников»

Transcript of Microservices for test automation

Page 1: Microservices for test automation

Микросервисы для автоматизации тестирования - опыт «Одноклассников»

Page 2: Microservices for test automation

Никита Макаров

РазработчикТестировщикМенеджерИнженер

http://test-failed.blogspot.com

Page 3: Microservices for test automation

• Теория• Практические кейсы «Одноклассников»• Мысли на тему

План

О чем поговорим?

Page 4: Microservices for test automation

Hype

Microservices Hype

Page 5: Microservices for test automation

Микросервисы

Что такое микросервисы

Page 6: Microservices for test automation

Монолит

Монолит

Page 7: Microservices for test automation

Микросервисы

Микросервисная архитектура

Page 8: Microservices for test automation

Масштабирование

Масштабирование

Page 9: Microservices for test automation

A/B-тестирование

Эксперименты

Page 10: Microservices for test automation

• Выделение компонентов в сервисы• Организация вокруг бизнес-домена (DDD)• Связи между узлами не имеют

фукнционального значения• Децентрализация управления и данных• Эволюционный дизайн и дизайн «на отказ»

Характерные черты

Характерные черты

Page 11: Microservices for test automation

μ - ?

Проблема

Size does matter

Page 12: Microservices for test automation

Здоровый скептицизм

Иногда это так

Page 13: Microservices for test automation

Выбор

Изоляция vs. Распределенная система

Page 14: Microservices for test automation

Практические кейсы

Page 15: Microservices for test automation

Практические кейсы

Page 16: Microservices for test automation

Соц.сеть under the hood

Пользователи и контент

Page 17: Microservices for test automation

Масштабирование

Масштабирование

Page 18: Microservices for test automation

наши сервисы

микросервисы в живой природе

Page 19: Microservices for test automation

Хранение и генерация контента

Контент

Page 20: Microservices for test automation

Контент

Хранение контента

Page 21: Microservices for test automation

Генераторы

Генерация контента

Page 22: Microservices for test automation

Видео

Генерированное видео

История про WebDriver Torso от Google

Page 23: Microservices for test automation

Боты

Storekeeper

Page 24: Microservices for test automation

Регистрация

Регистрация

Page 25: Microservices for test automation

Удаление

Удаление

Page 26: Microservices for test automation

• Регистрировать ботов• Отдавать ботов в тесты

• пол, возраст, прочее…• Удалять ботов• Разблокировать ботов

Storekeeper

Что умеет

TDS в Spotify

Page 27: Microservices for test automation

Storekeeper

Как это работает

Page 28: Microservices for test automation

Mnemonic

Mnemonic

Page 29: Microservices for test automation

Окружения

Работа на окружениях

Page 30: Microservices for test automation

Mnemonic

Хранилище для окружений

Key

Prod value

Test valueStage value

Dev value

Page 31: Microservices for test automation

Ботнет

Ботнет

Page 32: Microservices for test automation

Ботнет

Ботнет

Page 33: Microservices for test automation

Название презентации

Как это работает

Page 34: Microservices for test automation

Revolver

С чего все началось

Page 35: Microservices for test automation

Название презентации

Мир вокруг

Page 36: Microservices for test automation

Сервисы

Тесты вокруг

Page 37: Microservices for test automation

API

API Gateway

Page 38: Microservices for test automation

История

Начало (02-2012)

Jenkins

Se

SeSe Se

Page 39: Microservices for test automation

История

+ Revolver

Jenkins

Se

SeSe Se

Revolver

Page 40: Microservices for test automation

История

+Content Generators

Jenkins

Se

SeSe Se

RevolverContent Generators

Page 41: Microservices for test automation

История

+Node Utils

Jenkins

Se

Se+A

Se+A

Se+A

RevolverContent Generators

Page 42: Microservices for test automation

История

+Mnemonic, -Revolver (2013)

Jenkins

Se

Se+A

Se+A

Se+A

MnemonicContent Generators

Page 43: Microservices for test automation

История

+StoreKeeper

Jenkins

Se

Se+A

Se+A

Se+A

MnemonicContent Generators

Storekeeper

Page 44: Microservices for test automation

История

+Watson (2013)

Jenkins

Se

Se+A

Se+A

Se+A

MnemonicContent Generators

StorekeeperWatson

Page 45: Microservices for test automation

История

+Registrator (2014)

Jenkins

Se

Se+A

Se+A

Se+A

MnemonicContent Generators

StorekeeperWatson Registrator

Page 46: Microservices for test automation

История

+Holmes (01-2015)

Jenkins

Se

Se+A

Se+A

Se+A

MnemonicContent Generators

StorekeeperWatson Registrator

Holmes

Page 47: Microservices for test automation

История

+Berrimor (05-2015)

Jenkins

Se

Se+A

Se+A

Se+A

MnemonicContent Generators

StorekeeperWatson Registrator

Holmes

Berrimor

Page 48: Microservices for test automation

Сейчас

-Selenium Grid (09-2015)

Jenkins

MnemonicContent Generators

StorekeeperWatson Registrator

Holmes

Berrimor

Se+A

Se+A

Se+A

NodeManager

Se+A

Se+A

Se+A

NodeManager

Se+A

Se+A

Se+A

NodeManager

Page 49: Microservices for test automation

Lessons learned

Page 50: Microservices for test automation

Debug

Debug в распределенной системе

Page 51: Microservices for test automation

• Debug• Deployment• Monitoring• Log aggregation

Что делать

Что делать

Page 52: Microservices for test automation

Никита Макаров[email protected]@papaminos