Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Continous Integration, поделитесь впечатлениями 
:(
    Опции темы
Greg
Дата 22.12.2006, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 16.9.2006
Где: Беларусь, г.Минск

Репутация: 5
Всего: 7



Доброго времени суток.
Я вот хотел бы уточнить пару моментов,касательно этой технологии у тех людей которые использовали(ют) её на работе.
Читал по этому вопросу статью Мартина Фоулера
1.Занимается ли девелопер сборкой всего приложения на своей девелоперской машине для того,чтобы прогнать тесты и решить нужно ли добавлять изменения в репозиторий ?
Большое приложенние может собираться достаточно долго,поэтому может девелопер собирает только отдельные модули приложения и тестирует их ? 
Знакомый мне рассказывал,что он сливает все исходники (~1000 классов),делает изменения и если тесты прошли успешно,записывает изменения в репозиторий.
2.Сколько по максимуму времени девелопер может тратить на сборку и тестирование ?
--------------------
Страх перед возможностью ошибки не должен отвращать нас от поисков истины.
PM MAIL   Вверх
chief39
Дата 22.12.2006, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: 11
Всего: 77



Цитата(Greg @  22.12.2006,  13:50 Найти цитируемый пост)
1.Занимается ли девелопер сборкой всего приложения на своей девелоперской машине для того,чтобы прогнать тесты и решить нужно ли добавлять изменения в репозиторий ?

КАНЕЧНА!!! Мало ли что он там напортачил...


Цитата(Greg @  22.12.2006,  13:50 Найти цитируемый пост)
Большое приложенние может собираться достаточно долго,поэтому может девелопер собирает только отдельные модули приложения и тестирует их ? 

Не исключено. Если система находится не в процессе отладки, а массовой быстрой наработки вороха кода в экстремальном стиле. Но, связи между модулями должны быть весьма прозрачными и слабыми.
Всё равно, желательно прогонять полностью. Но, по кускам иногда тоже оправдано.
Тут решать организатору.
(Кстати, как показывает опыт, люди всё равно будут исподтишка прогонять кусочек и коммитить, а потом делать квадратные глаза "а у меня всё вроде бы работало...  smile " )
Тут уже надо организационно решать... to beat or not to beat!/ По рукам, ессно smile


Цитата(Greg @  22.12.2006,  13:50 Найти цитируемый пост)
Знакомый мне рассказывал,что он сливает все исходники (~1000 классов),делает изменения и если тесты прошли успешно,записывает изменения в репозиторий.

"Пралльно, дядь Фёдор, бутерброд кушаишшь..."

Цитата(Greg @  22.12.2006,  13:50 Найти цитируемый пост)
2.Сколько по максимуму времени девелопер может тратить на сборку и тестирование ? 

Вопрос хитрый как мир.
Хорошо если ему хватит две минуты в день без потери качества....
Но... частенько(мягко говоря) нам нужен хороший велосипед, а не самосвал,  который никогда не сможет ездить.
Вопрос так же индивидуален, как критические дни у женщины.
Вот так, наобум говоря, если проект в процессе разработки - то процентов до 50-60 можно.
Если "ждать пока джиюниты прогонятся" - тогда, лучше, конечно до 10-20%.
А когда кодфриз - то можно девелоперов на 100% задействовать в тестировании.

Тесты тестам рознь...





--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
Greg
Дата 22.12.2006, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 16.9.2006
Где: Беларусь, г.Минск

Репутация: 5
Всего: 7



chief39, cпасибо огромное за каменты  smile !
Сам Continous Integration Server,насколько я понял,занимается сборкой приложения через определённые интервалы времени/по коммиту в репозиторий и предоставлением отчёта о том,что,когда и с каким результатом собралось.Может быть есть что-то еще,что девелоперу необходимо знать про CI ?



Это сообщение отредактировал(а) Greg - 22.12.2006, 22:02
--------------------
Страх перед возможностью ошибки не должен отвращать нас от поисков истины.
PM MAIL   Вверх
batigoal
Дата 25.12.2006, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 16
Всего: 151



Имхо, эти вещи очень сильно зависят от методологии и инструментария. У нас, например, применяется UCM-модель от Rational, в рамках котороq каждый девелопер/фича имеют разные стримы, которые время от времени сливаются в Integration в полуавтоматичемком режиме.

Цитата(Greg @  22.12.2006,  14:50 Найти цитируемый пост)
1.Занимается ли девелопер сборкой всего приложения на своей девелоперской машине для того,чтобы прогнать тесты и решить нужно ли добавлять изменения в репозиторий ?

Предпочтительно - да, но это не всегда возможно. Да и собирать/ставить/конфигурить приложение в нашем случае отнимало бы полдня-день. Нерационально.

Цитата(Greg @  22.12.2006,  14:50 Найти цитируемый пост)
2.Сколько по максимуму времени девелопер может тратить на сборку и тестирование ? 

В идеале, я считаю, 0. Сборкой должен заведовать отдельный человек, билд-менеджер. Тестирование тоже должно быть только на простую валидацию. Остальное - дело тестеров.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
chief39
Дата 25.12.2006, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: 11
Всего: 77



Цитата(Greg @  22.12.2006,  22:02 Найти цитируемый пост)
Continous Integration Server

Это тулза конкретного вендора? Такую не пользовал.


Цитата(batigoal @  25.12.2006,  13:34 Найти цитируемый пост)
В идеале, я считаю, 0. Сборкой должен заведовать отдельный человек, билд-менеджер. Тестирование тоже должно быть только на простую валидацию. Остальное - дело тестеров. 

Ммм... Спорный идеал.
Билд менеджер должен быть, обязательно. Он заведует сборкой и организацией её процесса. Но не на каждой отдельно взятой машине.

Цитата(batigoal @  25.12.2006,  13:34 Найти цитируемый пост)
Тестирование тоже должно быть только на простую валидацию.

Цитата(chief39 @  22.12.2006,  15:36 Найти цитируемый пост)

Тесты тестам рознь...

Разрабатываю, к примеру, я модуль "ПурПырБурМация".
Он должен ПурПырБурировать и ПурПырБурМировать.

Написал некий кусок его.
Коммичу.
Валится.
На сервере.
Бьют меня вдесятером.
Час ждут пересборки на сервере.
Исправляю - тестер ругается - НуллПойнтер у меня

А почему валится? Потому что я не сделал:
Собрать у себя локально проект с моим модулем - сборка ОК.
Запустить юнит-тесты - юнит-тесты ОК.
Прогнал свою бизнес-логику - работает. И, вроде бы, корректно.
То что работает - это уже тестер без нуллпойнтеров.
То что вроде бы, и кажись на сотую процента результат отклоняется  - это уже действительно дело тестера.

Ну и, плюс, тестеров я различаю.
Есть те, которые могут ревьюить архитектуру, реализацию, код, писать сложные автоматические функциональные тесты, писать джиюнит тесты на роль use-case(то ест ьзакодированные уже бизнес-требования). Но их все считают разработчиками... Потому что тестер - это немодно.
И есть те, кто тыкает непонятные кнопки и когда видит непонятную надпись, кричит: Коля!!! Саша!!! У меня тут кошмар!!!

Ну, в принципе, наши точки зрения не расходятся smile




--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
batigoal
Дата 25.12.2006, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 16
Всего: 151



Цитата(chief39 @  25.12.2006,  16:24 Найти цитируемый пост)
Потому что тестер - это немодно.

Да они уже давно все в QA-инженеров переименовались smile


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
chief39
Дата 25.12.2006, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: 11
Всего: 77



Цитата(batigoal @  25.12.2006,  15:45 Найти цитируемый пост)
Да они уже давно все в QA-инженеров переименовались smile

Вытащил всё-таки на свет термин smile

Я тут без штампов пытался... smile


--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
Greg
Дата 1.1.2007, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 16.9.2006
Где: Беларусь, г.Минск

Репутация: 5
Всего: 7



Цитата(chief39 @  25.12.2006,  15:24 Найти цитируемый пост)
Это тулза конкретного вендора? Такую не пользовал.

Нет,это не тулза а название для абстрактного сервера интеграции  smile 
Цитата(chief39 @  25.12.2006,  15:24 Найти цитируемый пост)
Час ждут пересборки на сервере.

Хм.. хм..
А если опять какая-нибудь детская ошибка вылезет,исправлять и ещё один час ждать ?
До этого мне представлялось,что целесообразно сначала прогонять jUnit тесты для той части приложения,за которую отвечает девелопер (их пишет сам девелопер) и,в случае успеха,сборка всего приложения и прогонка тестов по всему приложению.
Первая часть по времени не должна занимать много.И если она завершится успешно - то во вотрой части получение ошибки менее вероятно.


--------------------
Страх перед возможностью ошибки не должен отвращать нас от поисков истины.
PM MAIL   Вверх
JUncle
Дата 2.1.2007, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 162
Регистрация: 6.4.2006
Где: Казань, РФ

Репутация: нет
Всего: 1



Цитата(batigoal @  25.12.2006,  13:34 Найти цитируемый пост)
В идеале, я считаю, 0. Сборкой должен заведовать отдельный человек, билд-менеджер. Тестирование тоже должно быть только на простую валидацию. Остальное - дело тестеров. 

Это смотря какая методология используется.
--------------------
class JUncle extends Man // singleton{/*...*/}
PM MAIL   Вверх
batigoal
Дата 2.1.2007, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 16
Всего: 151



Цитата(JUncle @  2.1.2007,  12:29 Найти цитируемый пост)
Это смотря какая методология используется. 

А какие есть?



--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
JUncle
Дата 2.1.2007, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 162
Регистрация: 6.4.2006
Где: Казань, РФ

Репутация: нет
Всего: 1



batigoal,  ну к примеру TDD - Test Driven Development, как видно из названия, разработка управляется тестами и тестеры нужны только для тестов уже более-менее готовых вещей. Unit тесстами занимаются непосредственно разработчики.
--------------------
class JUncle extends Man // singleton{/*...*/}
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.2281 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.