BDD jest techniką tworzenia oprogramowania polegającą na pisaniu funkcjonalności w sposób ciągłego powtarzania kroków – pisania testu, kodu oraz jego refaktoryzacji. W przeciwieństwie do TDD posługujemy się zupełnie innym językiem opisującym zachowania. BDD może być użyte na poziomie StoryBDD i SpecBDD. Historie opisują domenę, zaś specyfikacja skupia się na tym, jak napisać kod, aby działał zgodnie z oczekiwaniami. Ten drugi poziom przybliży niniejszy artykuł.