Использование FitNesse, а не NUnit

Поскольку я понял это, существует несколько случаев, когда можно хотеть использовать FitNesse.

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

Мое личное мнение и опыт:

  • Я могу сделать инструменты использования приемочных испытаний, такие как NUnit. Fitnesse является в основном просто платформой для вызова открытых методов для блока.NET, который может быть сделан с помощью NUnit для.
  • Заинтересованные стороны говорят мне, что они хотят. Им редко интересно в письменной форме тесты Fitnesse. У них, кажется, есть other/better/more важные вещи сделать.
  • Вы могли сделать крупномасштабное тестовое использование FitNesse. Насколько я знаю, необходимо было бы ввести весь вход для этих крупномасштабных тестов в редактора простого текста в веб-браузере. Как это было бы легче, чем чтение входных данных от текстового файла на диске, или файла Excel или базы данных? Несомненно, Вы могли указать путь к файлу на диске в веб-интерфейсе, но какое преимущество это передаст использованию NUnit для чтения того же самого файла?
  • Эти нетехнические люди должны написать код после очень определенного синтаксиса в текстовом редакторе на веб-сайте, который назовет блоки.NET позже. Код.NET становится грязным, так как нетехнический человек не знает программирование, но он все еще указывает, как блок должен работать.

Кто-то может совместно использовать некоторые другие мнения о предмете? Как FitNesse были ценны Вам?

7
задан SteveN 10 February 2010 в 15:53
поделиться

3 ответа

Типичным ответом на ваш вопрос является

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

.
1
ответ дан 6 December 2019 в 15:21
поделиться

FitNesse предназначен для совершенно иных целей, чем NUnit. Проведение приемочного тестирования с помощью NUnit означает, прежде всего, что весь набор тестов должен быть написан в коде. FitNesse разработан с расчетом на то, что при определенном уровне подготовки вы сможете писать тесты в данных. Это совершенно разные режимы работы, и они применяются к совершенно разным ресурсам. Они также поощряют очень разные взгляды на мир - разработчик тестовых примеров FitNesse работает исходя из предположения, что произойдет очень простое, прямолинейное преобразование, в то время как пользователь NUnit обладает большим количеством знаний о том, как это преобразование работает, и имеет крючки в системе, которые не имеют никакого отношения к самому преобразованию.

Если вы не можете заставить заинтересованных лиц писать сценарии использования и функциональные тесты, то вам нужен заместитель этих заинтересованных лиц, и именно здесь приходит на помощь традиционный отдел контроля качества. Отсутствие заинтересованных сторон для выполнения этих работ не является оправданием для их невыполнения.

Преимущество использования FitNesse для считывания данных через пользовательский формат довольно простое: Это стандартный способ ввода тестовых примеров. Если вы не видите в этом выгоды, возможно, вам нужно потратить некоторое время на то, чтобы пройти по пути, который вы описываете, потому что в конце концов вы столкнетесь с некоторыми стенами, и, возможно, они помогут вам понять.

5
ответ дан 6 December 2019 в 15:21
поделиться

Итак, да, вы могли бы написать приемочные тесты в nUnit, но это упускает суть. Предполагается, что Fitnesse является альтернативным пользовательским интерфейсом для вашего приложения, который выражает подробный поток утверждений:

Пользователь делает это Пользователь делает то, что теперь пользователь видит это

В идеале фитнес-слой может располагаться прямо над самым верхним уровнем вашего приложения, заменяя последний слой рендеринга.

Инструменты модульного тестирования на самом деле не предназначены для этого, вы можете это сделать? Конечно. Но это странно.

Еще одна вещь, на мой взгляд, заключается в том, что вы немного ошибаетесь в том, что «вы хотите, чтобы тесты писали нетехнические люди». Fitnesse - это инструмент для сотрудничества. Вы должны писать тесты С заинтересованными сторонами, давать и получать отзывы. Затем он может быть документацией. Итак, год спустя, когда кто-то захочет узнать, почему система работает так, как она работает, вы можете открыть тесты, отображаемые таким образом, чтобы БА понимал (в отличие от nUnit), и сказать: хорошо, вот оно, если мы его изменим. ?

8
ответ дан 6 December 2019 в 15:21
поделиться
Другие вопросы по тегам:

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