Вот где я думаю, что Behavior Driven Development демонстрирует немедленные выгоды, но я не уверен, что разработка, управляемая тестами, делает это.
В разработке, основанной на поведении, вы подходите к своим тикетам по-другому: вы сидите с деловым человеком и работаете с ним, чтобы определить поведение, которое должен иметь этот кусок функциональности. Я описываю это в записи в моем блоге (название поста: Написание поведения ).
Заседание с деловым человеком или кем бы то ни было поможет вам и им лучше понять, что должна делать система, чтобы все были довольны этой функциональностью. Что нужно сделать, чтобы быть принятым процессом обеспечения качества, который у вас есть.
Определение критериев тестирования, а затем запись этих критериев тестирования в ваш автоматизированный набор тестов должно уменьшить количество получаемых вами ответов: кто-то утверждает, что функциональность нарушена, потому что вы что-то упустили (либо потому, что вы законно что-то пропустили, либо потому, что они никогда не говорили ты про это).
Это также может помочь восприятию вашей команды другими людьми: если вы сядете и определите, что нужно сделать в системе, вы можете перейти от «идиотов, которые перерабатывают все и тратят время на вещи, которые мы не просили», чтобы, «умные люди, которые придумывают полезные функции».
TL; DR: Поведение, управляемое поведением, может быстро показать улучшения, потому что оно ориентировано на клиента. Мне кажется, что разработка через тестирование заключается в тестировании внутренних компонентов кодовой базы, о которых «никто» не заботится, и дает менее очевидные преимущества для бизнеса. (Поведение, управляемое поведением, имеет непосредственное, на ваш взгляд, изменение: у инженеров внезапно появляется гораздо больше времени, чтобы «клиент» или бизнес-аналитик попытался сделать это правильно - что следует рассматривать как хорошую вещь ». , у них встреча о Feature X, что означает прогресс в этом направлении! ")