1. Создаем команду автотестирования в
нетипичных условиях
«Время разбрасывать камни, и время собирать камни»
Экклезиаст
Team Leader, Parallels Test Automation
Vasilii Nikishin
April 08, 2016
2. 1
Начало
• Исходные данные
• Команда разработчиков 10 SDETов
• Собственный фрэймворк
• Собственная инфраструктура
• ~2500 тестов (~250000 тесткейсов)
• Python, Linux, Windows, Virtuozzo
• 10 лет
• Цель
• Создать новую команду
• Склонировать существующую систему
• В кратчайший срок
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
Новые горизонты
• Выявление новых
ограничений, истинных
причин и ключевых проблем
• Ключевая проблема –
легаси-инфраструктура
• Трудно масштабировать
• Сложно поддерживать и
развивать