Готовим Docker для Автоматизации
Тестирования
Вадим Гущенсков
Немного о себе
● Lead software test automation
engineer в Epam Systems
● 7 лет в IT и автоматизации
тестирования
● Основной фокус работы -
автоматизация Web-сервисов
Немного о проекте
Microservices
Cutting-edge
technologies
● Микро-сервис архитектура
● Заказчик технологически
подкован, любит строить
инфраструктуру используя
последние технологии.
● Весь деплой, куда-бы то ни было
происходит в Docker-контейнерах
Преимущества Docker
● Нетребовательность
к окружению
● Относительная
лёгкость установки
● Docker-образ - это
полноценный
артефакт
Developer VM
Local Server Data Center
Основные вызовы
● Каким образом встроить тестирование в
проект?
● Можем ли мы как-то улучшить
тестирование с помощью Docker?
● Как запускать наши тесты и использовать
одну и ту же версию тестов для
соответствующей версии web-сервиса.
● Как мониторить продакшен?
Окружение по-старинке
Идеальная ситуация
Стратегия тестирования
Ввести следующие уровни
тестирования:
● Изолированные
функциональные тесты
● Тесты верификации
установки - Deployment
verification test (DVT)
● Периодические “Canary”-
тесты
Подготовка артефактов
● Executable uber-jar с тестами
размещается в docker-образе с web-
сервисом
● В артефакт добавляется entrypoint.sh,
который понимает команды ‘start’ и ‘test’
● Артефакт отправляется в собственный
docker registry
Isolated testing
● Мы используем Docker-
in-Docker
● У нас есть образ со
всеми зависимостями,
которые тяжело
замокать: базы данных
(Postgres, MongoDB,
Redis), очередь
сообщений (RabbitMQ)
и другие зависимости.
● Контейнером с
изолированной средой
можно делиться
Deployment
Deployment Verification Tests
● Ноды последовательно
выводятся из кластера,
на них запускается
деплой и тесты
● Тесты запускаются на
той же ноде, что и
сервис в отдельном
docker-контейнере
● Можно ограничивать
ресурсы тестов
флагами: --memory, --
cpu-shares
Canary testing
● Всегда можно зайти на любую продакш-ноду и запустить
self-test
● При помощи Google Cloud Platform и Amazon Web
Services можно арендовать сервера в разных зонах и
запускать тесты по cron
Grafana widget для Canary
Questions

More Related Content

PPTX
selenium stack in python
PPTX
Codeception + Docker + Robo и что из этого вышло
PPTX
Docker + Selenium Webdriver в рамках Continuous Integration
PPTX
Docker + Selenium Webdriver в рамках Continuous Integration
PDF
Подводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
PPTX
Никита Галкин "Testing in Node.js World"
PDF
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
PPTX
Опыт автоматизации интеграционного тестирования и внедрения DevOps в банковск...
selenium stack in python
Codeception + Docker + Robo и что из этого вышло
Docker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous Integration
Подводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
Никита Галкин "Testing in Node.js World"
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
Опыт автоматизации интеграционного тестирования и внедрения DevOps в банковск...

What's hot (20)

PPTX
DevOps Fest 2020. Сергей Погорелов. Локально распределенное окружение разрабо...
PPTX
Test driven development in net
PDF
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...
PPTX
Kubernetes
PDF
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
PDF
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
PDF
Apache JMeter vs LoadRunner: на заре справедливости, сравнение инструментов н...
PPTX
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
PPTX
Кирилл Комлев. О реализации continuous integration для web проектов
PDF
Сергей Орлов
PPTX
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
PPTX
Web application testing architecture
PDF
Иван Крутов - Автоматизация сборки Java-проекта
PPTX
Cистемы автоматической сборки проектов (Полина Фоминых)
PDF
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
PDF
Автоматизируй это! Jenkins с fastlane под капотом
PPTX
QA Fes 2016. Александр Неделяев. Система мониторинга производительности своим...
PPTX
Тестирование REST-сервисов с применением инженерных практик
PPTX
QA Fest 2016. Александр Неделяев. Браузерные помощники тестировщика
DevOps Fest 2020. Сергей Погорелов. Локально распределенное окружение разрабо...
Test driven development in net
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...
Kubernetes
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
Apache JMeter vs LoadRunner: на заре справедливости, сравнение инструментов н...
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
Кирилл Комлев. О реализации continuous integration для web проектов
Сергей Орлов
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
Web application testing architecture
Иван Крутов - Автоматизация сборки Java-проекта
Cистемы автоматической сборки проектов (Полина Фоминых)
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Автоматизируй это! Jenkins с fastlane под капотом
QA Fes 2016. Александр Неделяев. Система мониторинга производительности своим...
Тестирование REST-сервисов с применением инженерных практик
QA Fest 2016. Александр Неделяев. Браузерные помощники тестировщика
Ad

Similar to Готовим Docker для Автоматизации Тестирования (20)

PPT
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
PDF
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
PDF
QAFest. Роль тестирования в Devops
PPTX
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
PDF
DevOps guide for awesome quality assurance
PPTX
Станислав Иващенко: “Kubernetes как облако для CI”
PPTX
Dev & test на windows azure
PDF
RST2014_Taganrog_IncodingFramework
PDF
Qulix Systems | Автоматизация функционального тестирования
PPTX
Организация эффективной работы команды при разработке и поддержке сложной инф...
PPTX
Test Driven Development in .NET Applications
PDF
IT-инфраструктура. FAQ для разработчика
PDF
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
PDF
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
PPTX
Тестирование веб-проектов в Agile
PPTX
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
PDF
Нагрузочное тестирование проектов на Drupal с использованием Apache JMeter
PPTX
Роман Василенко. Continuous delivery или как упростить себе жизнь
PDF
Презентация Экспресс42 DevOps .pdf
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QAFest. Роль тестирования в Devops
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
DevOps guide for awesome quality assurance
Станислав Иващенко: “Kubernetes как облако для CI”
Dev & test на windows azure
RST2014_Taganrog_IncodingFramework
Qulix Systems | Автоматизация функционального тестирования
Организация эффективной работы команды при разработке и поддержке сложной инф...
Test Driven Development in .NET Applications
IT-инфраструктура. FAQ для разработчика
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
Тестирование веб-проектов в Agile
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Нагрузочное тестирование проектов на Drupal с использованием Apache JMeter
Роман Василенко. Continuous delivery или как упростить себе жизнь
Презентация Экспресс42 DevOps .pdf
Ad

More from COMAQA.BY (20)

PDF
Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...
PPTX
Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...
PPTX
Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...
PPTX
Roman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важность
PPTX
Roman Iovlev. Comaqa Spring 2018. Архитектура Open Source решений для автомат...
PPTX
Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...
PPTX
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
PPTX
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
PPTX
Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.
PPTX
Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.
PPTX
Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...
PPTX
Моя роль в конфликте
PPTX
Организация приемочного тестирования силами матерых тестировщиков
PPTX
Развитие или смерть
PPTX
Системный взгляд на параллельный запуск Selenium тестов
PPTX
Эффективная работа с рутинными задачами
PPTX
Как стать синьором
PPTX
Open your mind for OpenSource
PPTX
JDI 2.0. Not only UI testing
PPTX
Out of box page object design pattern, java
Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...
Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...
Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...
Roman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важность
Roman Iovlev. Comaqa Spring 2018. Архитектура Open Source решений для автомат...
Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.
Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.
Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...
Моя роль в конфликте
Организация приемочного тестирования силами матерых тестировщиков
Развитие или смерть
Системный взгляд на параллельный запуск Selenium тестов
Эффективная работа с рутинными задачами
Как стать синьором
Open your mind for OpenSource
JDI 2.0. Not only UI testing
Out of box page object design pattern, java

Готовим Docker для Автоматизации Тестирования

  • 1. Готовим Docker для Автоматизации Тестирования Вадим Гущенсков
  • 2. Немного о себе ● Lead software test automation engineer в Epam Systems ● 7 лет в IT и автоматизации тестирования ● Основной фокус работы - автоматизация Web-сервисов
  • 3. Немного о проекте Microservices Cutting-edge technologies ● Микро-сервис архитектура ● Заказчик технологически подкован, любит строить инфраструктуру используя последние технологии. ● Весь деплой, куда-бы то ни было происходит в Docker-контейнерах
  • 4. Преимущества Docker ● Нетребовательность к окружению ● Относительная лёгкость установки ● Docker-образ - это полноценный артефакт Developer VM Local Server Data Center
  • 5. Основные вызовы ● Каким образом встроить тестирование в проект? ● Можем ли мы как-то улучшить тестирование с помощью Docker? ● Как запускать наши тесты и использовать одну и ту же версию тестов для соответствующей версии web-сервиса. ● Как мониторить продакшен?
  • 8. Стратегия тестирования Ввести следующие уровни тестирования: ● Изолированные функциональные тесты ● Тесты верификации установки - Deployment verification test (DVT) ● Периодические “Canary”- тесты
  • 9. Подготовка артефактов ● Executable uber-jar с тестами размещается в docker-образе с web- сервисом ● В артефакт добавляется entrypoint.sh, который понимает команды ‘start’ и ‘test’ ● Артефакт отправляется в собственный docker registry
  • 10. Isolated testing ● Мы используем Docker- in-Docker ● У нас есть образ со всеми зависимостями, которые тяжело замокать: базы данных (Postgres, MongoDB, Redis), очередь сообщений (RabbitMQ) и другие зависимости. ● Контейнером с изолированной средой можно делиться
  • 12. Deployment Verification Tests ● Ноды последовательно выводятся из кластера, на них запускается деплой и тесты ● Тесты запускаются на той же ноде, что и сервис в отдельном docker-контейнере ● Можно ограничивать ресурсы тестов флагами: --memory, -- cpu-shares
  • 13. Canary testing ● Всегда можно зайти на любую продакш-ноду и запустить self-test ● При помощи Google Cloud Platform и Amazon Web Services можно арендовать сервера в разных зонах и запускать тесты по cron