Sobes.tech
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-ის უპირატესობები:

  • მოთხოვნების უკეთესი გაგება:
  • გაურკვეველი ან წინააღმდეგობრივი მოთხოვნების გამო შეცდომების რაოდენობის შემცირება:
  • გუნდებს შორის უფრო ეფექტიანი ურთიერთქმედება:
  • შესრულებადი დოკუმენტი:
  • უფრო სტაბილური და ადვილად შენარჩუნებადი ავტომატიზებული ტესტები.