Перед началом - спросили ли вы своего начальника, что он ценит в ходе тестирования?Я бы сначала уточнил это с твоим боссом.Основными преимуществами системного уровня BDD являются разговоры с заинтересованными сторонами до написания кода.Вы не сможете получить это, если все, что вы делаете, это оборачиваете существующий код.На уровне подразделений основные преимущества заключаются в том, чтобы задавать вопросы об ответственности классов и их поведении, что, опять же, вы не сможете получить.Это может быть полезно, чтобы помочь вам понять ценность приложения и каждого уровня кода.
Если ваш начальник просто хочет попробовать BDD или TDD, может быть проще начать новый проект, или дажевзять существующий проект от кого-то еще, чтобы обернуть некоторые тесты.Если он искренне хочет поэкспериментировать с BDD над унаследованным кодом, то, возможно, стоило бы продолжать с тем, что у вас есть, - предложение @ Esko о книге рулит.Размещение высокоуровневых системных тестов вокруг существующей функциональности может помочь вам избежать поломок при рефакторинге низкоуровневого кода (и вам нужно будет это сделать, если вы хотите поставить тесты на месте).Я дополнительно рекомендую «Рефакторинг» Мартина Фаулера .
RSpec лучше всего подходит для применения BDD на уровне единиц в качестве варианта TDD.Если вы хотите обернуть автоматизированные тесты по всей вашей среде, взгляните на Cucumber.Это делает повторное использование шагов намного проще.Затем вы можете позвонить в Selenium прямо с ваших шагов.
Я собрал страницу ссылок на BDD здесь , которая, я надеюсь, поможет новичкам лучше понять ее.Желаем удачи.