Что является самым легким набором инструментов для начала работы с Управлением исходным кодом, TDD и CI для Microsoft. Сеть 2008/2010 [закрытый]

5
задан pnuts 26 October 2015 в 03:43
поделиться

7 ответов

В средах .NET чаще всего используется Microsoft Visual SourceSafe. (но стоит). Рядом с этим вы можете выбрать SVN или GIT. Git появился позже (и набирает популярность). С ним легче работать, чем с SVN, когда вы его получите.

http://git.wiki.kernel.org/index.php/GitSvnComparison может помочь с вашим решением.

-1
ответ дан 18 December 2019 в 10:44
поделиться

Один из инструментов, который заставил меня увлечься TDD, - это TestDriven.Net , который помещает результаты тестирования в окно вывода. Я сопоставил это с клавишей F8, и прирост производительности превосходный; напишите тест, нажмите F8 и посмотрите результат в окне вывода.

Одно предложение. Я также должен различать модульные тесты и TDD. Я обнаружил, что TDD может быть трудным для команды, в то время как; Модульные, интеграционные или функциональные тесты продать проще. Наличие набора тестов, которые экономят час, ежедневно выполняя ручное тестирование, - это большая победа.

Через некоторое время люди начнут ценить некоторые новые идеи, если они помогают им в повседневной жизни. Затем вы сможете представить сервер сборки и отказаться от SourceSafe.

0
ответ дан 18 December 2019 в 10:44
поделиться

Я бы не рекомендовал сразу сваливать все эти инструменты и методологии на вашу команду, делайте детские шаги. Внедряйте по одному за раз. Некоторые придут сами собой.

6
ответ дан 18 December 2019 в 10:44
поделиться

Я хочу повторить то, что сказал Джордж Мауэр, и предлагаю начать с MSTest для модульного тестирования. Это прямо там, в коробке, чтобы начать с Visual Studio, это поможет в вашем деле, поскольку он «благословлен MS».

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

Я полагаю, что достойный SCM мог бы стать камнем преткновения. SourceSafe лучше, чем ничего. Может быть, начать использовать Mercurial или Git самостоятельно? Покажите тем, кто готов к изменениям, преимущества; в конце концов, ваш упрямый разработчик придет к вам, когда другие вокруг него захотят переключиться. Надеюсь, ему будет труднее кричать, если он в меньшинстве.

Ознакомьтесь с http://www.viget.com/extend/effectively-using-git-with-subversion/ для идей, связанных с смешиванием различных SCM.

Я также хочу +1 mxmissile за то, что сказал не торопиться. Я думаю, вам будет очень сложно внести все эти изменения за один раз. Поначалу это сложно понять, если вы к этому не привыкли. Постарайтесь выбрать ту часть, в которой вы слабее всего, или она принесет больше пользы и будет развиваться дальше.

Удачи!

1
ответ дан 18 December 2019 в 10:44
поделиться

Я думаю, вы можете действительно убедительно доказать, что за последние два года Microsoft полностью приняла Agile. Я точно знаю, что команды Codeplex, MEF и ASP.NET MVC очень увлечены этим. Я также думаю , что визуальная студия и часть команды Windows 7 являются Agile. Также учтите, что Visual Studio 2010 включает готовые рефакторинги, которые на самом деле не имеют особого смысла вне контекста TDD, и что Agile - это шаблон управления проектами по умолчанию для TFS и картина корпоративной культуры, которая сильно отличается из прошлых лет начинает проявляться.

Что касается конкретных инструментов. TFS подходит для системы управления версиями, но я считаю ее очень тяжелой и привередливой. Другие упоминали Subversion, но если вы беспокоитесь о благословениях MS, возможно, вам повезет сразу перейти на Mercurial. Это более продвинутая SCM, но теперь она изначально поддерживается Codeplex и имеет отличную интеграцию с Windows. Я никогда не использовал его, но я глубоко влюблен в его кузена мерзавца.

Разработка через тестирование: начните с MSTest, это не так гладко, как хотелось бы, но это не самое худшее в мире. Я также порекомендовал бы MbUnit, в котором есть все функции NUnit, а также хорошая поддержка интеграционных тестов, которые вы, вероятно, напишете случайно, когда только начинаете тестирование. О, и если у вас есть помешанный на настройке, я бы посоветовал ему взглянуть на XUnit.Net.

Насмешка: выбор в основном Rhino Mocks или MoQ. Вот краткое вступление, которое я написал для Rhino Mocks , в котором рассматриваются все основы.При этом компромисс, похоже, заключается в большей документации для RM по сравнению с гораздо менее подверженным ошибкам синтаксисом для MoQ.

Средство выполнения тестов: если вы начнете с MSTest, вы заметите, что вы можете значительно повысить скорость выполнения тестов, используя TestDriven.Net, resharper или coderush вместо встроенного средства запуска тестов. При этом не стоит недооценивать автономных участников тестирования. Время от времени они могут быть неплохими. Я настоятельно рекомендую бегун Gallio Icarus, который поставляется с MbUnit.

1
ответ дан 18 December 2019 в 10:44
поделиться

Всегда будет сложно вводить новые инструменты, если вы не можете достичь консенсуса. Сосредоточьтесь на достижении консенсуса, а не на инструментах.

SVN очень хорош (с Ankh и TSVN), но может немного удивить людей, привыкших к SourceSafe.

TDD - это метод, а не набор инструментов, поэтому вам потребуются книги, блоги и т. Д. Инструменты для его поддержки - NUnit или MSTest. Непрерывная интеграция обязательна. CruiseControl.Net довольно хорош (хотя сначала немного сложно настроить). Рассмотрим также TeamCity.

У вас есть система отслеживания ошибок?

Да, и если ваша управленческая команда настолько апатична, подумайте о том, чтобы уйти.

Обновление: вы сказали, что они не столько «апатичны», сколько «невнимательны». Вопрос: действительно ли они не вмешиваются и позволят ли вам двигаться дальше? Или это «статус-кво» - «ничего не сломано, так что не чини и не раскачивай лодку»?

3
ответ дан 18 December 2019 в 10:44
поделиться

Есть много хороших вариантов, но я могу лично порекомендовать их:

  • Source control : Subversion с TortoiseSVN и Ankh или VisualSVN
  • Непрерывная интеграция : CruiseControl.NET
  • Инструменты TDD : NUnit + ваш фреймворк на выбор (я использую NMock , хотя он немного олдскульный). Я согласен с комментатором Эриком в том, что TestDriven.NET просто необходим, особенно если вы хотите упростить эту задачу!

С ними легко начать, потому что все они хорошие продукты, достаточно хорошо документированные и широко используемые (так что получить помощь легко).

6
ответ дан 18 December 2019 в 10:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: