Мне кажется, что FitNesse имеет следующие преимущества:
Пусть нетехнический человек определит наборы тестовых данных и ожидаемых результатов (как они определяют успех). Нетехническим лицом может быть пользователь, менеджер по продукту или, возможно, специалист по качеству программного обеспечения, который не имеет доступа к исходному коду и / или не знает, как программировать на исходном языке.
Позволяет нетехническому человеку запустить тесты и быстро оценить работоспособность тестируемого кода.
Я работаю с базой кода, где «пользовательский интерфейс» представляет собой API в библиотеке, поэтому он понятен и актуален только для других технических специалистов, которые знают язык и имеют прямой доступ к API. Мне нужно выбрать способ выполнения интеграционных тестов. Я заинтригован FitNesse, но не понимаю, зачем мне это нужно. Вот преимущества, которые все еще актуальны в этом случае:
Он обеспечивает стандартный стиль определения тестов, поэтому их легко понять другим специалистам по программному обеспечению, которым необходимо работать с тем же кодом.
Это позволяет автору исходного кода и сопровождающим быстро увидеть, где тест не прошел, а где - нет.
Тесты написаны на том же языке, что и исходный код, поэтому отдельная экспертиза (например, Perl или Python) не требуется.
Однако есть и другие простые способы достижения тех же целей, не выходя из редактора кода. Кроме того, я не вижу способа связать тесты FitNesse с автоматизированной системой, например, с помощью сервера непрерывной интеграции, запускающего их с новыми сборками. Я также не понимаю, как запускать тесты FitNesse на аппаратной платформе, отличной от платформы разработки, чтобы они не обнаружили проблем с синхронизацией.
Итак, если вы используете FitNesse в среде, где ваш «пользователь» такой же технический специалист, как и вы, почему? Если вы попробовали и отказались от этого, по каким причинам?
Если вы используете FitNesse для тестирования кода, предназначенного для отдельного проприетарного оборудования (встроенной системы), как это работает?