Sobes.tech
Junior

Co je to BDD (Behavior Driven Development)?

sobes.tech AI

Odpověď od AI

BDD je metodologie vývoje softwaru, která se zaměřuje na společné porozumění požadavků a chování systému všemi členy týmu (vývojáři, testery, business analytiky). Vyvinula se z TDD (Test Driven Development).

Klíčové vlastnosti BDD:

  • Společná účast: Zapojení všech zainteresovaných stran do procesu definice funkcionalit.
  • Přirozený jazyk: Používá srozumitelný, netechnický jazyk (často Gherkin) k popisu chování systému.
  • Příklady: Definuje chování prostřednictvím konkrétních, reálných příkladů použití.
  • Automatizace: Scénáře chování mohou být automatizovány a použity jako spustitelná dokumentace a regresní testy.

Scénáře BDD jsou obvykle popsány ve formátu Given-When-Then:

  • Za předpokladu: Popisuje počáteční stav systému.
  • Když: Popisuje akci prováděnou uživatelem nebo systémem.
  • Pak: Popisuje očekávané chování nebo výsledek této akce.

Příklad scénáře BDD s použitím Gherkin:

# Funkce: Vyhledávání produktu
# Uživatel by měl být schopen najít produkty podle názvu.

# Scénář: Úspěšné vyhledání existujícího produktu
Za předpokladu, že se uživatel nachází na hlavní stránce internetového obchodu
Když zadá "Kniha" do pole pro hledání
A klikne na tlačítko "Hledat"
Pak se na stránce zobrazí seznam produktů obsahujících "Kniha" v názvu
A počet nalezených produktů je větší než nula

Nástroje používané v BDD:

Výhody BDD:

  • Lepší porozumění požadavkům.
  • Snížení počtu chyb způsobených nejasnými nebo protichůdnými požadavky.
  • Efektivnější spolupráce mezi týmy.
  • Spustitelná dokumentace.
  • Stabilnější a lépe udržovatelné automatizované testy.