SlideShare une entreprise Scribd logo
1  sur  52
Télécharger pour lire hors ligne
Микросервисы для автоматизации
тестирования - опыт «Одноклассников»
Никита Макаров
Разработчик
Тестировщик
Менеджер
Инженер
http://test-failed.blogspot.com
• Теория
• Практические кейсы «Одноклассников»
• Мысли на тему
План
О чем поговорим?
3
Hype
Microservices Hype
4
Микросервисы
Что такое микросервисы
5
Монолит
Монолит
6
Микросервисы
Микросервисная архитектура
7
Масштабирование
Масштабирование
8
A/B-тестирование
Эксперименты
9
• Выделение компонентов в сервисы
• Организация вокруг бизнес-домена (DDD)
• Связи между узлами не имеют
фукнционального значения
• Децентрализация управления и данных
• Эволюционный дизайн и дизайн «на отказ»
Характерные черты
Характерные черты
10
μ - ?
Проблема
Size does matter
11
Здоровый скептицизм
Иногда это так
12
Выбор
Изоляция vs. Распределенная система
13
Практические кейсы14
Практические кейсы
Соц.сеть under the hood
Пользователи и контент
16
Масштабирование
Масштабирование
17
наши сервисы
микросервисы в живой природе
18
Хранение и генерация контента
Контент
19
Контент
Хранение контента
20
Генераторы
Генерация контента
21
Видео
Генерированное видео
22
История про WebDriver Torso от Google
Боты
Storekeeper
23
Регистрация
Регистрация
24
Удаление
Удаление
25
• Регистрировать ботов
• Отдавать ботов в тесты
• пол, возраст, прочее…
• Удалять ботов
• Разблокировать ботов
Storekeeper
Что умеет
26
TDS в Spotify
Storekeeper
Как это работает
27
Mnemonic
Mnemonic
28
Окружения
Работа на окружениях
29
Mnemonic
Хранилище для окружений
30
Ботнет
Ботнет
31
Ботнет
Ботнет
32
Название презентации
Как это работает
33
Revolver
С чего все началось
34
Название презентации
Мир вокруг
35
Сервисы
Тесты вокруг
36
API
API Gateway
37
История
Начало (02-2012)
38
Jenkins
Se
SeSe Se
История
+ Revolver
39
Jenkins
Se
SeSe Se
Revolver
История
+Content Generators
40
Jenkins
Se
SeSe Se
Revolver
Content
Generators
История
+Node Utils
41
Jenkins
Se
Se+ASe+A Se+A
Revolver
Content
Generators
История
+Mnemonic, -Revolver (2013)
42
Jenkins
Se
Se+ASe+A Se+A
Mnemonic
Content
Generators
История
+StoreKeeper
43
Jenkins
Se
Se+ASe+A Se+A
Mnemonic
Content
Generators
Storekeeper
История
+Watson (2013)
44
Jenkins
Se
Se+ASe+A Se+A
Mnemonic
Content
Generators
StorekeeperWatson
История
+Registrator (2014)
45
Jenkins
Se
Se+ASe+A Se+A
Mnemonic
Content
Generators
StorekeeperWatson Registrator
История
+Holmes (01-2015)
46
Jenkins
Se
Se+ASe+A Se+A
Mnemonic
Content
Generators
StorekeeperWatson Registrator
Holmes
История
+Berrimor (05-2015)
47
Jenkins
Se
Se+ASe+A Se+A
Mnemonic
Content
Generators
StorekeeperWatson Registrator
Holmes
Berrimor
Сейчас
-Selenium Grid (09-2015)
48
Jenkins
Mnemonic
Content
Generators
StorekeeperWatson Registrator
Holmes
Berrimor
Se+ASe+ASe+A
NodeManager
Se+ASe+ASe+A
NodeManager
Se+ASe+ASe+A
NodeManager
Lessons learned
Debug
Debug в распределенной системе
50
• Debug
• Deployment
• Monitoring
• Log aggregation
Что делать
Что делать
51
Никита Макаров
nikita.makarov@odnoklassniki.ru
@papaminos

Contenu connexe

Tendances

Профилактика дефектов
Профилактика дефектовПрофилактика дефектов
Профилактика дефектовSQALab
 
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙСтановление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙCEE-SEC(R)
 
A labs 2009 - внедрение agile
A labs 2009 - внедрение agileA labs 2009 - внедрение agile
A labs 2009 - внедрение agileAlexey Korsun
 
ковалев нестандатное нт
ковалев    нестандатное нтковалев    нестандатное нт
ковалев нестандатное нтAlexei Lupan
 
Scrum глазами тестировщика или как создать стратегию для любой задачи
Scrum глазами тестировщика или как создать стратегию для любой задачиScrum глазами тестировщика или как создать стратегию для любой задачи
Scrum глазами тестировщика или как создать стратегию для любой задачиIT61
 
Разработка системы автоматизированного тестирования при помощи фреймворка Pro...
Разработка системы автоматизированного тестирования при помощи фреймворка Pro...Разработка системы автоматизированного тестирования при помощи фреймворка Pro...
Разработка системы автоматизированного тестирования при помощи фреймворка Pro...CEE-SEC(R)
 
Анна Книжник
Анна КнижникАнна Книжник
Анна КнижникSQALab
 
Microservices for test automation - OK.RU expirience
Microservices for test automation - OK.RU expirienceMicroservices for test automation - OK.RU expirience
Microservices for test automation - OK.RU expirienceNikita Makarov
 
Автотесты и образ мышления
Автотесты и образ мышленияАвтотесты и образ мышления
Автотесты и образ мышленияAndrei Zubov
 
20121028 seminar msr_scheduling_michail_rybalkin
20121028 seminar msr_scheduling_michail_rybalkin20121028 seminar msr_scheduling_michail_rybalkin
20121028 seminar msr_scheduling_michail_rybalkinComputer Science Club
 
Нагрузочное тестирование: Нестандартные методы анализа потока данных в прилож...
Нагрузочное тестирование: Нестандартные методы анализа потока данных в прилож...Нагрузочное тестирование: Нестандартные методы анализа потока данных в прилож...
Нагрузочное тестирование: Нестандартные методы анализа потока данных в прилож...SQALab
 
Метод No-Test-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Test-Cases: избавьтесь от тест-кейсов в тестированииМетод No-Test-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Test-Cases: избавьтесь от тест-кейсов в тестированииSQALab
 
JIRA. С добавками. Для тестировщиков
JIRA. С добавками. Для тестировщиковJIRA. С добавками. Для тестировщиков
JIRA. С добавками. Для тестировщиковSQALab
 
Тестирование на последнем рубеже
Тестирование на последнем рубежеТестирование на последнем рубеже
Тестирование на последнем рубежеSQALab
 
Александр Хайтин — Yandex Data Factory — ICBDA2016
Александр Хайтин — Yandex Data Factory — ICBDA2016Александр Хайтин — Yandex Data Factory — ICBDA2016
Александр Хайтин — Yandex Data Factory — ICBDA2016rusbase
 
Использование комбинаторного тестирования для мобильных приложений
Использование комбинаторного тестирования для мобильных приложенийИспользование комбинаторного тестирования для мобильных приложений
Использование комбинаторного тестирования для мобильных приложенийSQALab
 
Организация процесса ручного тестирования
Организация процесса ручного тестированияОрганизация процесса ручного тестирования
Организация процесса ручного тестированияIT61
 
Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Alexei Lupan
 
Ярослав Пернеровский (QA Factory/GlobalLogic):"Рукописи не горят, но и не тон...
Ярослав Пернеровский (QA Factory/GlobalLogic):"Рукописи не горят, но и не тон...Ярослав Пернеровский (QA Factory/GlobalLogic):"Рукописи не горят, но и не тон...
Ярослав Пернеровский (QA Factory/GlobalLogic):"Рукописи не горят, но и не тон...GTestClub
 
Проблемы документирования в долгосрочных проектах - хотите поговорить об этом?
Проблемы документирования в долгосрочных проектах - хотите поговорить об этом?Проблемы документирования в долгосрочных проектах - хотите поговорить об этом?
Проблемы документирования в долгосрочных проектах - хотите поговорить об этом?SQALab
 

Tendances (20)

Профилактика дефектов
Профилактика дефектовПрофилактика дефектов
Профилактика дефектов
 
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙСтановление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
 
A labs 2009 - внедрение agile
A labs 2009 - внедрение agileA labs 2009 - внедрение agile
A labs 2009 - внедрение agile
 
ковалев нестандатное нт
ковалев    нестандатное нтковалев    нестандатное нт
ковалев нестандатное нт
 
Scrum глазами тестировщика или как создать стратегию для любой задачи
Scrum глазами тестировщика или как создать стратегию для любой задачиScrum глазами тестировщика или как создать стратегию для любой задачи
Scrum глазами тестировщика или как создать стратегию для любой задачи
 
Разработка системы автоматизированного тестирования при помощи фреймворка Pro...
Разработка системы автоматизированного тестирования при помощи фреймворка Pro...Разработка системы автоматизированного тестирования при помощи фреймворка Pro...
Разработка системы автоматизированного тестирования при помощи фреймворка Pro...
 
Анна Книжник
Анна КнижникАнна Книжник
Анна Книжник
 
Microservices for test automation - OK.RU expirience
Microservices for test automation - OK.RU expirienceMicroservices for test automation - OK.RU expirience
Microservices for test automation - OK.RU expirience
 
Автотесты и образ мышления
Автотесты и образ мышленияАвтотесты и образ мышления
Автотесты и образ мышления
 
20121028 seminar msr_scheduling_michail_rybalkin
20121028 seminar msr_scheduling_michail_rybalkin20121028 seminar msr_scheduling_michail_rybalkin
20121028 seminar msr_scheduling_michail_rybalkin
 
Нагрузочное тестирование: Нестандартные методы анализа потока данных в прилож...
Нагрузочное тестирование: Нестандартные методы анализа потока данных в прилож...Нагрузочное тестирование: Нестандартные методы анализа потока данных в прилож...
Нагрузочное тестирование: Нестандартные методы анализа потока данных в прилож...
 
Метод No-Test-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Test-Cases: избавьтесь от тест-кейсов в тестированииМетод No-Test-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Test-Cases: избавьтесь от тест-кейсов в тестировании
 
JIRA. С добавками. Для тестировщиков
JIRA. С добавками. Для тестировщиковJIRA. С добавками. Для тестировщиков
JIRA. С добавками. Для тестировщиков
 
Тестирование на последнем рубеже
Тестирование на последнем рубежеТестирование на последнем рубеже
Тестирование на последнем рубеже
 
Александр Хайтин — Yandex Data Factory — ICBDA2016
Александр Хайтин — Yandex Data Factory — ICBDA2016Александр Хайтин — Yandex Data Factory — ICBDA2016
Александр Хайтин — Yandex Data Factory — ICBDA2016
 
Использование комбинаторного тестирования для мобильных приложений
Использование комбинаторного тестирования для мобильных приложенийИспользование комбинаторного тестирования для мобильных приложений
Использование комбинаторного тестирования для мобильных приложений
 
Организация процесса ручного тестирования
Организация процесса ручного тестированияОрганизация процесса ручного тестирования
Организация процесса ручного тестирования
 
Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)
 
Ярослав Пернеровский (QA Factory/GlobalLogic):"Рукописи не горят, но и не тон...
Ярослав Пернеровский (QA Factory/GlobalLogic):"Рукописи не горят, но и не тон...Ярослав Пернеровский (QA Factory/GlobalLogic):"Рукописи не горят, но и не тон...
Ярослав Пернеровский (QA Factory/GlobalLogic):"Рукописи не горят, но и не тон...
 
Проблемы документирования в долгосрочных проектах - хотите поговорить об этом?
Проблемы документирования в долгосрочных проектах - хотите поговорить об этом?Проблемы документирования в долгосрочных проектах - хотите поговорить об этом?
Проблемы документирования в долгосрочных проектах - хотите поговорить об этом?
 

Similaire à Microservices for test automation

Практическая верификация и командная работа
Практическая верификация и командная работаПрактическая верификация и командная работа
Практическая верификация и командная работаMATLAB
 
«Microservices. Как правильно делать и когда применять?»
«Microservices. Как правильно делать и когда применять?»«Microservices. Как правильно делать и когда применять?»
«Microservices. Как правильно делать и когда применять?»DataArt
 
Успешный запуск продукта: совместная работа BA, PO, PM
Успешный запуск продукта: совместная работа BA, PO, PMУспешный запуск продукта: совместная работа BA, PO, PM
Успешный запуск продукта: совместная работа BA, PO, PMAnton Vityaz
 
Антон Вітязь “Успешный запуск продукта – cовместная работа бизнес аналитика, ...
Антон Вітязь “Успешный запуск продукта – cовместная работа бизнес аналитика, ...Антон Вітязь “Успешный запуск продукта – cовместная работа бизнес аналитика, ...
Антон Вітязь “Успешный запуск продукта – cовместная работа бизнес аналитика, ...Dakiry
 
развитие бизнеса си масштабирование
развитие бизнеса си масштабированиеразвитие бизнеса си масштабирование
развитие бизнеса си масштабированиеAPPAU_Ukraine
 
Product Management: Fresh View
Product Management: Fresh ViewProduct Management: Fresh View
Product Management: Fresh ViewAnton Vityaz
 
Req Labs'2011. Коммуникация нефункциональных требований
Req Labs'2011. Коммуникация нефункциональных требованийReq Labs'2011. Коммуникация нефункциональных требований
Req Labs'2011. Коммуникация нефункциональных требованийAlexander Kalouguine
 
Roles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkovRoles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkovMaxim Tsepkov
 
Intelligent multiservice network
Intelligent multiservice networkIntelligent multiservice network
Intelligent multiservice networkKuznechiK .
 
Ideal analyst code (Software Engineering)
Ideal analyst code (Software Engineering)Ideal analyst code (Software Engineering)
Ideal analyst code (Software Engineering)Dmitry Bezuglyy
 
Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool /...
Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool /...Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool /...
Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool /...Ontico
 
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUAREТехники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARESQALab
 
10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предам10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предамSQALab
 
Система управления жизненным циклом разработки программного обеспечения Devpr...
Система управления жизненным циклом разработки программного обеспечения Devpr...Система управления жизненным циклом разработки программного обеспечения Devpr...
Система управления жизненным циклом разработки программного обеспечения Devpr...Evgeny Savitsky
 
Идеальный аналитик и почему его не может быть
Идеальный аналитик и почему его не может бытьИдеальный аналитик и почему его не может быть
Идеальный аналитик и почему его не может бытьSQALab
 
Разработка через микросервисы
Разработка через микросервисыРазработка через микросервисы
Разработка через микросервисыTKConf
 
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)Ontico
 

Similaire à Microservices for test automation (20)

Практическая верификация и командная работа
Практическая верификация и командная работаПрактическая верификация и командная работа
Практическая верификация и командная работа
 
«Microservices. Как правильно делать и когда применять?»
«Microservices. Как правильно делать и когда применять?»«Microservices. Как правильно делать и когда применять?»
«Microservices. Как правильно делать и когда применять?»
 
Успешный запуск продукта: совместная работа BA, PO, PM
Успешный запуск продукта: совместная работа BA, PO, PMУспешный запуск продукта: совместная работа BA, PO, PM
Успешный запуск продукта: совместная работа BA, PO, PM
 
Антон Вітязь “Успешный запуск продукта – cовместная работа бизнес аналитика, ...
Антон Вітязь “Успешный запуск продукта – cовместная работа бизнес аналитика, ...Антон Вітязь “Успешный запуск продукта – cовместная работа бизнес аналитика, ...
Антон Вітязь “Успешный запуск продукта – cовместная работа бизнес аналитика, ...
 
развитие бизнеса си масштабирование
развитие бизнеса си масштабированиеразвитие бизнеса си масштабирование
развитие бизнеса си масштабирование
 
Product Management: Fresh View
Product Management: Fresh ViewProduct Management: Fresh View
Product Management: Fresh View
 
Req Labs'2011. Коммуникация нефункциональных требований
Req Labs'2011. Коммуникация нефункциональных требованийReq Labs'2011. Коммуникация нефункциональных требований
Req Labs'2011. Коммуникация нефункциональных требований
 
Roles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkovRoles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkov
 
Intelligent multiservice network
Intelligent multiservice networkIntelligent multiservice network
Intelligent multiservice network
 
Professional Services в действии. Истории успеха
Professional Services в действии. Истории успеха Professional Services в действии. Истории успеха
Professional Services в действии. Истории успеха
 
Ideal analyst code (Software Engineering)
Ideal analyst code (Software Engineering)Ideal analyst code (Software Engineering)
Ideal analyst code (Software Engineering)
 
Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool /...
Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool /...Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool /...
Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool /...
 
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUAREТехники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
 
10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предам10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предам
 
Msf Dz
Msf DzMsf Dz
Msf Dz
 
Система управления жизненным циклом разработки программного обеспечения Devpr...
Система управления жизненным циклом разработки программного обеспечения Devpr...Система управления жизненным циклом разработки программного обеспечения Devpr...
Система управления жизненным циклом разработки программного обеспечения Devpr...
 
Идеальный аналитик и почему его не может быть
Идеальный аналитик и почему его не может бытьИдеальный аналитик и почему его не может быть
Идеальный аналитик и почему его не может быть
 
Разработка через микросервисы
Разработка через микросервисыРазработка через микросервисы
Разработка через микросервисы
 
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
 
SPSS Modeler
SPSS ModelerSPSS Modeler
SPSS Modeler
 

Plus de Nikita Makarov

Plus de Nikita Makarov (6)

Pandoras white box
Pandoras white boxPandoras white box
Pandoras white box
 
Cloud api
Cloud apiCloud api
Cloud api
 
Watson
WatsonWatson
Watson
 
Selenium grid. OK version
Selenium grid. OK versionSelenium grid. OK version
Selenium grid. OK version
 
Watson: Rethinking Test Reports. Selenium Camp 2014
Watson: Rethinking Test Reports. Selenium Camp 2014Watson: Rethinking Test Reports. Selenium Camp 2014
Watson: Rethinking Test Reports. Selenium Camp 2014
 
Mobile Java
Mobile JavaMobile Java
Mobile Java
 

Microservices for test automation