Не так давно посчастливилось участвовать с докладом на ежегодной конференции Сбербанк-Технологии – «Quality Days», посвящённой вопросам эксплуатации, тестирования и разработки программного обеспечения.
Тема доклада
В тренде востребованности идей и практик DevOps в современной разработке программного обеспечения. Было решено поделиться нашим наработками применения DevOps практик для ускорения процессов разработки и интеграции в delivery pipeline процессов автоматизированного тестирования.
Особенность нашего опыта
Особенностью нашего опыта применения DevOps практик состоит в том, что в силу профессиональной принадлежности к области тестирования — вопросы обеспечения и контроля качества были реализованы в delivery pipeline весьма полно. В марте 2013 года мы создали платформу для ведения проектов по разработке, с элементами унификации и автоматизации тестирования, которой было посвящено выступление.
Система обладает единой авторизацией в 6 инструментов:
- Баг-трекер
- Система контроля версий
- Continuous Integrations
- Система статического анализа кода
- Ревью-борд
- Система управления тестовыми сценариями
Принцип работы
Принцип работы прост – коммит разработчика запускал систему пре-коммит тестов, после успешного коммита пост-коммит тесты и далее выполняется проверка консистентности изменений, путём выполнения тестов на тестовом стенде. Был получен полный контроль, и мониторинг в реальном времени за изменениями на проектах. Автоматизация процесса разработки дала возможность: проследить влияние каждого коммита на проект и быстро получить обратную связь, если найдены дефекты – это весьма ценно для разработчика, так как пока он находится в контексте только что разработанного функционала, он выполнит исправление дефектов в разы быстрее, чем когда-то потом. Этакая реализация подхода shift-left testing и не только.
На базе этой платформы мы, на тот момент выполнили уже более 40 проектов и уже привыкли к достижению быстрых результатов даже на сложных проектах. В какой-то момент уже не понимаешь, как можно было жить без подобной автоматизации, ведь без неё контролировать ход группы проектов разного размера просто не возможно или по крайней мере весьма проблематично.
Хочется надеяться, что мне удалось донести светлую мысль о применении DevOps практик и переход к подходам Continuous Integration, Continuous Delivery и Continuous Testing участникам конференции.