24
Создаем команду автотестирования в нетипичных условиях «Время разбрасывать камни, и время собирать камни» Экклезиаст Team Leader, Parallels Test Automation Vasilii Nikishin April 08, 2016

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

Embed Size (px)

Citation preview

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

Создаем команду автотестирования в нетипичных условиях

«Время разбрасывать камни, и время собирать камни»Экклезиаст

Team Leader, Parallels Test AutomationVasilii Nikishin

April 08, 2016

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

2

Начало• Исходные данные

• Команда разработчиков 10 SDETов• Собственный фрэймворк• Собственная инфраструктура• ~2500 тестов (~250000 тесткейсов)• Python, Linux, Windows, Virtuozzo• 10 лет

• Цель• Создать новую команду• Склонировать существующую систему• В кратчайший срок

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

3

Team

Test Framework

Tests

Test HW resources

Test infrastructure

Network

Virtuozzo + Parallels

Одна команда

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

4

Team

Test Framework

Tests

Test HW resources

Test infrastructure

Network

Team

Virtuozzo + Parallels

Создание команды Parallels

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

5

Свистать всех наверх!• Формирование команды

• 3 SDETа, 4 ручника• Знакомство с наследием

• Технические консультации с командой Virtuozzo, документация

• Нахождение ограничений системы по Голдратту (TOC)

• Выявление истинных причин и ключевых проблем ограничений

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

6

Принципы TOC• Система как цепь

• Всегда существует слабое звено (ограничение системы)• Основные усилия на устранение ограничения• Поиск ограничений с помощью логических деревьев

• Дерево текущей реальности• Диаграмма разрешения конфликтов• Дерево будущей реальности• Дерево перехода• План преобразований

• Процесс непрерывных улучшений• Поиск новых ограничений

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

7

Дерево текущей реальности

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

8

На буксире• Тесты и «железо» под присмотром

• Каждому тесту по мантейнеру• Каждой «железке» свое место

• Поддержка тестов и «железа» в инфраструктуре Virtuozzo под строгим контролем команды Virtuozzo.

• «Прокачка скилзов» команды • Знакомство с проектами Parallels• Написание тестов для новых проектов• Митинги, техтоки

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

9

Team

Test Framework

Tests

Test HW resources

Test infrastructure

Network

Team

Virtuozzo + Parallels

Поддержка своих тестов и «железа»

Test HW resources

Tests

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

10

Организация процесса• Взаимодействие внутри команды и с внешним

миром • Стэндапы, спринты, постмортемы • Jira dashboards• Виды активностей

o Разбор баговo Разработка новых тестовo Поддержка инфраструктуры (дежурство)

• Области компетенции• Раскраска спринтов

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

11

Области компетенции

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

12

Раскраска спринтов

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

13

Поднять паруса!

• Отправляемся в самостоятельное плавание

• Клонируем репозиторий с тестами и тестовым фрэймворком

• Изменяем review workflowo Был e-mailo Стал Stash + 2 reviewers

• Вводим сode style

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

14

Team

Test Framework

Tests

Test HW resources

Test infrastructure

Network

Team

Virtuozzo + Parallels

Клонирование тестового фрэймворка

Test HW resources

Tests

Test Framework

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

15

Полный вперёд!• В пути

• Клонируем тестовую инфраструктуру Virtuozzo в сеть Parallels

• Под полными парусами! • Самостоятельно поддерживаем

унаследованную  инфраструктуру• Пишем автотесты для всех проектов

Parallels• Разрабатываем свою инфраструктуру

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

16

Тестовая инфраструктура

Release

Robot

Validator

Report

Test repo

Jira

Builds meta info CI

Test plans

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

17

Team

Test Framework

Tests

Test HW resources

Test infrastructure

Network

Team

Virtuozzo + Parallels

Перенос тестовой инфраструктуры

Test HW resources

Tests

Test Framework

Test infrastructure

Network

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

18

Шторм!• Проверка на зрелость

• Переезд в новый офис• Восстановление сервиса deploy из

архива• Безболезненный запуск тестовой

инфраструктуры o Подключение нод (60 шт./1 день)o Запуск сервисов и тестов (1 день)

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

19

Team

Test HW resources

Test Framework

Tests

Test infrastructure

Network

Parallels

Team

Test HW resources

Test Framework

Tests

Test infrastructure

Network

Virtuozzo

Переезд в новый офис

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

20

Итого

• Новая команда – 8 SDETов• Боевая система авто тестирования• ~300 тестов(~20000 тесткейсов)• Python, Windows, Mac OS X, Linux, iOS, Android, web• 10 месяцев

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

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

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

22

Новые горизонты

• Выявление новых ограничений, истинных причин и ключевых проблем

• Ключевая проблема – легаси-инфраструктура• Трудно масштабировать• Сложно поддерживать и

развивать

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

23

Необходима новая МИКРОСЕРВИСНАЯ инфраструктураОсновной девиз создания новой системы: «Всё уже написано до нас!»

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

Thank you!

Василий НикишинTeam Leader, Parallels Test [email protected]