Непрерывная интеграция и автотесты. Сравнительный...
Transcript of Непрерывная интеграция и автотесты. Сравнительный...
![Page 1: Непрерывная интеграция и автотесты. Сравнительный анализ инструментов](https://reader036.fdocuments.net/reader036/viewer/2022062302/58ef5a7c1a28abcd7f8b4589/html5/thumbnails/1.jpg)
Непрерывная интеграция и автотесты. Сравнительный
анализ инструментов.Вадим Зубович
ISSoft / Coherent Solutions
![Page 2: Непрерывная интеграция и автотесты. Сравнительный анализ инструментов](https://reader036.fdocuments.net/reader036/viewer/2022062302/58ef5a7c1a28abcd7f8b4589/html5/thumbnails/2.jpg)
О себеВадим Зубович
Automation Tech LeadISsoft / Coherent Solutions
www.coherentsolutions.comwww.comaqa.bywww.dpi.solutions
![Page 3: Непрерывная интеграция и автотесты. Сравнительный анализ инструментов](https://reader036.fdocuments.net/reader036/viewer/2022062302/58ef5a7c1a28abcd7f8b4589/html5/thumbnails/3.jpg)
Continuous integrationНепрерывная интеграция – практика в разработке программного обеспечения, подразумевающая регулярную интеграцию кода в общий репозиторий, с последующей верификацией с помощью автоматической сборки.
![Page 4: Непрерывная интеграция и автотесты. Сравнительный анализ инструментов](https://reader036.fdocuments.net/reader036/viewer/2022062302/58ef5a7c1a28abcd7f8b4589/html5/thumbnails/4.jpg)
Цели для разработчиков• Минимизация времени и трудозатрат на интеграцию кода
• Возможность в любой момент собрать работоспособный продукт, готовый к релизу
• Упрощение локализации ошибок на самых ранних стадиях разработки
![Page 5: Непрерывная интеграция и автотесты. Сравнительный анализ инструментов](https://reader036.fdocuments.net/reader036/viewer/2022062302/58ef5a7c1a28abcd7f8b4589/html5/thumbnails/5.jpg)
CI для разработчиков• Регулярное добавление нового кода в общий репозиторий
• Проверка общего проекта на «собираемость»
• Запуск юнит-тестов
• Уведомление об ошибке сборки или об упавших юнит-тестах
• Необходимость оставаться на работе после чекина, пока не пройдет билд
![Page 6: Непрерывная интеграция и автотесты. Сравнительный анализ инструментов](https://reader036.fdocuments.net/reader036/viewer/2022062302/58ef5a7c1a28abcd7f8b4589/html5/thumbnails/6.jpg)
Dev vs. Test
![Page 7: Непрерывная интеграция и автотесты. Сравнительный анализ инструментов](https://reader036.fdocuments.net/reader036/viewer/2022062302/58ef5a7c1a28abcd7f8b4589/html5/thumbnails/7.jpg)
CI для автоматизатора• Регулярное добавление нового кода в общий репозиторий
• Проверка общего проекта на «собираемость»
• Запуск юнит-тестов
• Уведомление об ошибке сборки
• Запуск функциональных автотестов
• Генерация и сохранение отчетов с уведомлением о завершении тестирования
или об упавших юнит-тестах
![Page 8: Непрерывная интеграция и автотесты. Сравнительный анализ инструментов](https://reader036.fdocuments.net/reader036/viewer/2022062302/58ef5a7c1a28abcd7f8b4589/html5/thumbnails/8.jpg)
Ну и зачем?Запускаете автотесты вручную?
![Page 9: Непрерывная интеграция и автотесты. Сравнительный анализ инструментов](https://reader036.fdocuments.net/reader036/viewer/2022062302/58ef5a7c1a28abcd7f8b4589/html5/thumbnails/9.jpg)
Объединяем усилия с разработчиками
![Page 10: Непрерывная интеграция и автотесты. Сравнительный анализ инструментов](https://reader036.fdocuments.net/reader036/viewer/2022062302/58ef5a7c1a28abcd7f8b4589/html5/thumbnails/10.jpg)
Цикл автоматизации
![Page 11: Непрерывная интеграция и автотесты. Сравнительный анализ инструментов](https://reader036.fdocuments.net/reader036/viewer/2022062302/58ef5a7c1a28abcd7f8b4589/html5/thumbnails/11.jpg)
CI-Servers
![Page 12: Непрерывная интеграция и автотесты. Сравнительный анализ инструментов](https://reader036.fdocuments.net/reader036/viewer/2022062302/58ef5a7c1a28abcd7f8b4589/html5/thumbnails/12.jpg)
Поддерживаемые VCSИнструмент Системы контроля версий
Git, Mercurial, Perforce, Subversion, TFS
Git, Perforce, Subversion, TFS
Git, Perforce, Subversion, TFS
Git, Mercurial, Perforce, Subversion, TFS
Git
Git, TFS
![Page 13: Непрерывная интеграция и автотесты. Сравнительный анализ инструментов](https://reader036.fdocuments.net/reader036/viewer/2022062302/58ef5a7c1a28abcd7f8b4589/html5/thumbnails/13.jpg)
ЛицензииИнструмент Тип лицензии
Proprietary (бесплатно для open source-проектов)
Free
Free, open source
Proprietary (есть бесплатная версия)
Proprietary (есть бесплатная версия)
Proprietary
![Page 14: Непрерывная интеграция и автотесты. Сравнительный анализ инструментов](https://reader036.fdocuments.net/reader036/viewer/2022062302/58ef5a7c1a28abcd7f8b4589/html5/thumbnails/14.jpg)
Поддерживаемые платформыИнструмент Платформы
Кросс-платформенная (Java-Based)
Кросс-платформенная (Java-Based)
Кросс-платформенная (Java-Based)
Кросс-платформенная (Java-Based)
Default Ubuntu
Windows
![Page 15: Непрерывная интеграция и автотесты. Сравнительный анализ инструментов](https://reader036.fdocuments.net/reader036/viewer/2022062302/58ef5a7c1a28abcd7f8b4589/html5/thumbnails/15.jpg)
Поддерживаемые IDEИнструмент Java IDE
IntelliJ IDEA, Eclipse
Eclipse
IntelliJ IDEA, Eclipse, Net Beans
IntelliJ IDEA, Eclipse
Atom
Eclipse
![Page 16: Непрерывная интеграция и автотесты. Сравнительный анализ инструментов](https://reader036.fdocuments.net/reader036/viewer/2022062302/58ef5a7c1a28abcd7f8b4589/html5/thumbnails/16.jpg)
Поддерживаемые Баг-трекерыИнструмент Bug-tracking systems
JIRA
-
Bugzilla, JIRA, Redmine, FindBugs, Mantis, Trac
JetBrains YouTrack, JIRA, Bugzilla, FindBugs
-
Team Foundation Server
![Page 17: Непрерывная интеграция и автотесты. Сравнительный анализ инструментов](https://reader036.fdocuments.net/reader036/viewer/2022062302/58ef5a7c1a28abcd7f8b4589/html5/thumbnails/17.jpg)
УведомленияИнструмент Возможные типы уведомлений
XMPP, Google Talk, E-mail, RSS, Remote API
E-mail, CCTray
Android, E-mail, Google Calendar, IRC, XMPP, RSS, Twitter
E-mail, XMPP, RSS, IDE, SysTray
E-mail, SOAP
![Page 18: Непрерывная интеграция и автотесты. Сравнительный анализ инструментов](https://reader036.fdocuments.net/reader036/viewer/2022062302/58ef5a7c1a28abcd7f8b4589/html5/thumbnails/18.jpg)
ИтогИнструмент Вывод
Хороший инструмент, но не имеет веских преимуществ перед бесплатными аналогами
Бесплатный, но не интегрируется с баг-трекерами и имеет небогатый выбор способов нотификации и совместимых IDE
Мощный многофункциональный инструмент с огромным количеством плагинов. Бесплатный
Не уступает Jenkins по мощности и гибкости, интеллектуальная автоматическая конфигурация
Примечателен тем, что является облачным CI-сервером, с предоставляемой машиной для
билда. Для бесплатного – 1 контейнер
Ориентирован прежде всего на стек Microsoft, поэтому для Java подходит меньше других
![Page 19: Непрерывная интеграция и автотесты. Сравнительный анализ инструментов](https://reader036.fdocuments.net/reader036/viewer/2022062302/58ef5a7c1a28abcd7f8b4589/html5/thumbnails/19.jpg)
Спасибо за внимание
Вадим ЗубовичISSoft / Coherent Solutions
www.comaqa.bywww.dpi.solutions