Инфраструктура требуется для TDD?

Я 'относительно плохо знаком' с поблочным тестированием и TDD. Только позже имейте, я завершил свое первое производственное приложение, которое имеет (по крайней мере, в теории) 100%-е покрытие кода. Я делал поблочное тестирование в предыдущих проектах также в течение некоторого времени, но не истинным способом TDD и с хорошим покрытием кода. Это всегда была запоздалая мысль. Я чувствую, что у меня есть довольно хорошее схватывание на нем теперь все же.

Я также пытаюсь обучить остальную часть команды на TDD и поблочном тестировании так, чтобы мы могли вырастить togeather и начать продвигаться с выполнением поблочного тестирования во всех наших приложениях и в конечном счете прогрессировать до выполнения полного TDD w/автоматизированные сборки и непрерывная интеграция. Я отправил поток здесь относительно моего плана нападения / учебная программа для комментариев и критики.

Один из ответов (на самом деле проголосовавшее самое высокое) предложил, чтобы я сначала установил инфраструктуру, прежде чем я продвинусь с обучением. К сожалению, у меня нет воздействия этому, и гуглящий по темам является трудным, потому что страницы для CruiseControl.NET / nAnt / и т.д. действительно не объясняют, 'почему' мы должны настроить это и, 'как' все соединяет togeather.

Мы - небольшой магазин (приблизительно 10 разработчиков) и используем почти исключительно технологии Microsoft и делаем нашу разработку в VB.NET. Мы надеемся в конечном счете начинать использовать C#, но это в течение другого времени. Я использовал проект MSTest, который идет с VS2008 для моих модульных тестов, и я создавал свои приложения с помощью Visual Studio, и развертывая использование проектов установки MSI... Мы также (к сожалению), используем VSS для нашего управления Соре - но это находится также на колоде для рубки мяса, и я действительно хотел бы избавиться от него и подверсия использования.

Я знаю, что должен использовать CruiseControl.NET для CI, и или nAnt или MSBuild для того, чтобы создать приложения. И мне, вероятно, нужен сервер сборки для выполнения всех этих сборок. Но я просто не могу найти ничего, что 'соединяет' точки и объясняет, как они взаимодействуют друг с другом, что должно быть на Вашем сервере сборки, когда необходимо создать с сервером сборки (это только для сборок развертывания, или даже когда Вы просто хотите скомпилировать приложение, Вы разрабатываете после создания небольшого изменения на Вашем окружении?). Я - также планирование исключения MSTest, поскольку я нашел, что это багги, и буду использовать nUnit вместо этого.

Кто-либо может, возможно, осветить этот разрыв, который я имею от 'знания, как сделать TDD' к 'установке надлежащей инфраструктуры, таким образом, целая команда может сделать это и работать togeather'? Я действительно понимаю, какова непрерывная интеграция, но снова, я не уверен, как сервер сборки должен быть установкой и как это соединяется со всем, и почему нам нужен один (например, подача к управлению).

большое спасибо за Ваше время.

В какой части finalbuilder я нуждаюсь? Кажется, что существует некоторое перекрытие с заключительным разработчиком и teamcity. Сервер Finalbuilder, кажется, сервер CI, таким образом, я предполагаю, что мне не нужно это. FinalBuilder, кажется, сервер сборки - но я думал, что TeamCity является также сервером сборки... И Автосоглашение, кажется, визуальное средство автоматизации окон, как некоторая платформа разработки для приложений winforms...

_I также не видят поддержки заключительного разработчика в Городской Схеме Поддерживаемых приложений Команды: _

7
задан Community 23 May 2017 в 12:13
поделиться

1 ответ

Взгляните на веб-семинар I сделал несколько недель назад - Как успешно начать модульное тестирование . На этом веб-семинаре я говорил об инструментах и ​​передовых методах модульного тестирования, и он был нацелен на таких разработчиков, как вы, которые хотят внедрить модульное тестирование в своей организации.

Первым делом вы хотите внедрить CI (непрерывную интеграцию) на месте, и для этого вам понадобятся три инструмента:

  1. Управление версиями
  2. Сервер сборки
  3. Клиент сборки / сценарий

Я надеюсь, что у вас уже есть какая-то форма управления версиями, поэтому давайте поговорим о двух других.

Сервер сборки - проверки элемент управления исходным кодом, и когда он изменяется (или выполняется какое-либо другое условие) запускает сценарий сборки на каком-то клиенте (или на том же компьютере), доступно несколько серверов сборки. Я рекомендую JetBrain TeamCity , его легко установить и использовать (отлично веб-интерфейс) и бесплатен для 20 разработчиков (это вы сами).

Скрипт сборки - в вашем клиенте сборки вы хотите запустить скрипт сборки, который будет создавать ваше решение и запускать ваши модульные тесты. TeamCity имеет некоторые базовые возможности сборки и тестирования, но для более продвинутых опций (установщик сборки, документация и т. Д.) Вам нужно ' На работе понадобится какой-нибудь скрипт-раннер. Мы используем FinalBuilder - он не бесплатный, но имеет очень хороший редактор. Если вы ищете бесплатную альтернативу, взгляните на ANT или NANT , но будьте готовы к редактированию большого количества XML.

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

5
ответ дан 7 December 2019 в 12:21
поделиться
Другие вопросы по тегам:

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