Junior
Šta je BDD (Razvoj vođen ponašanjem)?
sobes.tech АИ
Одговор од АИ
BDD je metodologija razvoja softvera koja se fokusira na zajedničko razumevanje zahteva i ponašanja sistema od strane svih članova tima (programeri, testeri, poslovni analitičari). Razvijen je iz TDD (Test Driven Development).
Ključne osobine BDD:
- Zajedničko učešće: Uključuje sve zainteresovane strane u proces definisanja funkcionalnosti.
- Prirodni jezik: Koristi razumljiv, netehnički jezik (često Gherkin) za opisivanje ponašanja sistema.
- Primeri: Definiše ponašanje kroz konkretne, stvarne primere korišćenja.
- Automatizacija: Scenariji ponašanja mogu biti automatizovani i korišćeni kao izvršna dokumentacija i regresioni testovi.
Scenariji BDD se obično opisuju u formatu Given-When-Then:
- Dato: Opisuje početno stanje sistema.
- Kada: Opisuje radnju koju izvršava korisnik ili sistem.
- Tada: Opisuje očekivano ponašanje ili rezultat te radnje.
Primer BDD scenarija koristeći Gherkin:
# Funkcionalnost: Pretraga proizvoda
# Korisnik treba da može pronaći proizvode po imenu.
# Scenarijo: Uspešna pretraga postojećeg proizvoda
Dato da je korisnik na početnoj stranici online prodavnice
Kada unese "Knjiga" u polje za pretragu
I klikne na dugme "Pretraži"
Tada se na stranici prikazuje lista proizvoda koji sadrže "Knjiga" u nazivu
I broj pronađenih proizvoda je veći od nule
Alati koji se koriste u BDD:
- Cucumber (jedan od najpopularnijih za različite jezike)
- SpecFlow (.NET)
- JBehave (Java)
- Behave (Python)
Prednosti BDD:
- Bolje razumevanje zahteva.
- Smanjenje grešaka zbog nejasnih ili kontradiktornih zahteva.
- Efikasnija saradnja između timova.
- Izvršna dokumentacija.
- Stabilniji i lakši za održavanje automatizovani testovi.