2009-12-12 1 views
2

Я упреждающе отмечаю это сообщество wiki, потому что, ну, это так.Любые истории успеха/слова мудрости от людей, которые переместили веб-приложения в непрерывную интеграцию?

Мне интересны слухи от людей, которые имеют реальную жизнь истории успеха в переходе к непрерывной интеграции для веб-приложения. В частности, меня больше всего интересуют:

  • Какие инструменты вы использовали для агрегирования отчетов (например, Hudson)?
  • В каком коде было ваше приложение (например, только JavaScript API, сочетание кода на стороне сервера + код клиента и т. Д.)
  • Какие инструменты вы использовали для проведения модульного тестирования?
  • Какие инструменты использовали для обеспечения функционального, дымового и т. Д. Тестирования?
  • Какие культурные препятствия вы должны преодолеть, если вам нужно было что-то преодолеть, чтобы перейти к CI?

Что касается меня, я нахожусь в центре успешной интеграции, но для этой интеграции была стоимость (я на самом деле плакала в какой-то момент поздно вечером). Причина: я искусственно ограничен моей средой, и я дополнительно стараюсь делать что-то в своей ограниченной среде, которую никто не делал.

Но никогда не страх, нет вопиющего в программировании (большую часть времени), и вот мои собственные ответы на мои вопросы:

  • Хадсон мой мастер CI инструмент. Разработка происходит на Mac, Windows и Linux, но CI-сборки все происходят в Linux.
  • Я отвечаю за чистый JavaScript API, плюс крошечный бит PHP.
  • Я использую YUI Test 3 для модульного тестирования, нажав через Selenium Remote Control, работающий в безголовой среде на Linux-боксе.
  • QA использует Selenium со всеми тестами, написанными на Java Selenese.
  • Культурные препятствия: Это было интересно. Люди просто не разбираются в тестировании JavaScript. Например, вот ответ от собрания: «Нет, мне нужен браузер для запуска моих модульных тестов. Почему я должен запускать свои тесты за пределами браузера?» Или: «Давай, разработчикам тоже нужно запустить эти модульные тесты. Почему мне нужно упаковать все и все это лечить так формально?»

ответ

2

Я перевел наш продукт, небольшая команда из 7 человек, в Хадсон. Вот немного фона:
Наша команда очень талантлива, но страдает от нового разработчика, мне не нужно испытывать менталитет. Я не мог рассказать вам, сколько раз за первые несколько недель наша сборка была разбита повторяемо в тот же день. Мы следовали методологии Agile Development, которая использовала итерации/спринты для создания выпускаемого кода через определенные промежутки времени. Пока я уверен, что вы видите мою боль. Я установил Хадсона и не оглянулся назад, потому что мне не только не нужно постоянно контролировать сборку и состояние модульных тестов.

• Какие инструменты вы использовали для агрегирования отчетов (например, Hudson)?
Hudson

• В каком коде было ваше приложение (например, только JavaScript API, сочетание кода на стороне сервера + код клиента и т. Д.).)
Grails (Groovy, JQuery, Javascript)

• Какие инструменты вы использовали для проведения Unit Testing?
Испытания Groovy Unit были созданы для всех файлов и по одной на каждую ошибку, обнаруженную , для оказания помощи при регрессионном тестировании и обеспечения результатов, которые могут быть вызваны клиентом.

• Какие инструменты использовали для обеспечения функциональности, дыма и т. Д.?
Испытание дыма из-за размера и индивидуальности команды.

• Какие культурные препятствия вы преодолевали, если вам нужно было что-то преодолеть, чтобы перейти к CI?
Честно говоря, это было огромное препятствие. Разработчики жаловались на количество времени, необходимое для создания модульных тестов, которые позже поняли время, полученное благодаря постоянному тестированию Hudson. Первоначально разработчики чувствовали, что я пытаюсь «указывать пальцем» на людей за нарушение строений.

Если вам нужна дополнительная информация, дайте мне знать.

+0

Я слышал, как все больше людей строят единичные тесты вокруг зарегистрированных ошибок. Мне нравится эта методология как очень простой способ сосредоточения времени на построении модульных тестов. – jeremyosborne

+0

Мы нашли это очень полезным. Это также увеличивает доверие наших клиентов, потому что мы показываем сборку, которая поставляется в поставляемую документацию по модулярным испытаниям. – XanderLynn

+0

Есть ли у вас пример, который вы могли бы рассказать о том, что и как вы строите модульные тесты в поставляемой документации? – jeremyosborne

Смежные вопросы