2010-02-10 2 views
7

Как я понял, есть несколько случаев, когда вы можете использовать FitNesse.Использование FitNesse, а не NUnit

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

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

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

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

+0

Мне показалось странным, что кто-то воспользовался этим вопросом, но не повысил его. Это распространено на SO? –

+0

Есть ли какие-либо учебники по приему тестов .NET/Fitnesse? – HichemSeeSharp

ответ

1

Типичный ответ на ваш вопрос

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

4

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

Если вы не можете заставить заинтересованные стороны писать примеры использования и функциональные тесты, тогда вам нужна поддержка для заинтересованных сторон, в которую входит традиционный отдел QA. Не имея заинтересованного лица для этого, Это оправдание за то, что он этого не сделал.

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

8

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

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

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

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

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