Зачем использовать FitNesse, если тесты носят технический характер? - PullRequest
3 голосов
/ 17 сентября 2010

Мне кажется FitNesse имеет следующие преимущества:

  • Пусть нетехническое лицо определяет наборы данных испытаний и ожидаемых результатов (как они определяют успех). Нетехническим лицом может быть пользователь, менеджер по продукту или, возможно, специалист по качеству программного обеспечения, который не имеет доступа к исходному коду и / или не знает, как программировать на исходном языке.

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

Я работаю с базой кода, где «пользовательский интерфейс» - это API в библиотеке, поэтому он понятен и актуален только для других технических специалистов, которые знают язык и имеют прямой доступ к API. Мне нужно выбрать способ проведения интеграционных тестов. FitNesse заинтриговал меня, но я не понимаю, почему я могу беспокоиться. Вот преимущества, которые все еще применяются в этом случае:

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

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

  • Тесты написаны на том же языке, что и исходный код, поэтому отдельный набор знаний не требуется (например, perl или python).

Однако есть и другие простые способы достижения тех же целей, не выходя из редактора кода. Кроме того, для запуска тестов я не вижу способа связать тесты FitNesse с автоматизированной системой, например, запустить сервер непрерывной интеграции с новыми сборками. Я также не понимаю, как запускать тесты FitNesse на аппаратной платформе, отличной от платформы разработки, чтобы они не улавливали проблемы с синхронизацией.

Итак, если вы используете FitNesse в среде, где ваш «пользователь» такой же технический, как и вы, почему? Если вы попробовали это и решили против этого, каковы были ваши причины?

Если вы используете FitNesse для тестирования кода, предназначенного для отдельного проприетарного оборудования (встроенной системы), как это работает?

1 Ответ

0 голосов
/ 20 сентября 2010

Я полностью согласен с вашим утверждением, что сложность включения в автоматизированную систему сборки является серьезным недостатком (расширение комментария выше до ответа), и по этой причине я выбрал альтернативную реализацию Fit для C ++, CeeFit. Первоначальный веб-сайт ( ceefit.woldrich.com ), на котором размещалась документация по CeeFit, не работал в течение многих месяцев, но, похоже, сейчас работает. CeeFit может быть легко автоматизирован и интегрирован в любой CI, но отсутствует вывод в любом формате, приемлемом для CruiseControl.NET, например Что касается того, может ли CeeFit работать на встроенных системах, не уверен, в документации ничего не сказано.

...