Upload
olga-rusakova
View
76
Download
0
Embed Size (px)
Citation preview
Создаем команду автотестирования в нетипичных условиях
«Время разбрасывать камни, и время собирать камни»Экклезиаст
Team Leader, Parallels Test AutomationVasilii Nikishin
April 08, 2016
2
Начало• Исходные данные
• Команда разработчиков 10 SDETов• Собственный фрэймворк• Собственная инфраструктура• ~2500 тестов (~250000 тесткейсов)• Python, Linux, Windows, Virtuozzo• 10 лет
• Цель• Создать новую команду• Склонировать существующую систему• В кратчайший срок
3
Team
Test Framework
Tests
Test HW resources
Test infrastructure
Network
Virtuozzo + Parallels
Одна команда
4
Team
Test Framework
Tests
Test HW resources
Test infrastructure
Network
Team
Virtuozzo + Parallels
Создание команды Parallels
5
Свистать всех наверх!• Формирование команды
• 3 SDETа, 4 ручника• Знакомство с наследием
• Технические консультации с командой Virtuozzo, документация
• Нахождение ограничений системы по Голдратту (TOC)
• Выявление истинных причин и ключевых проблем ограничений
6
Принципы TOC• Система как цепь
• Всегда существует слабое звено (ограничение системы)• Основные усилия на устранение ограничения• Поиск ограничений с помощью логических деревьев
• Дерево текущей реальности• Диаграмма разрешения конфликтов• Дерево будущей реальности• Дерево перехода• План преобразований
• Процесс непрерывных улучшений• Поиск новых ограничений
7
Дерево текущей реальности
8
На буксире• Тесты и «железо» под присмотром
• Каждому тесту по мантейнеру• Каждой «железке» свое место
• Поддержка тестов и «железа» в инфраструктуре Virtuozzo под строгим контролем команды Virtuozzo.
• «Прокачка скилзов» команды • Знакомство с проектами Parallels• Написание тестов для новых проектов• Митинги, техтоки
9
Team
Test Framework
Tests
Test HW resources
Test infrastructure
Network
Team
Virtuozzo + Parallels
Поддержка своих тестов и «железа»
Test HW resources
Tests
10
Организация процесса• Взаимодействие внутри команды и с внешним
миром • Стэндапы, спринты, постмортемы • Jira dashboards• Виды активностей
o Разбор баговo Разработка новых тестовo Поддержка инфраструктуры (дежурство)
• Области компетенции• Раскраска спринтов
11
Области компетенции
12
Раскраска спринтов
13
Поднять паруса!
• Отправляемся в самостоятельное плавание
• Клонируем репозиторий с тестами и тестовым фрэймворком
• Изменяем review workflowo Был e-mailo Стал Stash + 2 reviewers
• Вводим сode style
14
Team
Test Framework
Tests
Test HW resources
Test infrastructure
Network
Team
Virtuozzo + Parallels
Клонирование тестового фрэймворка
Test HW resources
Tests
Test Framework
15
Полный вперёд!• В пути
• Клонируем тестовую инфраструктуру Virtuozzo в сеть Parallels
• Под полными парусами! • Самостоятельно поддерживаем
унаследованную инфраструктуру• Пишем автотесты для всех проектов
Parallels• Разрабатываем свою инфраструктуру
16
Тестовая инфраструктура
Release
Robot
Validator
Report
Test repo
Jira
Builds meta info CI
Test plans
17
Team
Test Framework
Tests
Test HW resources
Test infrastructure
Network
Team
Virtuozzo + Parallels
Перенос тестовой инфраструктуры
Test HW resources
Tests
Test Framework
Test infrastructure
Network
18
Шторм!• Проверка на зрелость
• Переезд в новый офис• Восстановление сервиса deploy из
архива• Безболезненный запуск тестовой
инфраструктуры o Подключение нод (60 шт./1 день)o Запуск сервисов и тестов (1 день)
19
Team
Test HW resources
Test Framework
Tests
Test infrastructure
Network
Parallels
Team
Test HW resources
Test Framework
Tests
Test infrastructure
Network
Virtuozzo
Переезд в новый офис
20
Итого
• Новая команда – 8 SDETов• Боевая система авто тестирования• ~300 тестов(~20000 тесткейсов)• Python, Windows, Mac OS X, Linux, iOS, Android, web• 10 месяцев
21
Продукты и технологии• 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
Новые горизонты
• Выявление новых ограничений, истинных причин и ключевых проблем
• Ключевая проблема – легаси-инфраструктура• Трудно масштабировать• Сложно поддерживать и
развивать
23
Необходима новая МИКРОСЕРВИСНАЯ инфраструктураОсновной девиз создания новой системы: «Всё уже написано до нас!»