Владислав Чернов, badoo

24
Изменение процесса разработки и тестирования. Основные проблемы. Владислав Чернов Badoo

Upload: ontico

Post on 16-Jun-2015

623 views

Category:

Documents


7 download

DESCRIPTION

HighLoad++ 2013

TRANSCRIPT

Page 1: Владислав Чернов, Badoo

Изменение процесса разработки и тестирования. Основные проблемы.Владислав ЧерновBadoo

Page 2: Владислав Чернов, Badoo

Содержание

1. Нужно ли что-то менять?

2. Что мы используем?

3. Новое и старое flow для разработки и тестирования.

4. Проблемы и их решения.

5. Результаты.

Page 3: Владислав Чернов, Badoo

Нужно ли что то менять?

Page 4: Владислав Чернов, Badoo

Что хотели улучшить

● Качество ПО

● Прозрачность процессов

● Скорость выкладки

Page 5: Владислав Чернов, Badoo

Что мы используем?

● AIDA● Git● Jira● Teamcity● GitPHP● Автоматизированное тестирование

Page 6: Владислав Чернов, Badoo

Git workflow

Page 7: Владислав Чернов, Badoo

Этапы тестирования● Code review● Автоматический запуск юнит тестов● Devel● Shot● Staging● Опциональное тестирование на production

Page 8: Владислав Чернов, Badoo

Автоматизация в Git

Page 9: Владислав Чернов, Badoo

Automerge● Формирование релиза

● Слияние ветки master в ветку релиза

Page 10: Владислав Чернов, Badoo

Хуки в Git● Запрещающие хуки

● Хуки нотификаций

● Системные хуки

Page 11: Владислав Чернов, Badoo

JIRA. Контроль разработки

Интеграция и автоматизация в баг-трекере:

● Критерии "готовности" задачи● Интеграция с Git, Gitphp и Teamcity● Автоматическое изменение статуса задач● Нотификации

Page 12: Владислав Чернов, Badoo

TeamCity - авто тесты, сборка и деплой

Page 13: Владислав Чернов, Badoo

TeamCity - авто тесты, сборка и деплой

1. Сборка

2. Deploy

3. Smoke-тесты

4. Откат сборки

5. Автотесты

Page 14: Владислав Чернов, Badoo

Прежнее flow

Page 15: Владислав Чернов, Badoo

Плюсы и минусы+● Лучшее flow для разработчиков

-● Неудобное flow для тестирования● Не понятно что в релизе● Время на стабилизацию релиза

Page 16: Владислав Чернов, Badoo

Новое flow

Page 17: Владислав Чернов, Badoo

Плюсы и минусы

+ ● Быстрое получение изменений от других разработчиков● Поэтапный процесс тестирования● Формирование и контроль релиза

-● Нет отката задачи

★ Остановка релиза

Page 18: Владислав Чернов, Badoo

С чем нам пришлось столкнуться?

● Люди ( разнообразие взглядов, неприятие нового)

● Интеграция, адаптация инструментариев● Сложность поддержки большой архитектуры● Нет идеального решения

Page 19: Владислав Чернов, Badoo

Интеграция с Jira

Вебхуки★ Скрипты по cron-у

Избыточность нотификаций★ Группировка сообщений

Хаотичность внесения изменений★ Единая точка входа

Page 20: Владислав Чернов, Badoo

Teamcity

Сложность интеграции новых сборок★ Шаблонизация сборок

Избыточность нотификаций★ Разделение на потоки нотификаций

Page 21: Владислав Чернов, Badoo

Автоматизированное тестирование

Время выполнения тестов★ Многопоточность★ Постоянная оптимизация

Отложенное тестирование самой системы★ Автоматизированное тестирование★ Staging

Page 22: Владислав Чернов, Badoo

Версия Android 2.24

Page 23: Владислав Чернов, Badoo

Версия Android 2.25

Page 24: Владислав Чернов, Badoo

Вопросы?

Владислав ЧерновE-mail: [email protected]

Skype: chernovvsTwitter: @BadooDev

Habrahabr: bit.ly/BadooHabr