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

Preview:

DESCRIPTION

HighLoad++ 2013

Citation preview

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

Содержание

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

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

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

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

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

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

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

● Качество ПО

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

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

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

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

Git workflow

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

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

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

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

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

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

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

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

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

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

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

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

1. Сборка

2. Deploy

3. Smoke-тесты

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

5. Автотесты

Прежнее flow

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

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

Новое flow

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

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

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

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

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

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

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

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

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

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

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

Teamcity

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

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

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

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

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

Версия Android 2.24

Версия Android 2.25

Вопросы?

Владислав ЧерновE-mail: v.chernov@corp.badoo.com

Skype: chernovvsTwitter: @BadooDev

Habrahabr: bit.ly/BadooHabr

Recommended