Sobes.tech
Junior

Ի՞նչ է BDD (Կարողության հենված զարգացման մեթոդը)։

sobes.tech AI

Պատասխան AI-ից

BDD - դա ծրագրային ապահովման մշակման մեթոդաբանություն է, որը կենտրոնանում է թիմի բոլոր անդամների (մշակողները, թեստավորողները, բիզնես-վերլուծաբանները) պահանջների և համակարգի վարքագծի համատեղ ըմբռնման վրա: Այն զարգացել է TDD (Թեստային ուղղված զարգացում) մեթոդից:

ԲԱՌՆԵՐԻ ՀԱՄԱՀԱՅԿԱԿԱՆՈՒԹՅՈՒՆՆԵՐ:

  • Համատեղ մասնակցություն: Ներգրավում է բոլոր շահագրգիռ կողմերին գործառույթների սահմանման գործընթացում:
  • Բնական լեզու: Օգտագործում է հասկանալի, տեխնիկական olmayan լեզու (հաճախ Gherkin) համակարգի վարքագիծը նկարագրելու համար:
  • Նմուշներ: Սահմանում է վարքագիծը կոնկրետ, իրական օգտագործման օրինակների միջոցով:
  • Ավтоматացում: Վարքագծի սցենարները կարող են ավտոմատացվել և օգտագործվել որպես գործարկվող փաստաթուղթ և ռեգրեսիոն փորձարկումներ:

BDD սցենարները սովորաբար նկարագրվում են Given-When-Then ձևաչափով:

  • Երբ (Given): Նկարագրում է համակարգի սկզբնական վիճակը:
  • Երբ (When): Նկարագրում է գործողությունը, որը կատարում է օգտվողը կամ համակարգը:
  • Երբ (Then): Նկարագրում է սպասվող վարքագիծը կամ արդյունքը:

Gherkin-ով օգտագործվող BDD սցենարի օրինակ:

# Գործառույթ: Ապրանքի որոնում
# Օգտվողը պետք է կարողանա գտնել ապրանքներ անվանմամբ:

# Սցենար: Հաջող որոնում գոյություն ունեցող ապրանքի
Ելք օգտվողը գտնվում է առցանց խանութի գլխավոր էջում
Երբ օգտվողը մուտքագրում է "Գիրք" որոնման դաշտում
Եվ սեղմում է "Որոնել" կոճակը
Տեղադրվում է ապրանքների ցանկ, որոնք պարունակում են "Գիրք" անվանումում
Եվ գտնված ապրանքների քանակը մեծ է զրոյից

Օգտագործվող գործիքներ:

  • Cucumber (մեկը ամենահետաքրքիր տարբերակներից տարբեր լեզուների համար)
  • SpecFlow (.NET)
  • JBehave (Java)
  • Behave (Python)

Առավելությունները BDD-ի:

  • Բարելավված պահանջների ըմբռնում:
  • Թեթևացում սխալների քանակի նվազեցմամբ՝ անորոշ կամ հակասական պահանջների պատճառով:
  • Ավելի արդյունավետ փոխգործակցություն թիմերի միջև:
  • Աշխատող փաստաթուղթ:
  • Ավտոմատացված փորձարկումների ավելի կայուն և պահպանվող տարբերակներ։