Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

1,103 views

Published on

HighLoad++ 2013

  • Be the first to comment

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

  1. 1. Изменение процесса разработки и тестирования. Основные проблемы. Владислав Чернов Badoo
  2. 2. Содержание 1. Нужно ли что-то менять? 2. Что мы используем? 3. Новое и старое flow для разработки и тестирования. 4. Проблемы и их решения. 5. Результаты.
  3. 3. Нужно ли что то менять?
  4. 4. Что хотели улучшить ● Качество ПО ● Прозрачность процессов ● Скорость выкладки
  5. 5. Что мы используем? ● ● ● ● ● ● AIDA Git Jira Teamcity GitPHP Автоматизированное тестирование
  6. 6. Git workflow
  7. 7. Этапы тестирования ● ● ● ● ● ● Code review Автоматический запуск юнит тестов Devel Shot Staging Опциональное тестирование на production
  8. 8. Автоматизация в Git
  9. 9. Automerge ● Формирование релиза ● Слияние ветки master в ветку релиза
  10. 10. Хуки в Git ● Запрещающие хуки ● Хуки нотификаций ● Системные хуки
  11. 11. JIRA. Контроль разработки Интеграция и автоматизация в баг-трекере: ● ● ● ● Критерии "готовности" задачи Интеграция с Git, Gitphp и Teamcity Автоматическое изменение статуса задач Нотификации
  12. 12. TeamCity - авто тесты, сборка и деплой
  13. 13. TeamCity - авто тесты, сборка и деплой 1. Сборка 2. Deploy 3. Smoke-тесты 4. Откат сборки 5. Автотесты
  14. 14. Прежнее flow
  15. 15. Плюсы и минусы + ● Лучшее flow для разработчиков ● Неудобное flow для тестирования ● Не понятно что в релизе ● Время на стабилизацию релиза
  16. 16. Новое flow
  17. 17. Плюсы и минусы + ● Быстрое получение изменений от других разработчиков ● Поэтапный процесс тестирования ● Формирование и контроль релиза ● Нет отката задачи ★ Остановка релиза
  18. 18. С чем нам пришлось столкнуться? ● Люди ( разнообразие взглядов, неприятие нового) ● Интеграция, адаптация инструментариев ● Сложность поддержки большой архитектуры ● Нет идеального решения
  19. 19. Интеграция с Jira Вебхуки ★ Скрипты по cron-у Избыточность нотификаций ★ Группировка сообщений Хаотичность внесения изменений ★ Единая точка входа
  20. 20. Teamcity Сложность интеграции новых сборок ★ Шаблонизация сборок Избыточность нотификаций ★ Разделение на потоки нотификаций
  21. 21. Автоматизированное тестирование Время выполнения тестов ★ Многопоточность ★ Постоянная оптимизация Отложенное тестирование самой системы ★ Автоматизированное тестирование ★ Staging
  22. 22. Версия Android 2.24
  23. 23. Версия Android 2.25
  24. 24. Вопросы? Владислав Чернов E-mail: v.chernov@corp.badoo.com Skype: chernovvs Twitter: @BadooDev Habrahabr: bit.ly/BadooHabr

×