BDD လမ်းညွှန်ချက်များနှင့်အကောင်းဆုံးအလေ့အကျင့်များ

BDD (Behavior Driven Development) ဆိုသည်မှာ software ကိုစဉ်ဆက်မပြတ်ဖွံ့ဖြိုးတိုးတက်စေရန်နည်းလမ်းတစ်ခုဖြစ်သည် ဥပမာ -based developer များ, QAs နှင့် BAs အကြားဆက်သွယ်ရေး။ ဤဆောင်းပါးတွင်အကျိုးအမြတ်အများဆုံးရရှိရန် BDD အကောင်းဆုံးအလေ့အကျင့်အချို့ကိုဆွေးနွေးထားသည်။

အခြားအရာများထက် BDD နည်းစနစ်၏အဓိကရည်ရွယ်ချက်မှာစီမံကိန်း၏သက်ဆိုင်သူများအကြားဆက်သွယ်မှုကိုအားပေးရန်ဖြစ်သည်။ သို့မှသာဖွံ့ဖြိုးရေးလုပ်ငန်းများမစတင်မီ၊ အဖွဲ့ ၀ င်အားလုံး (ဆိုလိုသည်မှာမျှဝေနားလည်မှု) သည်အင်္ဂါရပ်တစ်ခုချင်းစီ၏အခြေအနေကိုအဖွဲ့ ၀ င်အားလုံးကနားလည်သဘောပေါက်စေရန်ဖြစ်သည်။ ၎င်းသည်ဇာတ်လမ်းတစ်ခုစီအတွက်အဓိကဖြစ်နိုင်ချေများကိုဖော်ထုတ်ရန်နှင့်လိုအပ်ချက်များမှမရေရာဒွိဟများကိုလည်းဖယ်ရှားပေးသည်။

BDD တွင်ဥပမာများကို Scenarios ဟုခေါ်သည်။ ဇာတ်လမ်းများကိုလှည့်ပတ်ပုံဖော်နေကြသည် ဆက်စပ် - လှုပ်ရှားမှု - ရလဒ် ပုံစံနှင့်ကိုခေါ်အထူး format နဲ့ရေးထားလျက်ရှိ၏နေကြသည် Gherkin


ဇာတ်ညွှန်းများသည်ကွဲပြားခြားနားသောအခြေအနေများတွင်သို့မဟုတ်ကွဲပြားခြားနားသော input parameters များကိုမည်သို့ပြုမူသင့်သည်ကို (ရိုးရိုးအင်္ဂလိပ်ဘာသာဖြင့်) ရှင်းပြရန်နည်းလမ်းဖြစ်သည်။

Gherkin ၏ဖွဲ့စည်းတည်ဆောက်ပုံဖြစ်သောကြောင့်၎င်းသည်အလိုအလျောက်စမ်းသပ်မှုများပြုလုပ်ရာတွင်လည်းကောင်း၊ ထည့်သွင်းရန်လည်းကောင်း၊


Feature file ဆိုတာဘာလဲ

Feature ဖိုင်များသည်စာသားဖိုင်များဖြစ်သည် .feature မည်သည့်စာသားတည်းဖြတ်သူမဆိုဖွင့်နိုင်သည့် Cucumber, JBehave သို့မဟုတ် Behat ကဲ့သို့သော BDD - သတိပြုသည့်မည်သည့်ကိရိယာကမဆိုဖွင့်နိုင်သည်။

Feature file များသည် (အဓိကအားဖြင့်ဖြစ်သည့်ဇာတ်လမ်းဖြစ်သည့်) အခြေအနေ၏အခြေအနေနှင့်စတင်သင့်သည်။ နောက်အောက်ပါပုံစံတွင်အနည်းဆုံးဇာတ်လမ်းတစ်ပုဒ်နောက်လိုက်ရမည်

အသွင်အပြင်: အခြို့သောအတိုကောက်သေးဖော်ပြရန်စာသားကိုလိုချင်သောအရာ

အမည်ရစီးပွားရေးတန်ဖိုးကိုနားလည်သဘောပေါက်ရန်
တစ် ဦး ရှင်းလင်းပြတ်သားစွာစနစ်ကသရုပ်ဆောင်အဖြစ်
ငါရည်မှန်းချက်ကိုထပ်မံသောအချို့သောအကျိုးရှိသောရလဒ်ကိုရချင်တယ်


ဇာတ်လမ်း - အချို့သောဆုံးဖြတ်နိုင်သောစီးပွားရေးအခြေအနေ

အချို့သောကြိုတင်စည်းကမ်းချက်များပေးထားသည်
နှင့်အခြားလိုအပ်ချက်
သည့်အခါသရုပ်ဆောင်နေဖြင့်အချို့သောလုပ်ဆောင်ချက်
နှင့်အခြားလုပ်ဆောင်ချက်
နောက်ထပ်လုပ်ဆောင်ချက်တစ်ခု
ထိုအခါအချို့သော testable ရလဒ်ကိုအောင်မြင်ဖြစ်ပါတယ်
နောက်ပြီးကျွန်ုပ်တို့စစ်ဆေးနိုင်သည့်အခြားအရာတစ်ခုလည်းတွေ့ရသည်

feature files များတွင်ပါ ၀ င်သောဖြစ်ရပ်များသည်“ how” ထက်“ what” ကိုအာရုံစိုက်သင့်သည်။ စာဖတ်သူသည်ဆီလျှော်မှုအဆင့်များစွာကိုမဖတ်ဘဲစာမေးပွဲ၏ရည်ရွယ်ချက်ကိုအလျင်အမြန်နားလည်နိုင်ရန်အတွက်အခြေအနေများသည်အတိုချုပ်ဖြစ်သင့်သည်။

ဘာကြောင့် feature files တွေကိုရေးသင့်သလဲ

အထက်တွင်ဖော်ပြခဲ့သည့်အတိုင်း BDD နည်းစနစ်၏အဓိကရည်ရွယ်ချက်မှာပေးပို့သည့်အဖွဲ့အကြားဆက်သွယ်ရေးကိုအားပေးရန်ဖြစ်သည်။ လုပ်ဆောင်ချက်ဖိုင်များ၏ရည်ရွယ်ချက်သည်လုပ်ဆောင်ချက်မည်မျှအလုပ်လုပ်သည်ကိုညွှန်ပြရန်အတွက်ပြောဆိုသောအခြေအနေများကိုမှတ်တမ်းတင်ရန်ဖြစ်သည်။ အင်္ဂါရပ်ဖိုင်များသည်အလိုအလျောက်စစ်ဆေးမှုအတွက်ယာဉ်မောင်းများဖြစ်သည်။ Feature ဖိုင်များသည်ပြီးပြည့်စုံသောလုပ်ဆောင်မှု (DoD) ၏အဓိပ္ပာယ်ဖွင့်ဆိုချက်တစ်ခုဖြစ်သည်။ ဆိုလိုသည်မှာအခြေအနေများအားလုံးကိုအောင်မြင်စွာစမ်းသပ်ပြီးသောအခါကျွန်ုပ်တို့သည်ဇာတ်လမ်းကိုပြီးမြောက်အောင်မှတ်သားနိုင်သည်ဟုဆိုလိုသည်။


ဘယ်သူက feature file တွေရေးရမလဲ

Feature ဖိုင်များကိုမည်သူအမှန်တကယ်ရေးသားသည်၊ မည်သူရေးသည်ကိုအရေးမကြီးပါ။ ပေးပို့သည့်အဖွဲ့ ၀ င်ဖြစ်နိုင်သည်။ Dev-QA-BA ၏သုံးဆွေးနွေးချက်မှအကြောင်းအရာများ (အခြေအနေများ) သည်အဓိကကျသောအစိတ်အပိုင်းဖြစ်သည်။ ဖိုင်များ။ ထိုအင်္ဂါရပ်ကိုအများလက်ခံထားသောနားလည်မှုရယူခြင်းသည်အဓိကကျသောအချက်ဖြစ်သည်။

ဖိုင်များကိုမည်သည့်အချိန်တွင်ရေးသားရမည်နည်း

အသွင်အပြင်ဖိုင်များသည်ဇာတ်လမ်းတစ်ခုစီ၏အသေးစိတ်အချက်အလက်များကိုဆွေးနွေးသည့်ဇာတ်လမ်းဖြန့်စည်းခြင်းအစည်းအဝေးတွင်ရေးသားသင့်သည်။ ဖွံ့ဖြိုးတိုးတက်မှုများမစတင်မီအခြေအနေများပါ ၀ င်သော Feature file များကိုရေးသားသင့်သည်။ သို့မှသာ developer များနှင့် QA တို့ကဇာတ်လမ်း၏ရည်ရွယ်ချက်ကိုရှင်းလင်းစွာနားလည်နိုင်မည်ဖြစ်သည်။ ဇာတ်လမ်းကိုမျှဝေနားလည်မှုရှိသင့်သည်။ အဆိုပါအခြေအနေတွေဖွံ့ဖြိုးတိုးတက်မှုအတွက်လိုအပ်ချက်များကိုအဖြစ်ဆောင်ရွက်ပါသည်။

ဖိုင်ဘယ်မှာသိမ်းထားသင့်တယ်

သတ်မှတ်ချက်နှင့်အလိုအလျောက်ကွပ်ကဲမှုနှစ်ခုလုံးအနေဖြင့်အမှန်တရား၏ရင်းမြစ်တစ်ခုရှိသင့်သည်။ ထို့ကြောင့်အဖွဲ့ ၀ င်တိုင်းလွယ်ကူစွာရောက်ရှိနိုင်သောနေရာတွင်ထားသင့်သည်။

သူကပြောကြားခဲ့သည်မှာ feature files များသည် automated tests များ၏ driver များဖြစ်သောကြောင့်၎င်းတို့ကို source control system (GitHub) တွင်သိမ်းဆည်းထားသင့်သည်။ သို့မှသာ feature files များသို့မွမ်းမံချက်များကိုစမ်းသပ်မှုများသို့ချက်ချင်းထင်ဟပ်နိုင်သည်။


Git နှင့် ပတ်သတ်၍ အတွေ့အကြုံမရှိသောနည်းပညာပိုင်းဆိုင်ရာမဟုတ်သောအသင်းဝင်များအတွက်ကျွန်ုပ်တို့သည်အင်္ဂါရပ်ဖိုင်များကိုအမှန်တကယ်လေ့ကျင့်ခန်းမပြုလုပ်ဘဲလက်ရှိအခြေအနေများစာရင်းကိုထုတ်ပေးလိမ့်မည်။

ဘယ်လို feature မျိုးဖိုင်တွေရေးသင့်သလဲ

ယေဘုယျအားဖြင့် feature file များကိုရေးသားခြင်းနည်းလမ်းနှစ်ခုဖြစ်သော Imperative နှင့် Declarative ရှိသည်

အရေးကြီးသည် Feature file ရေးသားပုံတွင်အလွန်အသေးစိတ်ကျသည်။ အသေးစိတ်အချက်အလက်များမပါ ၀ င်ပါ။

ကောင်းကျိုးများ - feature ဖိုင်ကိုဖတ်နေသူတစ် ဦး သည်တစ်ဆင့်ချင်းလိုက်နာနိုင်သည်


Cons: အသေးစိတ်များလွန်းသောကြောင့်စာဖတ်သူသည်ဇာတ်လမ်း၏အမှတ်နှင့်စမ်းသပ်မှုများဆုံးရှုံးနိုင်သည်။ UI မွမ်းမံမှုများကြောင့်လုပ်ဆောင်မှုဖိုင်သည်ကြီးလွန်းသဖြင့်ထိန်းသိမ်းရန်ခက်ခဲပြီးပျက်ကွက်နိုင်သည်။

ကြေငြာချက် အသွင်အပြင်တစ်ခု၏ရေးသားမှုပုံစံသည်အတိုချုပ်ဖြစ်ပြီးအကြောင်းအရာနှင့်သက်ဆိုင်သောအချက်အလက်များကိုသာဖော်ပြသည်။

ကောင်းကျိုး - ဒီအခြေအနေမှာအဆင့်တွေနည်းနည်းရှိတဲ့အတွက် declarative style ကပိုပြီးဖတ်လို့ကောင်းတယ်။ စာဖတ်သူသည်စမ်းသပ်မှု၏အတိုင်းအတာကိုအလွယ်တကူနားလည်နိုင်ပြီးမည်သည့်သော့ချက်ဒြပ်စင်ပျောက်ဆုံးနေသည်ကိုအလျင်အမြန်သိရှိနိုင်သည်။

စိတ်ဝင်စားစရာဆောင်းပါးများ