BDD    

Behavior-Driven Development (BDD) — Verhaltenbasierte Entwicklung -- Разработка на Основе Поведений

BDD ist Erweiterung für TDD     (Test-Driven Development -- Разработка на основе тестирования)

Главное отличие BDD и TDD заключается в том, что тестируется поведение системы, а не внутренне устройство классов и код
Следуя процедуре BDD, Jasmine предоставляет небольшой синтаксис для тестирования наименьшего блока всего приложения вместо тестирования его в целом
Исходя из этих вопросов, BDD требует, чтобы имена тестов были целыми предложениями, которые начинаются с глагола

Cucumber ist ein spezielles Framework, welches die Automatisierung der mit der Gherkin Sprache formulierten (Test)-Szenarien nach dem BDD-Prinzip unterstützt.

SBS1 --> перед написанием тестa, сначала описать желаемый результат от добавляемой функциональности на предметно-ориентированном языке
SBS2 --> конструкции этого языка переводятся специалистами или специальным программным обеспечением в описание теста

BDD фокусируется на следующих вопросах:
        С чего начинается процесс.
        Что нужно тестировать, а что нет.
        Сколько проверок должно быть совершено за один раз.
        Что можно назвать проверкой.
        Как понять, почему тест не прошёл.

Процесс BDD проходит три этапа
                исследование (discovery: раскрытие проблемы клиента и ее решения)
                формулирование
                автоматизация — где критерии приемки преобразуются в приемочные испытания, которые затем автоматизируются


Behavior Driven Development фокусируется на:
        Предоставление общего процесса и общих инструментов, способствующих коммуникации для разработчиков программного обеспечения, бизнес-аналитиков и заинтересованных сторон для совместной работы над разработкой программного обеспечения с целью предоставления продукта с деловой ценностью.
        Что должна делать система, а не то, как она должна быть реализована
        Обеспечение лучшей читаемости и видимости
        Проверка не только работы программного обеспечения, но и того, что оно соответствует ожиданиям клиента.