ATDD очень полезен, если вы хорошо разбираетесь в том, как должен вести себя пользовательский интерфейс, а также гарантируете, что затраты на изменение функциональных тестов, которые вы создаете заранее,
Самая большая проблема с выполнениемэто, конечно, чаще всего пользовательский интерфейс не полностью выделен.
Например, если вы создаете продукт и все еще делаете быстрые итерации получения пользовательского интерфейса, который проходит тестирование на удобство использования и обратную связь, вы не хотите, чтобы багаж исправлял ваши функциональные тесты с каждымнебольшое изменение в пользовательском интерфейсе.
Учитывая, что функциональные тесты, как правило, медленные, цикл обратной связи высок, и очень болезненно сохранять их зелеными с изменениями пользовательского интерфейса.
Я работаю в продуктовой команде, где нам нужно было принять такое же решение.Мой коллега очень хорошо суммировал наш окончательный подход здесь .(Отказ от ответственности: пожалуйста, игнорируйте специфические детали инструмента.)