SlideShare a Scribd company logo
Создаем команду автотестирования в
нетипичных условиях
«Время разбрасывать камни, и время собирать камни»
Экклезиаст
Team Leader, Parallels Test Automation
Vasilii Nikishin
April 08, 2016
1
Начало
• Исходные данные
• Команда разработчиков 10 SDETов
• Собственный фрэймворк
• Собственная инфраструктура
• ~2500 тестов (~250000 тесткейсов)
• Python, Linux, Windows, Virtuozzo
• 10 лет
• Цель
• Создать новую команду
• Склонировать существующую систему
• В кратчайший срок
2
Team
Test Framework
Tests
Test HW resources
Test infrastructure
Network
Virtuozzo + Parallels
Одна команда
3
Team
Test Framework
Tests
Test HW resources
Test infrastructure
Network
Team
Virtuozzo + Parallels
Создание команды Parallels
4
Свистать всех наверх!
• Формирование команды
• 3 SDETа, 4 ручника
• Знакомство с наследием
• Технические консультации с командой
Virtuozzo, документация
• Нахождение ограничений системы по
Голдратту (TOC)
• Выявление истинных причин и ключевых
проблем ограничений
5
Принципы TOC
• Система как цепь
• Всегда существует слабое звено (ограничение системы)
• Основные усилия на устранение ограничения
• Поиск ограничений с помощью логических деревьев
• Дерево текущей реальности
• Диаграмма разрешения конфликтов
• Дерево будущей реальности
• Дерево перехода
• План преобразований
• Процесс непрерывных улучшений
• Поиск новых ограничений
6
Дерево текущей реальности
7
На буксире
• Тесты и «железо» под присмотром
• Каждому тесту по мантейнеру
• Каждой «железке» свое место
• Поддержка тестов и «железа» в
инфраструктуре Virtuozzo под строгим
контролем команды Virtuozzo.
• «Прокачка скилзов» команды
• Знакомство с проектами Parallels
• Написание тестов для новых проектов
• Митинги, техтоки
8
Team
Test Framework
Tests
Test HW resources
Test infrastructure
Network
Team
Virtuozzo + Parallels
Поддержка своих тестов и «железа»
Test HW resources
Tests
9
Организация процесса
• Взаимодействие внутри команды и с внешним
миром
• Стэндапы, спринты, постмортемы
• Jira dashboards
• Виды активностей
o Разбор багов
o Разработка новых тестов
o Поддержка инфраструктуры (дежурство)
• Области компетенции
• Раскраска спринтов
10
Области компетенции
11
Раскраска спринтов
12
Поднять паруса!
• Отправляемся в
самостоятельное плавание
• Клонируем репозиторий с тестами и
тестовым фрэймворком
• Изменяем review workflow
o Был e-mail
o Стал Stash + 2 reviewers
• Вводим сode style
13
Team
Test Framework
Tests
Test HW resources
Test infrastructure
Network
Team
Virtuozzo + Parallels
Клонирование тестового фрэймворка
Test HW resources
Tests
Test Framework
14
Полный вперёд!
• В пути
• Клонируем тестовую инфраструктуру
Virtuozzo в сеть Parallels
• Под полными парусами!
• Самостоятельно поддерживаем
унаследованную инфраструктуру
• Пишем автотесты для всех проектов
Parallels
• Разрабатываем свою инфраструктуру
15
Тестовая инфраструктура
Release
Robot
Validator
Report
Test repo
Jira
Builds
meta info
CI
Test
plans
16
Team
Test Framework
Tests
Test HW resources
Test infrastructure
Network
Team
Virtuozzo + Parallels
Перенос тестовой инфраструктуры
Test HW resources
Tests
Test Framework
Test infrastructure
Network
17
Шторм!
• Проверка на зрелость
• Переезд в новый офис
• Восстановление сервиса deploy из
архива
• Безболезненный запуск тестовой
инфраструктуры
o Подключение нод (60 шт./1 день)
o Запуск сервисов и тестов (1 день)
18
Team
Test HW resources
Test Framework
Tests
Test infrastructure
Network
Parallels
Team
Test HW resources
Test Framework
Tests
Test infrastructure
Network
Virtuozzo
Переезд в новый офис
19
Итого
• Новая команда – 8 SDETов
• Боевая система авто тестирования
• ~300 тестов(~20000 тесткейсов)
• Python, Windows, Mac OS X, Linux, iOS, Android, web
• 10 месяцев
20
Продукты и технологии
• Parallels Remote Application Server
• Python, Windows, Mac OS X, Linux, iOS, Android, web, Java, Ruby
• Parallels Desktop
• Python, Mac OS X, Linux, Windows, GUI
• Parallels Access
• Python, iOS, Android, web, , Java, Ruby
• Parallels Mac Management
• Python, Windows, MS SCCM, Mac OS X
• Parallels web site
• Python, web
21
Новые горизонты
• Выявление новых
ограничений, истинных
причин и ключевых проблем
• Ключевая проблема –
легаси-инфраструктура
• Трудно масштабировать
• Сложно поддерживать и
развивать
22
Необходима новая МИКРОСЕРВИСНАЯ
инфраструктура
Основной девиз создания новой системы:
«Всё уже написано до нас!» 
Thank you!
Василий Никишин
Team Leader, Parallels Test Automation
van@parallels.com
www.parallels.com

More Related Content

What's hot

AzovDevMeetup 2016 | Машинное обучение, параллельные и распределённые вычисле...
AzovDevMeetup 2016 | Машинное обучение, параллельные и распределённые вычисле...AzovDevMeetup 2016 | Машинное обучение, параллельные и распределённые вычисле...
AzovDevMeetup 2016 | Машинное обучение, параллельные и распределённые вычисле...
JSC “Arcadia Inc”
 
Автоматическое тестирование Web api
Автоматическое тестирование Web apiАвтоматическое тестирование Web api
Автоматическое тестирование Web api
Igor Lyubin
 
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
JSC “Arcadia Inc”
 
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
CEE-SEC(R)
 
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous DeliveryJenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
SQALab
 
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Ontico
 
КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"
КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"
КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"Alexander Akbashev
 
Повышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииПовышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документации
CEE-SEC(R)
 
Организация процесса ручного тестирования
Организация процесса ручного тестированияОрганизация процесса ручного тестирования
Организация процесса ручного тестирования
IT61
 
Артем Титаренко
Артем ТитаренкоАртем Титаренко
Артем Титаренко
CodeFest
 
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
Багфиксинг процесса разработки в iOS: взгляд с двух сторонБагфиксинг процесса разработки в iOS: взгляд с двух сторон
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
Badoo Development
 
Python Development process in Yandex
Python Development process in YandexPython Development process in Yandex
Python Development process in Yandex
aviatakz
 
Visual Studio Team Services /TFS helps doing devops
Visual Studio Team Services /TFS helps doing devops Visual Studio Team Services /TFS helps doing devops
Visual Studio Team Services /TFS helps doing devops
Konstantin Neradovsky
 
Scrum глазами тестировщика или как создать стратегию для любой задачи
Scrum глазами тестировщика или как создать стратегию для любой задачиScrum глазами тестировщика или как создать стратегию для любой задачи
Scrum глазами тестировщика или как создать стратегию для любой задачи
IT61
 
Python tools for web development (Python meetup Almaty #ALAPY)
Python tools for web development (Python meetup Almaty #ALAPY)Python tools for web development (Python meetup Almaty #ALAPY)
Python tools for web development (Python meetup Almaty #ALAPY)
aviatakz
 
Selenium grid on-demand
Selenium grid on-demandSelenium grid on-demand
Selenium grid on-demand
SQALab
 
Масло масляное или Тестируем тестирование
Масло масляное или Тестируем тестированиеМасло масляное или Тестируем тестирование
Масло масляное или Тестируем тестирование2ГИС Технологии
 
Keyword driven testing
Keyword driven testingKeyword driven testing
Keyword driven testing
automated-testing.info
 
Github Flow. Тестировщики против тестирования
Github Flow. Тестировщики против тестированияGithub Flow. Тестировщики против тестирования
Github Flow. Тестировщики против тестирования
SQALab
 
Наталья Медведева - Тестировщик на все руки в Scrum-команде
Наталья Медведева - Тестировщик на все руки в Scrum-командеНаталья Медведева - Тестировщик на все руки в Scrum-команде
Наталья Медведева - Тестировщик на все руки в Scrum-команде
SQALab
 

What's hot (20)

AzovDevMeetup 2016 | Машинное обучение, параллельные и распределённые вычисле...
AzovDevMeetup 2016 | Машинное обучение, параллельные и распределённые вычисле...AzovDevMeetup 2016 | Машинное обучение, параллельные и распределённые вычисле...
AzovDevMeetup 2016 | Машинное обучение, параллельные и распределённые вычисле...
 
Автоматическое тестирование Web api
Автоматическое тестирование Web apiАвтоматическое тестирование Web api
Автоматическое тестирование Web api
 
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
 
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
Jenkins 2. Как сделать мажорный релиз и не развалить сообщество?
 
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous DeliveryJenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
 
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
 
КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"
КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"
КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"
 
Повышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииПовышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документации
 
Организация процесса ручного тестирования
Организация процесса ручного тестированияОрганизация процесса ручного тестирования
Организация процесса ручного тестирования
 
Артем Титаренко
Артем ТитаренкоАртем Титаренко
Артем Титаренко
 
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
Багфиксинг процесса разработки в iOS: взгляд с двух сторонБагфиксинг процесса разработки в iOS: взгляд с двух сторон
Багфиксинг процесса разработки в iOS: взгляд с двух сторон
 
Python Development process in Yandex
Python Development process in YandexPython Development process in Yandex
Python Development process in Yandex
 
Visual Studio Team Services /TFS helps doing devops
Visual Studio Team Services /TFS helps doing devops Visual Studio Team Services /TFS helps doing devops
Visual Studio Team Services /TFS helps doing devops
 
Scrum глазами тестировщика или как создать стратегию для любой задачи
Scrum глазами тестировщика или как создать стратегию для любой задачиScrum глазами тестировщика или как создать стратегию для любой задачи
Scrum глазами тестировщика или как создать стратегию для любой задачи
 
Python tools for web development (Python meetup Almaty #ALAPY)
Python tools for web development (Python meetup Almaty #ALAPY)Python tools for web development (Python meetup Almaty #ALAPY)
Python tools for web development (Python meetup Almaty #ALAPY)
 
Selenium grid on-demand
Selenium grid on-demandSelenium grid on-demand
Selenium grid on-demand
 
Масло масляное или Тестируем тестирование
Масло масляное или Тестируем тестированиеМасло масляное или Тестируем тестирование
Масло масляное или Тестируем тестирование
 
Keyword driven testing
Keyword driven testingKeyword driven testing
Keyword driven testing
 
Github Flow. Тестировщики против тестирования
Github Flow. Тестировщики против тестированияGithub Flow. Тестировщики против тестирования
Github Flow. Тестировщики против тестирования
 
Наталья Медведева - Тестировщик на все руки в Scrum-команде
Наталья Медведева - Тестировщик на все руки в Scrum-командеНаталья Медведева - Тестировщик на все руки в Scrum-команде
Наталья Медведева - Тестировщик на все руки в Scrum-команде
 

Viewers also liked

Moira: Realtime alerting, Алексей Ларьков, СКБ Контур
 Moira: Realtime alerting, Алексей Ларьков, СКБ Контур  Moira: Realtime alerting, Алексей Ларьков, СКБ Контур
Moira: Realtime alerting, Алексей Ларьков, СКБ Контур
it-people
 
Автоматизация инфраструктуры. Зачем мы это делаем? Денис Яковлев, 2ГИС, Ново...
 Автоматизация инфраструктуры. Зачем мы это делаем? Денис Яковлев, 2ГИС, Ново... Автоматизация инфраструктуры. Зачем мы это делаем? Денис Яковлев, 2ГИС, Ново...
Автоматизация инфраструктуры. Зачем мы это делаем? Денис Яковлев, 2ГИС, Ново...
it-people
 
Профилирование распределенных систем, Александр Казаков, СКБ Контур
 Профилирование распределенных систем, Александр Казаков, СКБ Контур  Профилирование распределенных систем, Александр Казаков, СКБ Контур
Профилирование распределенных систем, Александр Казаков, СКБ Контур
it-people
 
Релиз-инжениринг Mail.ru. Взгляд изнутри. Максим Глеков, Mail.Ru Group, Москва
 Релиз-инжениринг Mail.ru. Взгляд изнутри. Максим Глеков, Mail.Ru Group, Москва  Релиз-инжениринг Mail.ru. Взгляд изнутри. Максим Глеков, Mail.Ru Group, Москва
Релиз-инжениринг Mail.ru. Взгляд изнутри. Максим Глеков, Mail.Ru Group, Москва
it-people
 
Continuous Integration под микроскопом, Александр Кириллов, Evrone, Саратов
 Continuous Integration под микроскопом, Александр Кириллов, Evrone, Саратов  Continuous Integration под микроскопом, Александр Кириллов, Evrone, Саратов
Continuous Integration под микроскопом, Александр Кириллов, Evrone, Саратов
it-people
 
Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Аб...
 Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Аб... Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Аб...
Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Аб...
it-people
 
QAradise, Евгений Сабиров, Хост
 QAradise, Евгений Сабиров, Хост  QAradise, Евгений Сабиров, Хост
QAradise, Евгений Сабиров, Хост
it-people
 
Правильно тестируем сетевую часть мобильного приложения, Андрей Усов, 2ГИС, ...
 Правильно тестируем сетевую часть мобильного приложения, Андрей Усов, 2ГИС, ... Правильно тестируем сетевую часть мобильного приложения, Андрей Усов, 2ГИС, ...
Правильно тестируем сетевую часть мобильного приложения, Андрей Усов, 2ГИС, ...
it-people
 
YoctoDB в Яндекс.Вертикалях
YoctoDB в Яндекс.ВертикаляхYoctoDB в Яндекс.Вертикалях
YoctoDB в Яндекс.Вертикалях
CEE-SEC(R)
 

Viewers also liked (9)

Moira: Realtime alerting, Алексей Ларьков, СКБ Контур
 Moira: Realtime alerting, Алексей Ларьков, СКБ Контур  Moira: Realtime alerting, Алексей Ларьков, СКБ Контур
Moira: Realtime alerting, Алексей Ларьков, СКБ Контур
 
Автоматизация инфраструктуры. Зачем мы это делаем? Денис Яковлев, 2ГИС, Ново...
 Автоматизация инфраструктуры. Зачем мы это делаем? Денис Яковлев, 2ГИС, Ново... Автоматизация инфраструктуры. Зачем мы это делаем? Денис Яковлев, 2ГИС, Ново...
Автоматизация инфраструктуры. Зачем мы это делаем? Денис Яковлев, 2ГИС, Ново...
 
Профилирование распределенных систем, Александр Казаков, СКБ Контур
 Профилирование распределенных систем, Александр Казаков, СКБ Контур  Профилирование распределенных систем, Александр Казаков, СКБ Контур
Профилирование распределенных систем, Александр Казаков, СКБ Контур
 
Релиз-инжениринг Mail.ru. Взгляд изнутри. Максим Глеков, Mail.Ru Group, Москва
 Релиз-инжениринг Mail.ru. Взгляд изнутри. Максим Глеков, Mail.Ru Group, Москва  Релиз-инжениринг Mail.ru. Взгляд изнутри. Максим Глеков, Mail.Ru Group, Москва
Релиз-инжениринг Mail.ru. Взгляд изнутри. Максим Глеков, Mail.Ru Group, Москва
 
Continuous Integration под микроскопом, Александр Кириллов, Evrone, Саратов
 Continuous Integration под микроскопом, Александр Кириллов, Evrone, Саратов  Continuous Integration под микроскопом, Александр Кириллов, Evrone, Саратов
Continuous Integration под микроскопом, Александр Кириллов, Evrone, Саратов
 
Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Аб...
 Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Аб... Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Аб...
Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Аб...
 
QAradise, Евгений Сабиров, Хост
 QAradise, Евгений Сабиров, Хост  QAradise, Евгений Сабиров, Хост
QAradise, Евгений Сабиров, Хост
 
Правильно тестируем сетевую часть мобильного приложения, Андрей Усов, 2ГИС, ...
 Правильно тестируем сетевую часть мобильного приложения, Андрей Усов, 2ГИС, ... Правильно тестируем сетевую часть мобильного приложения, Андрей Усов, 2ГИС, ...
Правильно тестируем сетевую часть мобильного приложения, Андрей Усов, 2ГИС, ...
 
YoctoDB в Яндекс.Вертикалях
YoctoDB в Яндекс.ВертикаляхYoctoDB в Яндекс.Вертикалях
YoctoDB в Яндекс.Вертикалях
 

Similar to Создаем команду автотестирования в нетипичных условиях, Василий Никишин, Parallels, Таллин

Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"
Tanya Denisyuk
 
Процессы разработки в Яндексе
Процессы разработки в ЯндексеПроцессы разработки в Яндексе
Процессы разработки в Яндексе
Andrey Kazarinov
 
Нагрузочное тестирование с помощью Яндекс.Танка
Нагрузочное тестирование с помощью Яндекс.ТанкаНагрузочное тестирование с помощью Яндекс.Танка
Нагрузочное тестирование с помощью Яндекс.ТанкаAleksandr Boichenko
 
Александр Ярулин - Автоматизация тестирования с xUnit
Александр Ярулин - Автоматизация тестирования с xUnitАлександр Ярулин - Автоматизация тестирования с xUnit
Александр Ярулин - Автоматизация тестирования с xUnitYandex
 
Приемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на CachéПриемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на Caché
InterSystems CEE
 
Caché github continuous intergration
Caché github continuous intergrationCaché github continuous intergration
Caché github continuous intergration
InterSystems
 
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙСтановление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
CEE-SEC(R)
 
Zero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeZero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And Forge
Yehor Herasymchuk
 
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
Ontico
 
непрерывная интеграция шаг к непрерывному деплою родионов игорь
непрерывная интеграция   шаг к непрерывному деплою родионов игорьнепрерывная интеграция   шаг к непрерывному деплою родионов игорь
непрерывная интеграция шаг к непрерывному деплою родионов игорьdrupalconf
 
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON
 
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...Ontico
 
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...Ontico
 
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Ontico
 
Тест-план и исследовательское тестирование
Тест-план и исследовательское тестированиеТест-план и исследовательское тестирование
Тест-план и исследовательское тестирование
Vasiliy Burov
 
So Your WAF Needs a Parser
So Your WAF Needs a ParserSo Your WAF Needs a Parser
So Your WAF Needs a Parser
yalegko
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Ontico
 
Simonova CSEDays
Simonova CSEDaysSimonova CSEDays
Simonova CSEDaysLiloSEA
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDaysLiloSEA
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDaysLiloSEA
 

Similar to Создаем команду автотестирования в нетипичных условиях, Василий Никишин, Parallels, Таллин (20)

Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"
 
Процессы разработки в Яндексе
Процессы разработки в ЯндексеПроцессы разработки в Яндексе
Процессы разработки в Яндексе
 
Нагрузочное тестирование с помощью Яндекс.Танка
Нагрузочное тестирование с помощью Яндекс.ТанкаНагрузочное тестирование с помощью Яндекс.Танка
Нагрузочное тестирование с помощью Яндекс.Танка
 
Александр Ярулин - Автоматизация тестирования с xUnit
Александр Ярулин - Автоматизация тестирования с xUnitАлександр Ярулин - Автоматизация тестирования с xUnit
Александр Ярулин - Автоматизация тестирования с xUnit
 
Приемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на CachéПриемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на Caché
 
Caché github continuous intergration
Caché github continuous intergrationCaché github continuous intergration
Caché github continuous intergration
 
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙСтановление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
 
Zero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeZero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And Forge
 
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
 
непрерывная интеграция шаг к непрерывному деплою родионов игорь
непрерывная интеграция   шаг к непрерывному деплою родионов игорьнепрерывная интеграция   шаг к непрерывному деплою родионов игорь
непрерывная интеграция шаг к непрерывному деплою родионов игорь
 
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
 
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
 
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
 
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
 
Тест-план и исследовательское тестирование
Тест-план и исследовательское тестированиеТест-план и исследовательское тестирование
Тест-план и исследовательское тестирование
 
So Your WAF Needs a Parser
So Your WAF Needs a ParserSo Your WAF Needs a Parser
So Your WAF Needs a Parser
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
Simonova CSEDays
Simonova CSEDaysSimonova CSEDays
Simonova CSEDays
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDays
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDays
 

More from it-people

«Про аналитику и серебряные пули» Александр Подсобляев, Rambler&Co
«Про аналитику и серебряные пули» Александр Подсобляев, Rambler&Co«Про аналитику и серебряные пули» Александр Подсобляев, Rambler&Co
«Про аналитику и серебряные пули» Александр Подсобляев, Rambler&Co
it-people
 
«Scrapy internals» Александр Сибиряков, Scrapinghub
«Scrapy internals» Александр Сибиряков, Scrapinghub«Scrapy internals» Александр Сибиряков, Scrapinghub
«Scrapy internals» Александр Сибиряков, Scrapinghub
it-people
 
«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains
«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains
«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains
it-people
 
«Gevent — быть или не быть?» Александр Мокров, Positive Technologies
«Gevent — быть или не быть?» Александр Мокров, Positive Technologies«Gevent — быть или не быть?» Александр Мокров, Positive Technologies
«Gevent — быть или не быть?» Александр Мокров, Positive Technologies
it-people
 
«Ещё один Поиск Яндекса» Александр Кошелев, Яндекс
«Ещё один Поиск Яндекса» Александр Кошелев, Яндекс«Ещё один Поиск Яндекса» Александр Кошелев, Яндекс
«Ещё один Поиск Яндекса» Александр Кошелев, Яндекс
it-people
 
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
it-people
 
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
it-people
 
«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...
«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...
«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...
it-people
 
«Тотальный контроль производительности» Михаил Юматов, ЦИАН
«Тотальный контроль производительности» Михаил Юматов, ЦИАН«Тотальный контроль производительности» Михаил Юматов, ЦИАН
«Тотальный контроль производительности» Михаил Юматов, ЦИАН
it-people
 
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
it-people
 
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
it-people
 
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
it-people
 
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
it-people
 
«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies
«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies
«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies
it-people
 
«PyWat. А хорошо ли вы знаете Python?» Александр Швец, Marilyn System
«PyWat. А хорошо ли вы знаете Python?» Александр Швец, Marilyn System«PyWat. А хорошо ли вы знаете Python?» Александр Швец, Marilyn System
«PyWat. А хорошо ли вы знаете Python?» Александр Швец, Marilyn System
it-people
 
«(Без)опасный Python», Иван Цыганов, Positive Technologies
«(Без)опасный Python», Иван Цыганов, Positive Technologies«(Без)опасный Python», Иван Цыганов, Positive Technologies
«(Без)опасный Python», Иван Цыганов, Positive Technologies
it-people
 
«Python of Things», Кирилл Борисов, Яндекс
«Python of Things», Кирилл Борисов, Яндекс«Python of Things», Кирилл Борисов, Яндекс
«Python of Things», Кирилл Борисов, Яндекс
it-people
 
«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...
«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...
«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...
it-people
 
«Клиенту и серверу нужно поговорить» Прокопов Никита, Cognician
«Клиенту и серверу нужно поговорить» Прокопов Никита, Cognician«Клиенту и серверу нужно поговорить» Прокопов Никита, Cognician
«Клиенту и серверу нужно поговорить» Прокопов Никита, Cognician
it-people
 
«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...
«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...
«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...
it-people
 

More from it-people (20)

«Про аналитику и серебряные пули» Александр Подсобляев, Rambler&Co
«Про аналитику и серебряные пули» Александр Подсобляев, Rambler&Co«Про аналитику и серебряные пули» Александр Подсобляев, Rambler&Co
«Про аналитику и серебряные пули» Александр Подсобляев, Rambler&Co
 
«Scrapy internals» Александр Сибиряков, Scrapinghub
«Scrapy internals» Александр Сибиряков, Scrapinghub«Scrapy internals» Александр Сибиряков, Scrapinghub
«Scrapy internals» Александр Сибиряков, Scrapinghub
 
«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains
«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains
«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrains
 
«Gevent — быть или не быть?» Александр Мокров, Positive Technologies
«Gevent — быть или не быть?» Александр Мокров, Positive Technologies«Gevent — быть или не быть?» Александр Мокров, Positive Technologies
«Gevent — быть или не быть?» Александр Мокров, Positive Technologies
 
«Ещё один Поиск Яндекса» Александр Кошелев, Яндекс
«Ещё один Поиск Яндекса» Александр Кошелев, Яндекс«Ещё один Поиск Яндекса» Александр Кошелев, Яндекс
«Ещё один Поиск Яндекса» Александр Кошелев, Яндекс
 
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
 
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
«Write once run anywhere — почём опиум для народа?» Игорь Новиков, Scalr
 
«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...
«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...
«Gensim — тематическое моделирование для людей» Иван Меньших, Лев Константино...
 
«Тотальный контроль производительности» Михаил Юматов, ЦИАН
«Тотальный контроль производительности» Михаил Юматов, ЦИАН«Тотальный контроль производительности» Михаил Юматов, ЦИАН
«Тотальный контроль производительности» Михаил Юматов, ЦИАН
 
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
 
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
«Микросервисы наносят ответный удар!» Олег Чуркин, Rambler&Co
 
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
 
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
 
«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies
«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies
«Python на острие бритвы: PyPy project» Александр Кошкин, Positive Technologies
 
«PyWat. А хорошо ли вы знаете Python?» Александр Швец, Marilyn System
«PyWat. А хорошо ли вы знаете Python?» Александр Швец, Marilyn System«PyWat. А хорошо ли вы знаете Python?» Александр Швец, Marilyn System
«PyWat. А хорошо ли вы знаете Python?» Александр Швец, Marilyn System
 
«(Без)опасный Python», Иван Цыганов, Positive Technologies
«(Без)опасный Python», Иван Цыганов, Positive Technologies«(Без)опасный Python», Иван Цыганов, Positive Technologies
«(Без)опасный Python», Иван Цыганов, Positive Technologies
 
«Python of Things», Кирилл Борисов, Яндекс
«Python of Things», Кирилл Борисов, Яндекс«Python of Things», Кирилл Борисов, Яндекс
«Python of Things», Кирилл Борисов, Яндекс
 
«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...
«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...
«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...
 
«Клиенту и серверу нужно поговорить» Прокопов Никита, Cognician
«Клиенту и серверу нужно поговорить» Прокопов Никита, Cognician«Клиенту и серверу нужно поговорить» Прокопов Никита, Cognician
«Клиенту и серверу нужно поговорить» Прокопов Никита, Cognician
 
«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...
«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...
«Кошелек или деньги: сложный выбор между памятью и процессором» Алексеенко Иг...
 

Создаем команду автотестирования в нетипичных условиях, Василий Никишин, Parallels, Таллин

  • 1. Создаем команду автотестирования в нетипичных условиях «Время разбрасывать камни, и время собирать камни» Экклезиаст Team Leader, Parallels Test Automation Vasilii Nikishin April 08, 2016
  • 2. 1 Начало • Исходные данные • Команда разработчиков 10 SDETов • Собственный фрэймворк • Собственная инфраструктура • ~2500 тестов (~250000 тесткейсов) • Python, Linux, Windows, Virtuozzo • 10 лет • Цель • Создать новую команду • Склонировать существующую систему • В кратчайший срок
  • 3. 2 Team Test Framework Tests Test HW resources Test infrastructure Network Virtuozzo + Parallels Одна команда
  • 4. 3 Team Test Framework Tests Test HW resources Test infrastructure Network Team Virtuozzo + Parallels Создание команды Parallels
  • 5. 4 Свистать всех наверх! • Формирование команды • 3 SDETа, 4 ручника • Знакомство с наследием • Технические консультации с командой Virtuozzo, документация • Нахождение ограничений системы по Голдратту (TOC) • Выявление истинных причин и ключевых проблем ограничений
  • 6. 5 Принципы TOC • Система как цепь • Всегда существует слабое звено (ограничение системы) • Основные усилия на устранение ограничения • Поиск ограничений с помощью логических деревьев • Дерево текущей реальности • Диаграмма разрешения конфликтов • Дерево будущей реальности • Дерево перехода • План преобразований • Процесс непрерывных улучшений • Поиск новых ограничений
  • 8. 7 На буксире • Тесты и «железо» под присмотром • Каждому тесту по мантейнеру • Каждой «железке» свое место • Поддержка тестов и «железа» в инфраструктуре Virtuozzo под строгим контролем команды Virtuozzo. • «Прокачка скилзов» команды • Знакомство с проектами Parallels • Написание тестов для новых проектов • Митинги, техтоки
  • 9. 8 Team Test Framework Tests Test HW resources Test infrastructure Network Team Virtuozzo + Parallels Поддержка своих тестов и «железа» Test HW resources Tests
  • 10. 9 Организация процесса • Взаимодействие внутри команды и с внешним миром • Стэндапы, спринты, постмортемы • Jira dashboards • Виды активностей o Разбор багов o Разработка новых тестов o Поддержка инфраструктуры (дежурство) • Области компетенции • Раскраска спринтов
  • 13. 12 Поднять паруса! • Отправляемся в самостоятельное плавание • Клонируем репозиторий с тестами и тестовым фрэймворком • Изменяем review workflow o Был e-mail o Стал Stash + 2 reviewers • Вводим сode style
  • 14. 13 Team Test Framework Tests Test HW resources Test infrastructure Network Team Virtuozzo + Parallels Клонирование тестового фрэймворка Test HW resources Tests Test Framework
  • 15. 14 Полный вперёд! • В пути • Клонируем тестовую инфраструктуру Virtuozzo в сеть Parallels • Под полными парусами! • Самостоятельно поддерживаем унаследованную инфраструктуру • Пишем автотесты для всех проектов Parallels • Разрабатываем свою инфраструктуру
  • 17. 16 Team Test Framework Tests Test HW resources Test infrastructure Network Team Virtuozzo + Parallels Перенос тестовой инфраструктуры Test HW resources Tests Test Framework Test infrastructure Network
  • 18. 17 Шторм! • Проверка на зрелость • Переезд в новый офис • Восстановление сервиса deploy из архива • Безболезненный запуск тестовой инфраструктуры o Подключение нод (60 шт./1 день) o Запуск сервисов и тестов (1 день)
  • 19. 18 Team Test HW resources Test Framework Tests Test infrastructure Network Parallels Team Test HW resources Test Framework Tests Test infrastructure Network Virtuozzo Переезд в новый офис
  • 20. 19 Итого • Новая команда – 8 SDETов • Боевая система авто тестирования • ~300 тестов(~20000 тесткейсов) • Python, Windows, Mac OS X, Linux, iOS, Android, web • 10 месяцев
  • 21. 20 Продукты и технологии • Parallels Remote Application Server • Python, Windows, Mac OS X, Linux, iOS, Android, web, Java, Ruby • Parallels Desktop • Python, Mac OS X, Linux, Windows, GUI • Parallels Access • Python, iOS, Android, web, , Java, Ruby • Parallels Mac Management • Python, Windows, MS SCCM, Mac OS X • Parallels web site • Python, web
  • 22. 21 Новые горизонты • Выявление новых ограничений, истинных причин и ключевых проблем • Ключевая проблема – легаси-инфраструктура • Трудно масштабировать • Сложно поддерживать и развивать
  • 23. 22 Необходима новая МИКРОСЕРВИСНАЯ инфраструктура Основной девиз создания новой системы: «Всё уже написано до нас!» 
  • 24. Thank you! Василий Никишин Team Leader, Parallels Test Automation van@parallels.com www.parallels.com