SlideShare a Scribd company logo
1 of 24
Создаем команду автотестирования в
нетипичных условиях
«Время разбрасывать камни, и время собирать камни»
Экклезиаст
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

Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)
Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)
Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)Ontico
 
Selenium grid on-demand
Selenium grid on-demandSelenium grid on-demand
Selenium grid on-demandSQALab
 
Будни тестирования Cassandr-ы
Будни тестирования Cassandr-ыБудни тестирования Cassandr-ы
Будни тестирования Cassandr-ыSQALab
 
Доклад Ильи Кудинова на РИТ++ 2013. "Оптимальная параллелизация юнит тестов в...
Доклад Ильи Кудинова на РИТ++ 2013. "Оптимальная параллелизация юнит тестов в...Доклад Ильи Кудинова на РИТ++ 2013. "Оптимальная параллелизация юнит тестов в...
Доклад Ильи Кудинова на РИТ++ 2013. "Оптимальная параллелизация юнит тестов в...Badoo Development
 
Безопасность Node.js / Илья Вербицкий (Независимый консультант)
Безопасность Node.js / Илья Вербицкий (Независимый консультант)Безопасность Node.js / Илья Вербицкий (Независимый консультант)
Безопасность Node.js / Илья Вербицкий (Независимый консультант)Ontico
 
Андрей Денисов – В ожидании мониторинга баз данных
Андрей Денисов – В ожидании мониторинга баз данныхАндрей Денисов – В ожидании мониторинга баз данных
Андрей Денисов – В ожидании мониторинга баз данныхBadoo Development
 
Хайлоад и безопасность в мире DevOps: совместимы ли? / Юрий Колесов (security...
Хайлоад и безопасность в мире DevOps: совместимы ли? / Юрий Колесов (security...Хайлоад и безопасность в мире DevOps: совместимы ли? / Юрий Колесов (security...
Хайлоад и безопасность в мире DevOps: совместимы ли? / Юрий Колесов (security...Ontico
 
Артём Ерошенко «Рецепт приготовления облачных тестингов»
Артём Ерошенко «Рецепт приготовления облачных тестингов»Артём Ерошенко «Рецепт приготовления облачных тестингов»
Артём Ерошенко «Рецепт приготовления облачных тестингов»WrikeTechClub
 
Zabbix и миллионы метрик: наилучший опыт масштабного мониторинга / Алексей Вл...
Zabbix и миллионы метрик: наилучший опыт масштабного мониторинга / Алексей Вл...Zabbix и миллионы метрик: наилучший опыт масштабного мониторинга / Алексей Вл...
Zabbix и миллионы метрик: наилучший опыт масштабного мониторинга / Алексей Вл...Ontico
 
Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015
Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015
Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015Zabbix
 
CI для тестировщиков или как отказаться от релизов
CI для тестировщиков или как отказаться от релизовCI для тестировщиков или как отказаться от релизов
CI для тестировщиков или как отказаться от релизовSQALab
 
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)Ontico
 
Инструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщикаИнструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщикаSQALab
 
Всевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и Grafana
Всевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и GrafanaВсевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и Grafana
Всевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и GrafanaSQALab
 
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...IT-Portfolio
 
Денис Иванов
Денис ИвановДенис Иванов
Денис ИвановCodeFest
 
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...SQALab
 
Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...
Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...
Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...Ontico
 
Доклад Ильи Аблеева на DevOps Meetup "Мониторинг высоконагруженного проекта".
Доклад Ильи Аблеева на DevOps Meetup "Мониторинг высоконагруженного проекта".Доклад Ильи Аблеева на DevOps Meetup "Мониторинг высоконагруженного проекта".
Доклад Ильи Аблеева на DevOps Meetup "Мониторинг высоконагруженного проекта".Badoo Development
 

What's hot (20)

Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)
Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)
Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)
 
Selenium grid on-demand
Selenium grid on-demandSelenium grid on-demand
Selenium grid on-demand
 
Будни тестирования Cassandr-ы
Будни тестирования Cassandr-ыБудни тестирования Cassandr-ы
Будни тестирования Cassandr-ы
 
Доклад Ильи Кудинова на РИТ++ 2013. "Оптимальная параллелизация юнит тестов в...
Доклад Ильи Кудинова на РИТ++ 2013. "Оптимальная параллелизация юнит тестов в...Доклад Ильи Кудинова на РИТ++ 2013. "Оптимальная параллелизация юнит тестов в...
Доклад Ильи Кудинова на РИТ++ 2013. "Оптимальная параллелизация юнит тестов в...
 
Безопасность Node.js / Илья Вербицкий (Независимый консультант)
Безопасность Node.js / Илья Вербицкий (Независимый консультант)Безопасность Node.js / Илья Вербицкий (Независимый консультант)
Безопасность Node.js / Илья Вербицкий (Независимый консультант)
 
Андрей Денисов – В ожидании мониторинга баз данных
Андрей Денисов – В ожидании мониторинга баз данныхАндрей Денисов – В ожидании мониторинга баз данных
Андрей Денисов – В ожидании мониторинга баз данных
 
Хайлоад и безопасность в мире DevOps: совместимы ли? / Юрий Колесов (security...
Хайлоад и безопасность в мире DevOps: совместимы ли? / Юрий Колесов (security...Хайлоад и безопасность в мире DevOps: совместимы ли? / Юрий Колесов (security...
Хайлоад и безопасность в мире DevOps: совместимы ли? / Юрий Колесов (security...
 
Артём Ерошенко «Рецепт приготовления облачных тестингов»
Артём Ерошенко «Рецепт приготовления облачных тестингов»Артём Ерошенко «Рецепт приготовления облачных тестингов»
Артём Ерошенко «Рецепт приготовления облачных тестингов»
 
Zabbix и миллионы метрик: наилучший опыт масштабного мониторинга / Алексей Вл...
Zabbix и миллионы метрик: наилучший опыт масштабного мониторинга / Алексей Вл...Zabbix и миллионы метрик: наилучший опыт масштабного мониторинга / Алексей Вл...
Zabbix и миллионы метрик: наилучший опыт масштабного мониторинга / Алексей Вл...
 
Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015
Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015
Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015
 
CI для тестировщиков или как отказаться от релизов
CI для тестировщиков или как отказаться от релизовCI для тестировщиков или как отказаться от релизов
CI для тестировщиков или как отказаться от релизов
 
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)
Как подружить команду админов с N командами разработки / Денис Яковлев (2ГИС)
 
10M tests per day
10M tests per day10M tests per day
10M tests per day
 
Инструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщикаИнструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщика
 
Всевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и Grafana
Всевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и GrafanaВсевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и Grafana
Всевидящее око. Мониторинг нагрузочного тестирования с InfluxDB и Grafana
 
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
 
Денис Иванов
Денис ИвановДенис Иванов
Денис Иванов
 
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
 
Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...
Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...
Продуктовые проблемы при создании очередной Docker PaaS / Владимир Ярцев (Cas...
 
Доклад Ильи Аблеева на DevOps Meetup "Мониторинг высоконагруженного проекта".
Доклад Ильи Аблеева на DevOps Meetup "Мониторинг высоконагруженного проекта".Доклад Ильи Аблеева на DevOps Meetup "Мониторинг высоконагруженного проекта".
Доклад Ильи Аблеева на DevOps Meetup "Мониторинг высоконагруженного проекта".
 

Viewers also liked (15)

Ana tecno vida
Ana tecno vidaAna tecno vida
Ana tecno vida
 
Presentacion
PresentacionPresentacion
Presentacion
 
how did the soviets defeat the wehrmact
how did the soviets defeat the wehrmacthow did the soviets defeat the wehrmact
how did the soviets defeat the wehrmact
 
Guia taller grado (3)
Guia taller grado (3)Guia taller grado (3)
Guia taller grado (3)
 
mahmoud salah
mahmoud salahmahmoud salah
mahmoud salah
 
Six Sigma Green Belt
Six Sigma Green BeltSix Sigma Green Belt
Six Sigma Green Belt
 
Curriculum Vita
Curriculum VitaCurriculum Vita
Curriculum Vita
 
Teories de l'evolució
Teories de l'evolucióTeories de l'evolució
Teories de l'evolució
 
Zimmer Biomet Impact Award 3
Zimmer Biomet Impact Award 3Zimmer Biomet Impact Award 3
Zimmer Biomet Impact Award 3
 
TRABAJO COLABORATIVO
TRABAJO COLABORATIVOTRABAJO COLABORATIVO
TRABAJO COLABORATIVO
 
El conflicto y los equipos de trabajo
El conflicto y los equipos de trabajoEl conflicto y los equipos de trabajo
El conflicto y los equipos de trabajo
 
O paso á eso
O paso á eso O paso á eso
O paso á eso
 
4 Ways to Make your Brain More Vibrant with Visuals
4 Ways to Make your Brain More Vibrant with Visuals4 Ways to Make your Brain More Vibrant with Visuals
4 Ways to Make your Brain More Vibrant with Visuals
 
Trabajo colaborativo Final Historia de la Psicología UNAD 2015 - 2 .
Trabajo colaborativo Final Historia de la Psicología UNAD 2015 - 2 .Trabajo colaborativo Final Historia de la Psicología UNAD 2015 - 2 .
Trabajo colaborativo Final Historia de la Psicología UNAD 2015 - 2 .
 
Diagrama de Flujo de como hacer una tasa de cafe
Diagrama de Flujo de como hacer una tasa de cafeDiagrama de Flujo de como hacer una tasa de cafe
Diagrama de Flujo de como hacer una tasa de cafe
 

Similar to Формирование команды автотестирования

Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"Tanya Denisyuk
 
Процессы разработки в Яндексе
Процессы разработки в ЯндексеПроцессы разработки в Яндексе
Процессы разработки в ЯндексеAndrey Kazarinov
 
Python Development process in Yandex
Python Development process in YandexPython Development process in Yandex
Python Development process in Yandexaviatakz
 
Нагрузочное тестирование с помощью Яндекс.Танка
Нагрузочное тестирование с помощью Яндекс.ТанкаНагрузочное тестирование с помощью Яндекс.Танка
Нагрузочное тестирование с помощью Яндекс.Танка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 intergrationInterSystems
 
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙСтановление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ
Становление процесса автоматизированного тестирования в интернет-магазине ОКЕЙ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 ForgeYehor 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
 
Тест-план и исследовательское тестирование
Тест-план и исследовательское тестированиеТест-план и исследовательское тестирование
Тест-план и исследовательское тестированиеVasiliy Burov
 
So Your WAF Needs a Parser
So Your WAF Needs a ParserSo Your WAF Needs a Parser
So Your WAF Needs a Parseryalegko
 
Опыт разработки модуля межсетевого экранирования для 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 Формирование команды автотестирования (20)

Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"
 
Процессы разработки в Яндексе
Процессы разработки в ЯндексеПроцессы разработки в Яндексе
Процессы разработки в Яндексе
 
Python Development process in Yandex
Python Development process in YandexPython Development process in Yandex
Python Development process in Yandex
 
Нагрузочное тестирование с помощью Яндекс.Танка
Нагрузочное тестирование с помощью Яндекс.ТанкаНагрузочное тестирование с помощью Яндекс.Танка
Нагрузочное тестирование с помощью Яндекс.Танка
 
Александр Ярулин - Автоматизация тестирования с 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, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
 
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
 
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
 
Тест-план и исследовательское тестирование
Тест-план и исследовательское тестированиеТест-план и исследовательское тестирование
Тест-план и исследовательское тестирование
 
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
 

Формирование команды автотестирования

  • 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