SlideShare a Scribd company logo
1 of 20
Continuous Integration с нуля

      (Jenkins+Git+Selenium)
Немного теории:
Continuous Integration (CI) - одна из
фундаментальных инженерных практик в
Agile разработке. Выполняет роль системы
раннего    обнаружения    ошибок   путём
автоматического     выполнения      задач
компиляции, запуска юнит тестов, сборки
проекта, запуска интеграционных тестов и
многого другого…
Организация работы:
• Получаем свежий код из репозитория
• Производим сборку проекта (например
  «накатываем» миграции)
• Выполняем тесты (unit+functional)
• Выполняем дополнительные действия
  (например анализ кода)
• Собираем и отображаем отчёты
• Рассылаем уведомления, заливаем билд на
  live сервер, etc…
Плюсы:
• Много различных инструментов
• Тестируется всегда «свежий» билд
• Актуальные сведения о состоянии системы
• Подробные отчёты (что упало, кто виноват)
• Регрессионное тестирование (одно
  «подкрутили» - другое «отвалилось»)
• Всё это происходит автоматически(!)
Минусы:
• Необходим отдельный сервер
• Затраты на поддержание инфраструктуры
• Необходимо обучение людей
• Затраты времени на написаниеподдержку
  тестов (и разработчиком, и тестировщиком)
• Больше ничего не придумал…
Инструменты:
Создание проекта (шаг 1)
Создание проекта (шаг 2)
Создание проекта (шаг 3)
Создание проекта (шаг 4)
Создание проекта (шаг 5)
Запускаем билд:
Анализируем результат
 (вывод из консоли):
Анализируем результат
 (общая информация):
Анализируем результат
    (Test Results):
Анализируем результат
    (Test Results):
Анализируем результат
   (Duplicate Code):
А как же Selenium?
Материалы:
• Phing
  http://www.phing.info/docs/guide/stable/
• PHPUnit
  http://www.phpunit.de/manual/3.6/en/appe
  ndixes.configuration.html
• Jenkins http://wiki.jenkins-ci.org/display/
  JENKINS/Home

More Related Content

What's hot

Unit testing
Unit testingUnit testing
Unit testingISsoft
 
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesИнструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesPositive Hack Days
 
«Автоматизация тестирования» — 2ГИС Павел Сташевский, 2ГИС
«Автоматизация тестирования» — 2ГИС Павел Сташевский, 2ГИС  «Автоматизация тестирования» — 2ГИС Павел Сташевский, 2ГИС
«Автоматизация тестирования» — 2ГИС Павел Сташевский, 2ГИС DevDay
 
Шаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптовШаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптовSQALab
 
Денис Кандров, Пушкова Евгения, QSpec: тестирование графических приложений на Qt
Денис Кандров, Пушкова Евгения, QSpec: тестирование графических приложений на QtДенис Кандров, Пушкова Евгения, QSpec: тестирование графических приложений на Qt
Денис Кандров, Пушкова Евгения, QSpec: тестирование графических приложений на QtSergey Platonov
 
TestLink
TestLinkTestLink
TestLinkISsoft
 
Павел Степанов
Павел СтепановПавел Степанов
Павел СтепановSQALab
 
Стратегия тестирования крупного проекта в условиях Agile разработки v2
Стратегия тестирования крупного проекта в условиях Agile разработки v2Стратегия тестирования крупного проекта в условиях Agile разработки v2
Стратегия тестирования крупного проекта в условиях Agile разработки v2Magneta AI
 
Управляя автоматизацией тестирования
Управляя автоматизацией тестированияУправляя автоматизацией тестирования
Управляя автоматизацией тестированияPaul Stashevsky
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQAFest
 
Архитектура автоматизированных тестов
Архитектура автоматизированных тестовАрхитектура автоматизированных тестов
Архитектура автоматизированных тестовSQALab
 
Организация тестового набора при автоматизированном функциональном тестировании
Организация тестового набора при автоматизированном функциональном тестированииОрганизация тестового набора при автоматизированном функциональном тестировании
Организация тестового набора при автоматизированном функциональном тестированииSQALab
 
Дмитрий Кузнецов. Сертификация в странах CCRA глазами заявителя
Дмитрий Кузнецов. Сертификация в странах CCRA глазами заявителяДмитрий Кузнецов. Сертификация в странах CCRA глазами заявителя
Дмитрий Кузнецов. Сертификация в странах CCRA глазами заявителяPositive Hack Days
 
GUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioGUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioSQALab
 
Как 3 тестировщика играючи тестируют приложение для 10млн пользователей
Как 3 тестировщика играючи тестируют приложение для 10млн пользователейКак 3 тестировщика играючи тестируют приложение для 10млн пользователей
Как 3 тестировщика играючи тестируют приложение для 10млн пользователейSQALab
 
Web driver история одной миграции
Web driver   история одной миграцииWeb driver   история одной миграции
Web driver история одной миграцииIgor Khrol
 
DevOps подходы в инфраструктуре автоматизации тестирования
DevOps подходы в инфраструктуре автоматизации тестированияDevOps подходы в инфраструктуре автоматизации тестирования
DevOps подходы в инфраструктуре автоматизации тестированияSQALab
 
Artem Shabarshin. CSEDays
Artem Shabarshin. CSEDaysArtem Shabarshin. CSEDays
Artem Shabarshin. CSEDaysLiloSEA
 

What's hot (19)

Unit testing
Unit testingUnit testing
Unit testing
 
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesИнструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
 
«Автоматизация тестирования» — 2ГИС Павел Сташевский, 2ГИС
«Автоматизация тестирования» — 2ГИС Павел Сташевский, 2ГИС  «Автоматизация тестирования» — 2ГИС Павел Сташевский, 2ГИС
«Автоматизация тестирования» — 2ГИС Павел Сташевский, 2ГИС
 
Шаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптовШаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптов
 
Денис Кандров, Пушкова Евгения, QSpec: тестирование графических приложений на Qt
Денис Кандров, Пушкова Евгения, QSpec: тестирование графических приложений на QtДенис Кандров, Пушкова Евгения, QSpec: тестирование графических приложений на Qt
Денис Кандров, Пушкова Евгения, QSpec: тестирование графических приложений на Qt
 
TestLink
TestLinkTestLink
TestLink
 
Павел Степанов
Павел СтепановПавел Степанов
Павел Степанов
 
Стратегия тестирования крупного проекта в условиях Agile разработки v2
Стратегия тестирования крупного проекта в условиях Agile разработки v2Стратегия тестирования крупного проекта в условиях Agile разработки v2
Стратегия тестирования крупного проекта в условиях Agile разработки v2
 
Управляя автоматизацией тестирования
Управляя автоматизацией тестированияУправляя автоматизацией тестирования
Управляя автоматизацией тестирования
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
 
Архитектура автоматизированных тестов
Архитектура автоматизированных тестовАрхитектура автоматизированных тестов
Архитектура автоматизированных тестов
 
Организация тестового набора при автоматизированном функциональном тестировании
Организация тестового набора при автоматизированном функциональном тестированииОрганизация тестового набора при автоматизированном функциональном тестировании
Организация тестового набора при автоматизированном функциональном тестировании
 
Дмитрий Кузнецов. Сертификация в странах CCRA глазами заявителя
Дмитрий Кузнецов. Сертификация в странах CCRA глазами заявителяДмитрий Кузнецов. Сертификация в странах CCRA глазами заявителя
Дмитрий Кузнецов. Сертификация в странах CCRA глазами заявителя
 
GUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioGUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test Studio
 
Как 3 тестировщика играючи тестируют приложение для 10млн пользователей
Как 3 тестировщика играючи тестируют приложение для 10млн пользователейКак 3 тестировщика играючи тестируют приложение для 10млн пользователей
Как 3 тестировщика играючи тестируют приложение для 10млн пользователей
 
Web driver история одной миграции
Web driver   история одной миграцииWeb driver   история одной миграции
Web driver история одной миграции
 
DevOps подходы в инфраструктуре автоматизации тестирования
DevOps подходы в инфраструктуре автоматизации тестированияDevOps подходы в инфраструктуре автоматизации тестирования
DevOps подходы в инфраструктуре автоматизации тестирования
 
UI+unit testing in iOS
UI+unit testing in iOSUI+unit testing in iOS
UI+unit testing in iOS
 
Artem Shabarshin. CSEDays
Artem Shabarshin. CSEDaysArtem Shabarshin. CSEDays
Artem Shabarshin. CSEDays
 

Similar to Continuous integration

Автоматическое функциональное тестирование в рамках процесса непрерывной инте...
Автоматическое функциональное тестирование в рамках процесса непрерывной инте...Автоматическое функциональное тестирование в рамках процесса непрерывной инте...
Автоматическое функциональное тестирование в рамках процесса непрерывной инте...SQALab
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileKairat Yussupov
 
Автоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1CАвтоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1CAlexey Lustin
 
Free Desktop QA Engineers: implement automation testing
Free Desktop QA Engineers: implement automation testingFree Desktop QA Engineers: implement automation testing
Free Desktop QA Engineers: implement automation testingAlexandr Zinovyev
 
C# Web. Занятие 14.
C# Web. Занятие 14.C# Web. Занятие 14.
C# Web. Занятие 14.Igor Shkulipa
 
Шаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проектеШаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проектеSQALab
 
Froglogic Squish
Froglogic Squish Froglogic Squish
Froglogic Squish SQALab
 
Continuous Deployment (in Russian)
Continuous Deployment  (in Russian)Continuous Deployment  (in Russian)
Continuous Deployment (in Russian)Smartling
 
Технологии разработки ПО
Технологии разработки ПОТехнологии разработки ПО
Технологии разработки ПОAnton Konushin
 
Презентация по дисциплине технология разработки программного обеспечения
Презентация по дисциплине технология разработки программного обеспеченияПрезентация по дисциплине технология разработки программного обеспечения
Презентация по дисциплине технология разработки программного обеспеченияRauan Ibraikhan
 
презентация по дисциплине технология разработки программного обеспечения
презентация по дисциплине технология разработки программного обеспеченияпрезентация по дисциплине технология разработки программного обеспечения
презентация по дисциплине технология разработки программного обеспеченияRauan Ibraikhan
 
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестированияCodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестированияCodeFest
 
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Technopark
 
Continuous deployment Smartling event
Continuous deployment Smartling eventContinuous deployment Smartling event
Continuous deployment Smartling eventViktoriya Pridatko
 
Доклад "Мониторинг серверных приложений"
Доклад "Мониторинг серверных приложений"Доклад "Мониторинг серверных приложений"
Доклад "Мониторинг серверных приложений"Grigoriy Orlov
 
Automation Functional Testing in Agile Projects
Automation Functional Testing in Agile ProjectsAutomation Functional Testing in Agile Projects
Automation Functional Testing in Agile ProjectsAndrey Rebrov
 

Similar to Continuous integration (20)

Автоматическое функциональное тестирование в рамках процесса непрерывной инте...
Автоматическое функциональное тестирование в рамках процесса непрерывной инте...Автоматическое функциональное тестирование в рамках процесса непрерывной инте...
Автоматическое функциональное тестирование в рамках процесса непрерывной инте...
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
 
Автоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1CАвтоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1C
 
Free Desktop QA Engineers: implement automation testing
Free Desktop QA Engineers: implement automation testingFree Desktop QA Engineers: implement automation testing
Free Desktop QA Engineers: implement automation testing
 
C# Web. Занятие 14.
C# Web. Занятие 14.C# Web. Занятие 14.
C# Web. Занятие 14.
 
Wgforge CI/CD
Wgforge CI/CDWgforge CI/CD
Wgforge CI/CD
 
Enter: testing
Enter: testingEnter: testing
Enter: testing
 
Шаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проектеШаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проекте
 
Dev collaboration
Dev collaborationDev collaboration
Dev collaboration
 
Froglogic Squish
Froglogic Squish Froglogic Squish
Froglogic Squish
 
Continuous Deployment (in Russian)
Continuous Deployment  (in Russian)Continuous Deployment  (in Russian)
Continuous Deployment (in Russian)
 
DevOps guide for awesome quality assurance
DevOps guide for awesome quality assuranceDevOps guide for awesome quality assurance
DevOps guide for awesome quality assurance
 
Технологии разработки ПО
Технологии разработки ПОТехнологии разработки ПО
Технологии разработки ПО
 
Презентация по дисциплине технология разработки программного обеспечения
Презентация по дисциплине технология разработки программного обеспеченияПрезентация по дисциплине технология разработки программного обеспечения
Презентация по дисциплине технология разработки программного обеспечения
 
презентация по дисциплине технология разработки программного обеспечения
презентация по дисциплине технология разработки программного обеспеченияпрезентация по дисциплине технология разработки программного обеспечения
презентация по дисциплине технология разработки программного обеспечения
 
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестированияCodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
 
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5
 
Continuous deployment Smartling event
Continuous deployment Smartling eventContinuous deployment Smartling event
Continuous deployment Smartling event
 
Доклад "Мониторинг серверных приложений"
Доклад "Мониторинг серверных приложений"Доклад "Мониторинг серверных приложений"
Доклад "Мониторинг серверных приложений"
 
Automation Functional Testing in Agile Projects
Automation Functional Testing in Agile ProjectsAutomation Functional Testing in Agile Projects
Automation Functional Testing in Agile Projects
 

More from MageCloud

How to find the Right Mobile and Cloud Application Development Company for Yo...
How to find the Right Mobile and Cloud Application Development Company for Yo...How to find the Right Mobile and Cloud Application Development Company for Yo...
How to find the Right Mobile and Cloud Application Development Company for Yo...MageCloud
 
First Steps to Mobile Sites and Apps
First Steps to Mobile Sites and AppsFirst Steps to Mobile Sites and Apps
First Steps to Mobile Sites and AppsMageCloud
 
Optimizing Magento for Peak Performance
Optimizing Magento for Peak PerformanceOptimizing Magento for Peak Performance
Optimizing Magento for Peak PerformanceMageCloud
 
Cloud Based Business Application Development
Cloud Based Business Application DevelopmentCloud Based Business Application Development
Cloud Based Business Application DevelopmentMageCloud
 
Three keys to successful banner ads
Three keys to successful banner adsThree keys to successful banner ads
Three keys to successful banner adsMageCloud
 
Two Facets of Great e-Commerce: PPC and Landing Page Best Practices
Two Facets of Great e-Commerce: PPC and Landing Page Best PracticesTwo Facets of Great e-Commerce: PPC and Landing Page Best Practices
Two Facets of Great e-Commerce: PPC and Landing Page Best PracticesMageCloud
 
Yii development
Yii developmentYii development
Yii developmentMageCloud
 
Security testing
Security testingSecurity testing
Security testingMageCloud
 
Project lifecircle
Project lifecircleProject lifecircle
Project lifecircleMageCloud
 
Management of projects
Management of projectsManagement of projects
Management of projectsMageCloud
 
Magento ecommerce
Magento ecommerceMagento ecommerce
Magento ecommerceMageCloud
 
Dotnet development
Dotnet developmentDotnet development
Dotnet developmentMageCloud
 
Corporate structure project_team
Corporate structure project_teamCorporate structure project_team
Corporate structure project_teamMageCloud
 
Clientside optimization
Clientside optimizationClientside optimization
Clientside optimizationMageCloud
 
Automated testing
Automated testingAutomated testing
Automated testingMageCloud
 

More from MageCloud (20)

How to find the Right Mobile and Cloud Application Development Company for Yo...
How to find the Right Mobile and Cloud Application Development Company for Yo...How to find the Right Mobile and Cloud Application Development Company for Yo...
How to find the Right Mobile and Cloud Application Development Company for Yo...
 
First Steps to Mobile Sites and Apps
First Steps to Mobile Sites and AppsFirst Steps to Mobile Sites and Apps
First Steps to Mobile Sites and Apps
 
Optimizing Magento for Peak Performance
Optimizing Magento for Peak PerformanceOptimizing Magento for Peak Performance
Optimizing Magento for Peak Performance
 
Cloud Based Business Application Development
Cloud Based Business Application DevelopmentCloud Based Business Application Development
Cloud Based Business Application Development
 
Three keys to successful banner ads
Three keys to successful banner adsThree keys to successful banner ads
Three keys to successful banner ads
 
Two Facets of Great e-Commerce: PPC and Landing Page Best Practices
Two Facets of Great e-Commerce: PPC and Landing Page Best PracticesTwo Facets of Great e-Commerce: PPC and Landing Page Best Practices
Two Facets of Great e-Commerce: PPC and Landing Page Best Practices
 
Yii development
Yii developmentYii development
Yii development
 
Testing
TestingTesting
Testing
 
Security testing
Security testingSecurity testing
Security testing
 
Project lifecircle
Project lifecircleProject lifecircle
Project lifecircle
 
Management of projects
Management of projectsManagement of projects
Management of projects
 
Magento ecommerce
Magento ecommerceMagento ecommerce
Magento ecommerce
 
Graphics
GraphicsGraphics
Graphics
 
Dotnet development
Dotnet developmentDotnet development
Dotnet development
 
Corporate structure project_team
Corporate structure project_teamCorporate structure project_team
Corporate structure project_team
 
Clientside optimization
Clientside optimizationClientside optimization
Clientside optimization
 
Automated testing
Automated testingAutomated testing
Automated testing
 
Amazon
AmazonAmazon
Amazon
 
Agile
AgileAgile
Agile
 
Webdesign
WebdesignWebdesign
Webdesign
 

Continuous integration