Изменение процесса
разработки и тестирования.
Основные проблемы.
Владислав Чернов
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: chernovvs
Twitter: @BadooDev
Habrahabr: bit.ly/BadooHabr

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