Я упреждающе отмечаю это сообщество 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. Например, вот ответ от собрания: «Нет, мне нужен браузер для запуска моих модульных тестов. Почему я должен запускать свои тесты за пределами браузера?» Или: «Давай, разработчикам тоже нужно запустить эти модульные тесты. Почему мне нужно упаковать все и все это лечить так формально?»
Я слышал, как все больше людей строят единичные тесты вокруг зарегистрированных ошибок. Мне нравится эта методология как очень простой способ сосредоточения времени на построении модульных тестов. – jeremyosborne
Мы нашли это очень полезным. Это также увеличивает доверие наших клиентов, потому что мы показываем сборку, которая поставляется в поставляемую документацию по модулярным испытаниям. – XanderLynn
Есть ли у вас пример, который вы могли бы рассказать о том, что и как вы строите модульные тесты в поставляемой документации? – jeremyosborne