Почему Fit/FitNesse?

Разрешить приложению расширить SpringBootServletInitializer решит проблему.

public class Application extends SpringBootServletInitializer {
// ...
}
23
задан JasonMArcher 24 August 2014 в 01:32
поделиться

3 ответа

Самое главное должно работать с [1 112] непрограммисты, часто даже абсолютно нетехнические люди как пользователи перспективы бизнес-приложения, на том, какое приложение должно сделать и затем поместить его в тесты. В то время как создание тестов работать является, конечно, слишком сложным для них, они должны быть в состоянии обсудить таблицы демонстрационных данных, заполненных в, например, Word. И большая вещь, в отличие от традиционной спецификации, те документы, живые с Вашим приложением, потому что автоматизированные тесты вынуждают Вас обновить их.

Видят Введение, Чтобы Соответствовать и Пригодный Рабочий процесс James Shore и перейти по ссылкам к остальной части документации, если Вы хотите.

<час>

Обновление: Зависит от того, что Вы подразумеваете под бизнес-правилами?;-), Некоторые люди поняли бы это очень узко (как в механизмах бизнес-правил и т.д.), другие---очень широко.

, Поскольку я вижу его, Соответствие является инструментом, который позволяет Вам записывать бизнес (как в домене) варианты использования с богатыми реалистическими примерами в документе, который конечные пользователи или специалисты по проблемной области (в некоторых доменах) могут понять, проверить и обсудить. В то же время эти примеры находятся в машиночитаемой форме, таким образом, они могут использоваться, чтобы управлять автоматизированным тестированием, Вы ни записать документ полностью собой, ни requre их, чтобы сделать это. Вместо этого это - продукт callaboration и обсуждения, которое отражает понимание роста того, что приложение собирается сделать с обеих сторон. Примеры становятся более богатыми, в то время как Вы прогрессируете, и разрешено больше угловых случаев.

, Что приложение сделает, не, как, важно. Это - форма функциональной спецификации. Как таковой это довольно широко и не действительно организованное сценариями использования, а скорее модулями.

тесты, которые выходят из примеров, протестируют внешнее поведение приложения в аспектах, важных с бизнес-точки зрения. Да, Вы могли бы назвать это бизнес-правилами. Но позволяет взгляду на пример Diego Jancic рейтинга кредитоспособности, только с небольшим скручиванием. Что, если часть пригодного документа 1) перечисляет атрибуты и их очки и затем 2) обеспечивает клиентские данные и проверяет результаты, То, которые являются фактическими бизнес-правилами: выигрыш таблицы (атрибуты и их очки) или прикладная логика, вычисляя счет к каждому клиенту (на основе выигрыша таблицы)? И которые тестируются?

тесты Fit/FitNesse кажутся более подходящими для приемочных испытаний. Другие тесты (когда Вы не заботитесь о сотрудничестве с клиентами, пользователями, специалистами по проблемной области, и т.д., Вы просто, хотят автоматизировать тестирование), вероятно, будет легче записать и поддержать более традиционными способами. xUnit хорош для тестов API и поблочного тестирования. Каждая веб-платформа должна иметь некоторый инструмент для веб-приложения / эксплуатационное испытание, интегрированное в его modify-build-test-deploy цикле, например, django имеет свой маленький тестовый клиент. У Вас есть партии к, выбрал из.

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

<час>

Еще одна общая мысль. Это часто (не всегда!!!) лучше для кодирования тестов, "бизнес-правил" и примерно чего-либо, в некоторой форме четко определенных данных, которые интерпретируются некоторой простой, универсальной частью кода. Тогда это просто в использовании данные некоторым другим способом: генерируйте документацию, мигрируйте на новую среду тестирования, приложение порта к новой среде/языку программирования, используйте для проверки соответствия с некоторыми внешними правилами, или другая система (просто используют воображение). Намного более трудно вытянуть такую информацию из кода, например, простые hardcoded модульные тесты или бизнес-правила.

Соответствие хранит тестовые сценарии как данные. В очень определенном формате из-за того, как это предназначается, чтобы использоваться, но все еще. Ваши зависящие от домена тесты могут использовать различные форматы как простой CSV, JSON или YAML.

20
ответ дан 29 November 2019 в 02:49
поделиться

Идея состоит в том, что Вы (программист) определяете легкое для понимания формата, такого как лист Excel. Затем владелец продукта вводит информацию, которую трудно понять для людей, который не находится в бизнесе..., и Вы просто проверяете тот свой код работы, поскольку ПО ожидает выполнять Соответствие. Путь, используемый в xUnit, может использоваться для программистов в качестве входа для легкого для понимания или простая информация. Если Вы испытаете необходимость для ввода большого количества странных примеров с несколькими полями в тесте xUnit, то он будет, стал твердым читать.

Воображают случай, где необходимо решить, дать ли ссуду клиенту, на основе Возраста, Женатого/Единственного, Сумма Детских, Заработной платы, Действия... Как программист, Вы не можете записать ту информацию; и менеджер по рискам не может записать тест xUnit.

4
ответ дан 29 November 2019 в 02:49
поделиться

Помогает уменьшить дублирование в тестировании ошибки и регрессии. Создайте управляемый репозиторий тестовых сценариев. Как сборка однажды и использование навсегда.

1
ответ дан 29 November 2019 в 02:49
поделиться
Другие вопросы по тегам:

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