Junior
რა არის BDD (ქცევის მძღოლობით განვითარება)?
sobes.tech AI
პასუხი AI-სგან
BDD — ეს პროგრამული უზრუნველყოფის განვითარების მეთოდოლოგია, რომელიც ფოკუსირებულია გუნდის ყველა წევრის (დეველოპერები, ტესტერები, ბიზნეს-ანალიტიკოსები) მოთხოვნების და სისტემის ქცევის საერთო გაგებაზე. იგი განვითარდა TDD (ტესტზე დაფუძნებული განვითარება) მეთოდიდან:
ძირითადი მახასიათებლები:
- თანამშრომლობის მონაწილეობა: ყველა დაინტერესებული მხარის ჩართვა ფუნქციონალის განსაზღვრაში:
- საბუნებრივი ენა: გამოიყენება გასაგები, ტექნიკური ენის გარეშე (ხშირად Gherkin) სისტემის ქცევის აღწერისთვის:
- მაგალითები: განსაზღვრავს ქცევას კონკრეტული, რეალური გამოყენების მაგალითების მეშვეობით:
- ავტომატიზაცია: ქცევის სცენარები შეიძლება იყოს ავტომატიზებული და გამოყენებული როგორც შესრულებადი დოკუმენტაცია და რეგრესიული ტესტები:
BDD სცენარები ჩვეულებრივ აღწერილია Given-When-Then ფორმატში:
- მიცემული (Given): აღწერს სისტემის საწყის მდგომარეობას:
- როდესაც (When): აღწერს მოქმედებას, რომელიც მომხმარებელი ან სისტემა ახორციელებს:
- ამის შემდეგ (Then): აღწერს მოსალოდნელ ქცევას ან შედეგს:
Gherkin-ის გამოყენებით BDD სცენარის მაგალითი:
# მახასიათებელი: საქონლის ძიება
# მომხმარებელმა უნდა შეძლოს საქონლის მოძებნა სახელით:
# სცენარი: არსებული საქონლის წარმატებული ძიება
მომხმარებელი მდებარეობს ინტერნეტ-მაღაზიის მთავარი გვერდზე
როდესაც მომხმარებელი აკრეფს "წიგნი" საძიებო ველში
და დააჭერს "ძებნა" ღილაკს
გვერდზე გამოჩნდება საქონლის სია, რომელიც შეიცავს "წიგნი" სახელში
და მოძებნილი საქონლების რაოდენობა მეტია ზღვარზე
გამოყენებული ინსტრუმენტები:
- Cucumber (ერთ-ერთი ყველაზე პოპულარული სხვადასხვა ენებისთვის)
- SpecFlow (.NET)
- JBehave (Java)
- Behave (Python)
BDD-ის უპირატესობები:
- მოთხოვნების უკეთესი გაგება:
- გაურკვეველი ან წინააღმდეგობრივი მოთხოვნების გამო შეცდომების რაოდენობის შემცირება:
- გუნდებს შორის უფრო ეფექტიანი ურთიერთქმედება:
- შესრულებადი დოკუმენტი:
- უფრო სტაბილური და ადვილად შენარჩუნებადი ავტომატიზებული ტესტები.