automated tests ci

19
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов. Вадим Зубович ISSoft / Coherent Solutions

Upload: comaqaby

Post on 11-Jan-2017

233 views

Category:

Technology


0 download

TRANSCRIPT

Непрерывная интеграция и автотесты. Сравнительный

анализ инструментов.Вадим Зубович

ISSoft / Coherent Solutions

О себеВадим Зубович

Automation Tech LeadISsoft / Coherent Solutions

www.coherentsolutions.comwww.comaqa.bywww.dpi.solutions

Continuous integrationНепрерывная интеграция – практика в разработке программного обеспечения, подразумевающая регулярную интеграцию кода в общий репозиторий, с последующей верификацией с помощью автоматической сборки.

Цели для разработчиков• Минимизация времени и трудозатрат на интеграцию кода

• Возможность в любой момент собрать работоспособный продукт, готовый к релизу

• Упрощение локализации ошибок на самых ранних стадиях разработки

CI для разработчиков• Регулярное добавление нового кода в общий репозиторий

• Проверка общего проекта на «собираемость»

• Запуск юнит-тестов

• Уведомление об ошибке сборки или об упавших юнит-тестах

• Необходимость оставаться на работе после чекина, пока не пройдет билд

Dev vs. Test

CI для автоматизатора

• Регулярное добавление нового кода в общий репозиторий

• Запуск функциональных автотестов

• Проверка общего проекта на «собираемость»

• Генерация и сохранение отчетов с уведомлением о завершении

тестирования

• Запуск юнит-тестов

• Уведомление об ошибке сборки или об упавших юнит-тестах

Ну и зачем?Запускаете автотесты вручную?

Объединяем усилия с разработчиками

Цикл автоматизации

CI-Servers

Поддерживаемые VCSИнструмент Системы контроля версий

Git, Mercurial, Perforce, Subversion, TFS

Git, Perforce, Subversion, TFS

Git, Mercurial, Perforce, Subversion, TFS

Git, Mercurial, Perforce, Subversion, TFS

Git

Git, TFS

ЛицензииИнструмент Тип лицензии

Proprietary (бесплатно для open source-проектов)

Free

Free, open source

Proprietary (есть бесплатная версия)

Proprietary (есть бесплатная версия)

Proprietary (Free since 2015)

Поддерживаемые платформыИнструмент Платформы

Кросс-платформенная (Java-Based)

Кросс-платформенная (Java-Based)

Кросс-платформенная (Java-Based)

Кросс-платформенная (Java-Based)

Default Ubuntu

Windows

Поддерживаемые IDEИнструмент Java IDE

IntelliJ IDEA, Eclipse

Eclipse

IntelliJ IDEA, Eclipse, Net Beans

IntelliJ IDEA, Eclipse

Atom

Eclipse

Поддерживаемые Баг-трекерыИнструмент Bug-tracking systems

JIRA

-

Bugzilla, JIRA, Redmine, FindBugs, Mantis, Trac

JetBrains YouTrack, JIRA, Bugzilla, Mantis, FindBugs

-

Team Foundation Server

УведомленияИнструмент Возможные типы уведомлений

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

E-mail, SOAP

ИтогИнструмент Вывод

Хороший инструмент, но не имеет веских преимуществ перед бесплатными аналогами

Бесплатный, но не интегрируется с баг-трекерами и имеет небогатый выбор способов нотификации и совместимых IDE

Мощный многофункциональный инструмент с огромным количеством плагинов. Бесплатный

Не уступает Jenkins по мощности и гибкости, интеллектуальная автоматическая конфигурация

Примечателен тем, что является облачным CI-сервером, с предоставляемой машиной для

билда. Для бесплатного – 1 контейнер

Ориентирован прежде всего на стек Microsoft, поэтому для Java подходит меньше других

Спасибо за внимание

Вадим ЗубовичISSoft / Coherent Solutions

www.comaqa.bywww.dpi.solutions