Это может помочь понять, что BDD фокусируется на разговорах . BDD - это действительно инструмент для анализа, который обеспечивает регрессионное тестирование как хороший побочный продукт.
Я использовал сценарии на всех уровнях в разговоре; от определения различных заинтересованных сторон, чтобы увидеть, будет ли релиз хорошо принят, до определения того, как должен вести себя модуль или класс .
Есть несколько советов и советов, которые я могу предложить, чтобы сделать это проще.
Если вы никогда не делали этого раньше, это изменится.
Все, что является новым для домена или бизнеса, может измениться. Вы можете понять, что находитесь в этом пространстве, если вы говорите через сценарии, им вопросы , и бизнес говорит: «О, я не уверен». Это хороший знак, чтобы перестать пытаться делать BDD и что-то всплывать, чтобы получить более быструю обратную связь, чтобы помочь бизнесу выработать то, что они хотят. Как только идеи стабилизируются, сценарии могут быть написаны задним числом.
Все проекты имеют какой-то новый аспект, иначе вы бы их не делали.
Если вы сделали это раньше, это скучно.
Наряду с новыми, дифференцирующими аспектами, проекты обычно имеют некоторые коммерциализированные аспекты, которые аналогичны уже сделанным. Например, если бы я производил новый мобильный телефон, ему все равно нужно было бы совершать звонки. «Позвонить по телефону» - это такой хорошо известный сценарий, что нам не нужно было его обсуждать. Точно так же такие вещи, как «вход в систему» или даже «регистрация пользователя» скучны.
Везде, где возможно, используйте библиотеки для них, и тогда вам не придется писать сценарии вокруг них. Кроме того , делать другие биты первым - имеет уже зарегистрированный пользователь и работу, что он каротаж в течение . Эти области вряд ли изменятся, так что вы все равно сможете избежать ручного тестирования.
Если кто-то делал это раньше, может помочь обсуждение сценариев.
Есть некоторая разница между тем, где у нас есть специфичные для предметной области требования, вещи, которые кто-то относительно хорошо понимает , и тем, где реальная неопределенность главным образом связана с областью, а не с фактическим поведением системы.
Обсуждение сценариев может помочь команде разработчиков выявить поведение, использовать знания эксперта и обеспечить фиксацию известного ценного поведения.
Это бит, где BDD работает лучше всего. Мой совет - написать наиболее интересные сценарии в верхней части файла объектов (или вики, если вы не автоматизируете) и удалить все сценарии, которые дублируются или легко выводятся в результате.
По возможности, используйте сценарии как примеры того, как работает приложение . Например, если вы хотите показать, как работает валидация, покажите несколько примеров того, как приложение помогает пользователю заполнить форму. Проверьте, что проверка является строгой, используя модульное тестирование, которое намного легче поддерживать и быстрее запускать.
дальнейшее чтение
Если вы заинтересованы в этом, вот несколько вещей, которые я написал, которые могут помочь.
BDD в целом
Cynefin для разработчиков , которые более подробно рассматриваются в этих трех областях
Мои учебные слайды , которые все приятно и аннотированы для вас, и охватывают весь стек тоже.