'

Введение в непрерывную интеграцию

Понравилась презентация – покажи это...





Слайд 0

Введение в непрерывную интеграцию Руденко Виктория Сообщество Тестировщиков Днепропетровска 26/05/2011 Ardas Group


Слайд 1

Руденко Виктория Опыт в тестировании – 4 года Должность – QA Lead Отдел QA – 8 человек тестирование контроль качества на всех этапах жизненного цикла ПО непрерывная интеграция - с 2009 г. Немного о себе Введение в непрерывную интеграцию 2 Ardas Group Программное обеспечение, сайты Независимое тестирование Web: http://ardas.dp.ua E-mail: victoria.rudenko@ardas.dp.ua


Слайд 2

Непрерывная интеграция (англ. Continuous Integration) — это практика разработки программного обеспечения, которая заключается в выполнении частых автоматизированных сборок проекта для скорейшего выявления и решения интеграционных проблем. [Википедия] Определение Введение в непрерывную интеграцию 3


Слайд 3

Проблемы 4 проблема интеграции позднее обнаружение дефектов поддержка и запуск существующих тестов и проверок рутина актуальность тестируемой среды Введение в непрерывную интеграцию


Слайд 4

«Continuous Integration» — это лекарство от страха. Помогает при программировании. Dr. Zoidberg © Введение в непрерывную интеграцию 5 Решение


Слайд 5

Этапы непрерывной интеграции 6 Введение в непрерывную интеграцию


Слайд 6

Интеграционная сборка может осуществляться: по внешнему запросу по расписанию по факту обновления репозитория Обновление 7 Введение в непрерывную интеграцию Commit


Слайд 7

Работа с репозиторием 8 все данные хранятся в репозитории частые коммиты локальная сборка перед коммитом предкоммитная сборка на интеграционном сервере (TeamCity) исправление поломанного кода – приоритетная задача прекращение работы с репозиторием до исправления сборки Введение в непрерывную интеграцию


Слайд 8

автоматизированная быстрая: ресурсы компьютера разбиение на подмодули поэтапная критичные проверки сначала выделенная машина Сборка 9 Введение в непрерывную интеграцию


Слайд 9

Введение в непрерывную интеграцию 10 “Это работает на моей машине!”


Слайд 10

Программисты пишут код для тестирования программного кода. QA: Все тесты включены в сборку быстрое обнаружение дефектов упрощение рефакторинга Модульное тестирование Введение в непрерывную интеграцию 11


Слайд 11

проверка соблюдения стандартов проведение статического анализа измерение метрик Метрики: процент покрытия тестами мера сложности программ число строк кода Инспекция кода 12 Введение в непрерывную интеграцию


Слайд 12

автоматизированное указание версии Развертывание Введение в непрерывную интеграцию 13


Слайд 13

функциональные тесты (Selenium, TestComplete, Watir) тесты на нагрузку (JMeter, LoadRunner) QA запуск по расписанию реальные условия Приемочное тестирование Введение в непрерывную интеграцию 14


Слайд 14

сохранение архивов указание версии и даты сборки QA экономия времени тестирование Архивирование Введение в непрерывную интеграцию 15


Слайд 15

Генерация отчета 16 Введение в непрерывную интеграцию Активное оповещение: email sms система мгновенных сообщений Пассивное оповещение: публикация на web файловый сервер


Слайд 16

CruiseControl — сервер интеграции для Java (бесплатный) http://cruisecontrol.sourceforge.net/ Серверы непрерывной интеграции Введение в непрерывную интеграцию 17 CruiseControl.NET — сервер интеграции для .NET (бесплатный) http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET CruiseControl — сервер интеграции для Ruby (бесплатный) http://cruisecontrolrb.thoughtworks.com/


Слайд 17

Hudson — open-source сервер интеграции, создан как альтернатива CruiseControl. http://hudson-ci.org/ Серверы непрерывной интеграции Введение в непрерывную интеграцию 18 TeamCity — коммерческий сервер интеграции от компаниии JetBrains для java и .NET (есть бесплатная версия). http://www.jetbrains.com/teamcity/ Bamboo — коммерческий сервер интеграции от компаниии Attlassian для java, .NET и Ruby. http://www.atlassian.com/software/bamboo/


Слайд 18

web-приложения на Java инструменты сборки maven, ant unit тесты Selenium тесты сервер НИ CruiseControl Как это у нас Введение в непрерывную интеграцию 19


Слайд 19

Сборка после каждого коммита (Быстрая) компиляция unit тесты сохранение архивов email для QA – оповещение о новых архивах email всем – в случае поломки или исправлении сборки Ночная сборка (Медленная) компиляция развертывание Selenium-тесты еmail с отчетом сохранение более подробного отчета на файловом сервере Как это у нас Введение в непрерывную интеграцию 20


Слайд 20

CruiseControl Введение в непрерывную интеграцию 21


Слайд 21

Рекомендации Введение в непрерывную интеграцию 22 Martin Fowler “Continuous Integration “ http://www.martinfowler.com/articles/continuousIntegration.html Paul M. Duvall “Continuous Integration: Improving Software Quality and Reducing Risk” http://www.amazon.com/Continuous-Integration-Improving-Software-Reducing/dp/0321336380


Слайд 22

Преимущества и недостатки НИ 23 Недостатки: выделенный сервер время на поддержку Введение в непрерывную интеграцию Преимущества: снижение рисков уменьшения количества дефектов быстрый сигнал о проблемах избавление от рутины наличие стабильной версии контроль состояния проекта


Слайд 23

Вопросы Введение в непрерывную интеграцию 24


×

HTML:





Ссылка: