Что использовать сегодня о разработке, ориентированной на поведение, и приемочных тестах?

Несколько лет назад я пробовал работать с BDD и некоторыми инструментами приемочных тестов, такими как Selenium/Web-драйвер, Fitnesse и JBehave.

Я хотел бы вернуться к работе с этим в моем текущем проекте, поэтому я хотел бы знать, какие инструменты сообщество использует для этого!

Мой проект основан на Java.

Инструменты приемочных испытаний? BDD-инструменты? Должен ли я рассмотреть язык сценариев?


person andolffer.joseph    schedule 22.01.2013    source источник


Ответы (2)


Я настоятельно рекомендую spockframework + Геб. Однако вам нужна отличная поддержка. Каждую ночь мы запускаем множество тестов как часть CI. Отчеты представлены в формате junit (который вскоре будет улучшен для использования бизнес-пользователями) и, следовательно, могут быть опубликованы на таких серверах, как Hudson или Sonar.

person Aravind Yarram    schedule 22.01.2013

Самые успешные команды используют беседы и не слишком беспокоятся об инструментах!

Сказав это, вот несколько инструментов Java BDD, которые используются в сообществе:

  • JBehave* (все еще)
  • Огурец для JVM (я не думаю, что он был таким умным, как JBehave)
  • Fitnesse (хотя я рекомендую поставить «Slim» вместо «Fit»)
  • Пользовательские DSL (это не так сложно).

Selenium по-прежнему является предпочтительным инструментом автоматизации для Java и Интернета.

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

** Если вы работаете самостоятельно, купите резиновую утку.

person Lunivore    schedule 28.01.2013
comment
Хотя я согласен с тем, что BDD работает только в том случае, если вы ведете беседы, на практике инструменты по-прежнему очень важны. Мой опыт работы с такими инструментами, как Cucumber и JBehave, показывает, что они требуют очень больших затрат на обслуживание из-за дополнительных усилий, необходимых для привязки шагов к реальным реализациям с использованием регулярных выражений. Эти дополнительные затраты могут привести к большому разочарованию при попытке реализовать BDD. По этой причине я разработал JGiven, ориентированный на разработчиков инструмент, который делает написание и поддержку сценариев BDD намного более экономичными. - person Jan Schaefer; 19.08.2014
comment
Ян, я занимаюсь этим уже 10 лет и помогал писать JBehave. Многие команды получают выгоду, не обращаясь к инструментам. Теперь я также занимаюсь BDD с командами, не занимающимися программным обеспечением; им нечего автоматизировать, и они по-прежнему получают выгоду. В моем последнем проекте мы просто придумали такой DSL: code.google.com/p/wipflash/source/browse/ Инструменты просто хороши на практике, а англоязычные инструменты, такие как Cucumber и JBehave, хороши, только если вы Есть деловые люди, заинтересованные в их чтении. - person Lunivore; 19.08.2014