Мне кажется FitNesse имеет следующие преимущества:Зачем использовать FitNesse, когда тесты очень технические?
Пусть нетехнических человек определить наборы тестовых данных и ожидаемых результатов (как они определяют успех). Нетехническим человеком может быть пользователь, менеджер по продуктам или, возможно, специалист по качеству программного обеспечения, который не имеет доступа к исходному коду и/или не знает, как программировать на исходном языке.
Позволяет нетехническому человеку проводить тесты и быстро ощущать здоровье тестируемого кода.
Я работаю с кодом базы, где «пользовательский интерфейс» является API в библиотеке, так что понятно и относится только к другим техническим специалистам, которые знают язык и имеют прямой доступ к API , Мне нужно выбрать способ проведения интеграционных тестов. Я заинтригован FitNesse, но я не понимаю, почему я мог бы беспокоиться. Эти преимущества, которые до сих пор применяются в этом случае:
Он навязывает стандартный стиль для определения тестов, поэтому они легко понять других профессионалов программного обеспечения, которые должны работать с тем же кодом.
Это позволяет автору и сопровождающим лицам исходного кода быстро видеть, где тест не удается и как он сработал.
Испытания написаны на том же языке, что и исходный код, поэтому отдельный объем экспертизы не требуется (например, perl или python).
Однако существуют и другие простые способы достижения этих же целей, без необходимости оставлять редактор кода. Кроме того, для запуска тестов я не вижу способа связать тесты FitNesse с автоматизированной системой, например, чтобы сервер непрерывной интеграции запускал их с новыми сборками. Я также не вижу, как запускать тесты FitNesse на аппаратной платформе, отличной от платформы разработки, поэтому они не будут улавливать проблемы времени.
Итак, если вы используете FitNesse в среде, где ваш «пользователь» такой же технический, как и вы, почему? Если вы попробовали его и решили против него, каковы были ваши причины?
Если вы используете FitNesse для проверки кода, предназначенного для отдельного проприетарного оборудования (встроенной системы), как это работает?
Автоматическое тестирование против встроенной системы - это возможность самих червей, особенно когда тесты требуют значительных внешних стимулов. (Подумайте, подушка безопасности, которая проверяет входные данные от нескольких акселерометров.) Мне лично удалась сделать единичные тесты встроенного кода, построив его для тестирования на ПК и подтвердив через функциональное тестирование, что он обычно работает во встроенной системе.Но у моих проектов также нет бюджета, чтобы купить стоимость лабораторных программируемых генераторов сигналов и регистраторов данных для создания истинной тестовой ячейки. – RBerteig
Автоматическое тестирование в этой системе проще, потому что нет движущихся частей, и это linux, поэтому я могу подключить систему к моей операционной системе Linux и запустить (скомпилированный) исполняемый файл без прохождения цикла загрузки, который вы получаете в RTOS или -OS. Тем не менее, когда дело доходит до этого, программное обеспечение видит мир как специфический вход, который можно имитировать. Независимо от того, является ли имидж стоимостью инвестиций, это очень специфичный проект. В этом случае внедрение стека протоколов из драйвера устройства в соответствии с требованиями тестирования аналогично тому, как это делается для разработки не встроенных API. – jasper77
Я полностью согласен с вашим утверждением, что трудно подключиться к автоматизированной системе сборки является серьезным недостатком – ossandcad