4. QA Club #29
Обо мне
• Я - тестировщик
4* иногда тестирую, иногда пишу тесты
*
5. QA Club #29
О чем поговорим?
• Что это такое и с чем его едят?
• От возникновения CI и до наших дней
• Обзор ПО, которое облегчает нам жизнь (TeamCity,
Jenkins, TFS, cron, etc)
• Опыт внедрения CI на проектах от “hello world” до
разработки крупных систем
• Пример использования Jenkins на примерре
“классического” веб-приложения
• СI/CD (Continuous Integration/Continuous Delivery) –
новое или хорошо забытое старое? Что это такое и
почему нам это (не) нужно?
5
6. QA Club #29
О чем поговорим?
• Доклад построен на реальном опыте. Все
совпадения с реальными проектами считаются
случайностями. При подготовке доклада ни один
билд не пострадал ;)
6
7. QA Club #29
А также:
• Ответы на вопросы:
• - Нужно протестировать свежую фичу из
репозитория?
• - Какая версия приложения у нас на вооот этом
сервере?
• - Как настроить и запустить автоматическое
тестирование нужной версии?
• - Как CI(/CD) позволяет добиться улучшения
качества ПО?
• - А был ли мальчик? :)
7
11. QA Club #29
Continuous Integration (CI) - это:
• инженерная практика разработки ПО
• Jenkins, TeamCity, TFS, и т.д
• непрерывный процесс
11
12. QA Club #29
Шел 1999-й год...
• Kent Beck и Martin Fowler написали книгу
“Extreme Programming Explained”
12
13. QA Club #29
До этого...
• 1960-й: NASA пробовали писать ПО
используя парадигму “test first”
• Создание bash, cron, bat-скрипты, windows
scheduler и т.д.
• и еще работа руками..
13
14. QA Club #29
Коротко о главном
• Частая автоматическая сборка ПО для
быстрого(раннего) выявления проблем
14
15. QA Club #29
Кто должен работать?
• Билд инжинер (Build engineer)
• QA
• Разработчики
• Тестировщики
• Руководитель проекта
• Заказчик
• Вся команда!
15
20. QA Club #29
Типичные проблемы
• “Берем исходный код из репозитория”
– svn, git, mercurial
– “а этот скрипт лежит вооон у того разработчика”
– Вася, Петя, Женя... не закоммитил код
20
21. QA Club #29
Шаг №2
• Сборка приложения (компиляция, запуск
модульных тестов, создание дистрибутива и
т.д.)
21
22. QA Club #29
Типичные проблемы
• “Сборка приложения (компиляция,
создание дистрибутива и т.д.)”
– “код” нерабочий
22
28. QA Club #29
Типичные проблемы
• “Создаем и читем отчеты”
– “я не буду читать эти 12 мегабайтов логов”
– красивые картинки и неработающее ПО
– удалили и забыли
28