Sobes.tech
Junior

Czym jest BDD (Rozwój Napędzany Zachowaniem)?

sobes.tech AI

Odpowiedź od AI

BDD to metodologia rozwoju oprogramowania, która koncentruje się na wspólnym zrozumieniu wymagań i zachowania systemu przez wszystkich uczestników zespołu (programiści, testerzy, analitycy biznesowi). Rozwinęła się z TDD (Test Driven Development).

Kluczowe cechy BDD:

  • Wspólne uczestnictwo: Zaangażowanie wszystkich zainteresowanych w proces definiowania funkcjonalności.
  • Język naturalny: Używa zrozumiałego, nietechnicznego języka (często Gherkin) do opisu zachowania systemu.
  • Przykłady: Określa zachowanie na podstawie konkretnych, rzeczywistych przykładów użycia.
  • Automatyzacja: Scenariusze zachowania mogą być automatyzowane i używane jako dokumentacja wykonawcza i testy regresji.

Scenariusze BDD zwykle opisuje się w formacie Given-When-Then:

  • Dane: Opisuje stan początkowy systemu.
  • Kiedy: Opisuje działanie wykonywane przez użytkownika lub system.
  • Wtedy: Opisuje oczekiwane zachowanie lub wynik tego działania.

Przykład scenariusza BDD z użyciem Gherkin:

# Funkcjonalność: Wyszukiwanie produktu
# Użytkownik powinien mieć możliwość znajdowania produktów po nazwie.

# Scenariusz: Udane wyszukiwanie istniejącego produktu
Dany użytkownik znajduje się na stronie głównej sklepu internetowego
Kiedy wpisuje "Książka" w polu wyszukiwania
I klika przycisk "Szukaj"
Wtedy na stronie wyświetla się lista produktów zawierających "Książka" w nazwie
I liczba znalezionych produktów jest większa od zera

Narzędzia używane w BDD:

Zalety BDD:

  • Lepsze zrozumienie wymagań.
  • Zmniejszenie liczby błędów wynikających z niejasnych lub sprzecznych wymagań.
  • Efektywniejsza współpraca między zespołami.
  • Wykonywalna dokumentacja.
  • Bardziej stabilne i łatwe do utrzymania automatyczne testy.