SlideShare a Scribd company logo
1 of 27
О тестировании распределенных систем
Никита Макаров
Разработчик
Тестировщик
Менеджер
Инженер
@papaminos
http://test-failed.blogspot.com
Теория
Long time ago, in a galaxy far away…
3
Теория
Long time ago, in a galaxy far away…
4
Теория5
Теория6
Метафора
Калькулятор
7
Метафора
Распределенный калькулятор
8
+
-
x
÷
=
Теория
Носимая электроника
9
Теория
Умные дома и интернет вещей
10
• Распределение
• по географии/ролям/мощности
• Беспроводная и проводная связь
• wifi
• nfc
• gsm (3g/edge/LTE, etc)
Теория
Характеристики
11
• Legacy (20-30 лет в продакшене - это ОК)
• Statefull vs. Stateless системы
• Offline и синхронизация данных
• Дизайн на отказ
Теория
Характеристики
12
Как это все тестировать?
• Цель тестирования та же, но:
• куча нефункциональных требований
• понимание архитектуры
• Latency, fault tolerance, network split, balancing
• Кэширование всего и eventual consistency
Практика
Так же !!!
14
Практика
Архитектура
15
Практика
Архитектура - real life
16
Практика
Нефункционал!!!
17
• Latency
• Fault tolerance
• Network split
• Restart
• Поломанные данные
• «Сумасшедшие» соседи и клиенты
Практика
Страшные слова
18
• Денормализация данных
• Polyglot persistance
• Eventual Consistency
• Кэширование
• клиент
• сервер
Практика
Отношение к данным
19
А что с инструментами?
Практика
Unit тесты зеленые
21
Практика
Любые тесты
22
• VMWare + VIX|ESX API
• VirtualBox + VirtualBox CLI
• Chaos Monkey и Simian Army
• Vagrant
• Docker
• Compose
• Swarm
Название презентации
Инструменты тестирования
23
• Anomaly Detection
• Fault Injection Testing
• Fuzzing
• Log Monitoring
• Synthetic Monitoring
Практика
Методики
24
Да, тестировать продакшен
можно!
Да, даже когда там пользователи!
Да, даже на реальных деньгах!
… только аккуратно
Практика
Про тестирование продакшена
25
• О Legacy
• Сергей Высоцкий о тестировании
микросервисной архитектуры в Spotify
• Мартин Фаулер и микросервисах и их
тестировании
• Unit-тесты внутри клиента - это ок!
• Simian Army в Netflix
Практика
Куда идти и что читать?
26
Никита Макаров
nikita.makarov@odnoklassniki.ru
@papaminos

More Related Content

What's hot

Тестирование осень 2013 лекция 4
Тестирование осень 2013 лекция 4Тестирование осень 2013 лекция 4
Тестирование осень 2013 лекция 4
Technopark
 
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙСтановление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
CEE-SEC(R)
 

What's hot (7)

Тестирование осень 2013 лекция 4
Тестирование осень 2013 лекция 4Тестирование осень 2013 лекция 4
Тестирование осень 2013 лекция 4
 
Ярослав Пернеровский (QA Factory/GlobalLogic):"Рукописи не горят, но и не тон...
Ярослав Пернеровский (QA Factory/GlobalLogic):"Рукописи не горят, но и не тон...Ярослав Пернеровский (QA Factory/GlobalLogic):"Рукописи не горят, но и не тон...
Ярослав Пернеровский (QA Factory/GlobalLogic):"Рукописи не горят, но и не тон...
 
A labs 2009 - внедрение agile
A labs 2009 - внедрение agileA labs 2009 - внедрение agile
A labs 2009 - внедрение agile
 
Ольга Лужецька - Exploratory testing: Love it or Leave it?
Ольга Лужецька - Exploratory testing: Love it or Leave it?Ольга Лужецька - Exploratory testing: Love it or Leave it?
Ольга Лужецька - Exploratory testing: Love it or Leave it?
 
Анна Книжник
Анна КнижникАнна Книжник
Анна Книжник
 
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙСтановление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
 
Проблемы документирования в долгосрочных проектах - хотите поговорить об этом?
Проблемы документирования в долгосрочных проектах - хотите поговорить об этом?Проблемы документирования в долгосрочных проектах - хотите поговорить об этом?
Проблемы документирования в долгосрочных проектах - хотите поговорить об этом?
 

Similar to тестирование распределенных систем

[jeeconf-2011] Java Platform Performance BoF
[jeeconf-2011] Java Platform Performance BoF[jeeconf-2011] Java Platform Performance BoF
[jeeconf-2011] Java Platform Performance BoF
Aleksey Shipilev
 
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
IT-Portfolio
 
микроСЕРВИСЫ: огонь, вода и медные трубы
микроСЕРВИСЫ: огонь, вода и медные трубымикроСЕРВИСЫ: огонь, вода и медные трубы
микроСЕРВИСЫ: огонь, вода и медные трубы
Aleksandr Tarasov
 
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
yaevents
 
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Ontico
 
2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels
Nikolay Samokhvalov
 
Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...
Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...
Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...
Yandex
 
Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...
Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...
Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...
Yandex
 
Daemons In Web on #devrus
Daemons In Web on #devrusDaemons In Web on #devrus
Daemons In Web on #devrus
Alex Chistyakov
 

Similar to тестирование распределенных систем (20)

[jeeconf-2011] Java Platform Performance BoF
[jeeconf-2011] Java Platform Performance BoF[jeeconf-2011] Java Platform Performance BoF
[jeeconf-2011] Java Platform Performance BoF
 
Maksym Bezuglyi "Universal highload patterns on a specific example of a game ...
Maksym Bezuglyi "Universal highload patterns on a specific example of a game ...Maksym Bezuglyi "Universal highload patterns on a specific example of a game ...
Maksym Bezuglyi "Universal highload patterns on a specific example of a game ...
 
Универсальная методика поиска неисправностей от Cisco TAC Игорь Тумкин
Универсальная методика поиска неисправностей от Cisco TAC Игорь ТумкинУниверсальная методика поиска неисправностей от Cisco TAC Игорь Тумкин
Универсальная методика поиска неисправностей от Cisco TAC Игорь Тумкин
 
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
 
микроСЕРВИСЫ: огонь, вода и медные трубы
микроСЕРВИСЫ: огонь, вода и медные трубымикроСЕРВИСЫ: огонь, вода и медные трубы
микроСЕРВИСЫ: огонь, вода и медные трубы
 
разработка бизнес приложений (7)
разработка бизнес приложений (7)разработка бизнес приложений (7)
разработка бизнес приложений (7)
 
Баба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ruБаба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ru
 
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
 
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
 
Monitoring-driven эксплуатация (rootconf2015)
Monitoring-driven эксплуатация (rootconf2015)Monitoring-driven эксплуатация (rootconf2015)
Monitoring-driven эксплуатация (rootconf2015)
 
Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET
Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NETЭволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET
Эволюция корпоративных Web приложений. Молотков Андрей D2D Just.NET
 
Андрей Зайцев - TDD в кровавом энтерпрайзе
Андрей Зайцев - TDD в кровавом энтерпрайзеАндрей Зайцев - TDD в кровавом энтерпрайзе
Андрей Зайцев - TDD в кровавом энтерпрайзе
 
2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels
 
Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...
Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...
Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...
 
Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...
Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...
Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...
 
Баба Яга против!
Баба Яга против!Баба Яга против!
Баба Яга против!
 
Слои тестового фрамеворка. Что? Где? Когда?
Слои тестового фрамеворка. Что? Где? Когда?Слои тестового фрамеворка. Что? Где? Когда?
Слои тестового фрамеворка. Что? Где? Когда?
 
Tdd in the world of big data
Tdd in the world of big dataTdd in the world of big data
Tdd in the world of big data
 
10M tests per day
10M tests per day10M tests per day
10M tests per day
 
Daemons In Web on #devrus
Daemons In Web on #devrusDaemons In Web on #devrus
Daemons In Web on #devrus
 

More from Nikita Makarov (7)

Pandoras white box
Pandoras white boxPandoras white box
Pandoras white box
 
Cloud api
Cloud apiCloud api
Cloud api
 
Watson
WatsonWatson
Watson
 
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
 
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
 

тестирование распределенных систем