Владислав Чернов, badoo
DESCRIPTION
HighLoad++ 2013TRANSCRIPT
Изменение процесса разработки и тестирования. Основные проблемы.Владислав Чернов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: [email protected]
Skype: chernovvsTwitter: @BadooDev
Habrahabr: bit.ly/BadooHabr