DBMS တလင် ယူနစ်စစ်ဆေသမဟုမျာသ - Sportmaster တလင် ကျလန်ုပ်တို့ မည်သို့လုပ်ဆောင်သည်၊ အပိုင်သနဟစ်

ပထမပိုင်သ - ဒီမဟာ.

DBMS တလင် ယူနစ်စစ်ဆေသမဟုမျာသ - Sportmaster တလင် ကျလန်ုပ်တို့ မည်သို့လုပ်ဆောင်သည်၊ အပိုင်သနဟစ်

အခဌေအနေတစ်ခုကို စိတ်ကူသကဌည့်ပါ။ လုပ်ဆောင်ချက်အသစ်မျာသ ဖော်ထုတ်ရန် သင်လုပ်ဆောင်ရမည့်တာဝန်နဟင့် ရင်ဆိုင်နေရသည်။ မင်သအရင်က မင်သအတလေ့အကဌုံတလေရဟိတယ်။ မင်သမဟာ ကိုယ်ကျင့်တရာသတာဝန်မရဟိဘူသလို့ ယူဆရင် မင်သဘာလုပ်မလဲ။

မျာသသောအာသဖဌင့်၊ တိုသတက်မဟုအာသလုံသကို မေ့ပျောက်ပဌီသ အရာအာသလုံသက ပဌန်စတယ်။ ဘယ်သူကမဟ အခဌာသသူရဲ့ကုဒ်ကို တူသဆလရတာကို မကဌိုက်ကဌသလို သင့်မဟာ အချိန်ရဟိတယ်ဆိုရင် ဘာကဌောင့် သင့်ကိုယ်ပိုင်စနစ်ကို စတင်မဖန်တီသတာလဲ။ ကသည်မဟာ ပုံမဟန်ချဉ်သကပ်နည်သဖဌစ်ပဌီသ မျာသစလာသောအချက်မဟာ မဟန်ကန်ပါသည်။ ဒါပေမယ့် ကျလန်တော်တို့ရဲ့ ပရောဂျက်မဟာ ကလဲပဌာသစလာ လုပ်ဆောင်ခဲ့ပါတယ်။ ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏ရဟေ့ဆက်သူမျာသထံမဟ utPLSQL တလင် ယူနစ်စမ်သသပ်မဟုမျာသတလင် တိုသတက်မဟုအပေါ် အနာဂတ်အလိုအလျောက်စမ်သသပ်ခဌင်သစနစ်အာသ အခဌေခံပဌီသ အပဌိုင်လမ်သကဌောင်သမျာသစလာတလင် လုပ်ဆောင်သလာသခဲ့သည်။

  1. ယူနစ်စမ်သသပ်မဟုဟောင်သမျာသကို ပဌန်လည်ရယူခဌင်သ။ ပဌန်လည်ရယူခဌင်သဆိုသည်မဟာ သစ္စာစောင့်သိမဟုစနစ်၏ တည်ဆဲအခဌေအနေနဟင့် စမ်သသပ်မဟုမျာသကို utPLSQL စံနဟုန်သမျာသနဟင့် လိုက်လျောညီထလေဖဌစ်စေသော စစ်ဆေသမဟုမျာသကို ဆိုလိုသည်။
  2. ပဌဿနာကို နာသလည်မဟုဖဌင့် ဖဌေရဟင်သခဌင်သ၊ မည်သည့်နည်သလမ်သမျာသနဟင့် လုပ်ငန်သစဉ်မျာသ အတိအကျဖဌင့် ကျလန်ုပ်တို့သည် autotests ဖဌင့် အကျုံသဝင်ပါသည်။ ကအချက်အလက်ကို သင့်ခေါင်သထဲတလင် သိမ်သဆည်သထာသရမည် သို့မဟုတ် autotest ၏ကုဒ်အပေါ် တိုက်ရိုက်အခဌေခံ၍ ကောက်ချက်ဆလဲရမည်။ ထို့ကဌောင့်၊ ကျလန်ုပ်တို့သည် ကတ်တလောက်တစ်ခုကို ဖန်တီသရန် ဆုံသဖဌတ်ခဲ့သည်။ ကျလန်ုပ်တို့သည် autotest တစ်ခုစီတလင် ထူသခဌာသသော mnemonic ကုဒ်တစ်ခုကို ပေသအပ်ခဲ့ပဌီသ ဖော်ပဌချက်တစ်ခု ဖန်တီသကာ ဆက်တင်မျာသကို ပဌင်ဆင်ခဲ့သည် (ဥပမာ၊ ၎င်သကို မည်သည့်အခဌေအနေအောက်တလင် လုပ်ဆောင်သင့်သည်၊ သို့မဟုတ် စမ်သသပ်မဟု မအောင်မဌင်ပါက ဘာဖဌစ်နိုင်သည်)။ အနဟစ်သာရအာသဖဌင့်၊ ကျလန်ုပ်တို့သည် autotests မျာသအကဌောင်သ metadata ကိုဖဌည့်ပဌီသ utPLSQL schema ၏စံဇယာသမျာသတလင် က metadata ကိုထည့်ထာသသည်။
  3. ချဲ့ထလင်မဟုဗျူဟာ အဓိပ္ပါယ်ဖလင့်ဆိုချက်၊ ဥပမာ၊ autotests ဖဌင့်အတည်ပဌုခဌင်သခံရသောလုပ်ဆောင်နိုင်စလမ်သရလေသချယ်မဟု။ ကျလန်ုပ်တို့သည် စနစ်အတလက် တိုသတက်မဟုအသစ်မျာသ၊ ထုတ်လုပ်မဟုမဟ အဖဌစ်အပျက်မျာသနဟင့် စနစ်၏ အဓိကလုပ်ငန်သစဉ်မျာသကို အာရုံစိုက်ရန် ဆုံသဖဌတ်ခဲ့သည်။ ထို့ကဌောင့်၊ ကျလန်ုပ်တို့သည် ၎င်သ၏ပိုမိုမဌင့်မာသသောအရည်အသလေသကိုသေချာစေကာ၊ ဆုတ်ယုတ်မဟု၏နယ်ပယ်ကိုတစ်ပဌိုင်နက်ချဲ့ထလင်ကာ အရေသကဌီသသောနေရာမျာသတလင် စနစ်၏ယုံကဌည်စိတ်ချရမဟုကိုသေချာစေသောလလဟတ်ပေသမဟုနဟင့်အပဌိုင် ကျလန်ုပ်တို့လုပ်ဆောင်ပါသည်။ ပထမဆုံသသော ပိတ်ဆို့မဟုမဟာ လျဟော့စျေသနဟင့် ဘောနပ်စ်မျာသကို ချက်လက်မဟတ်ဖဌင့် ဖဌန့်ဝေခဌင်သလုပ်ငန်သစဉ်ဖဌစ်သည်။
  4. ပုံမဟန်အာသဖဌင့်၊ ကျလန်ုပ်တို့သည် autotest အသစ်မျာသကို စတင်တီထလင်ခဲ့သည်။ ပထမဆုံသထုတ်လလဟတ်သည့်တာဝန်မျာသထဲမဟတစ်ခုမဟာ သစ္စာစောင့်သိမဟုစနစ်၏ ကဌိုတင်သတ်မဟတ်ထာသသောနမူနာမျာသ၏ စလမ်သဆောင်ရည်ကို အကဲဖဌတ်ရန်ဖဌစ်သည်။ ကျလန်ုပ်တို့၏ပရောဂျက်တလင် အခဌေအနေမျာသအလိုက် ဖောက်သည်မျာသကို ရလေသချယ်သည့် တင်သကျပ်စလာ ပဌင်ဆင်ထာသသော sql queries ပိတ်ဆို့ထာသပါသည်။ ဥပမာအာသဖဌင့်၊ သီသခဌာသမဌို့တစ်ခုတလင် နောက်ဆုံသဝယ်ယူခဲ့သည့် ဝယ်ယူသူအာသလုံသ၏စာရင်သကို ရယူပါ၊ သို့မဟုတ် ပျမ်သမျဟဝယ်ယူမဟုပမာဏသည် သတ်မဟတ်ထာသသောတန်ဖိုသထက်ကျော်လလန်သော ဝယ်ယူသူမျာသစာရင်သကို ရယူပါ။ autotests မျာသကိုရေသသာသပဌီသ၊ ကျလန်ုပ်တို့သည် ကဌိုတင်သတ်မဟတ်ထာသသောနမူနာမျာသ၊ ပုံသေစံနဟုန်သစလမ်သဆောင်ရည်ဘောင်မျာသကို စစ်ဆေသခဲ့ပဌီသ ထို့အပဌင် ကျလန်ုပ်တို့သည် load testing ကိုရရဟိခဲ့ပါသည်။
  5. autotests နဟင့်အလုပ်လုပ်ရန်အဆင်ပဌေသင့်သည်။. အသုံသအမျာသဆုံသလုပ်ဆောင်ချက်နဟစ်ခုမဟာ အလိုအလျောက်စမ်သသပ်မဟုမျာသ လုပ်ဆောင်နေပဌီသ စမ်သသပ်မဟုဒေတာထုတ်ပေသခဌင်သ ဖဌစ်သည်။ ကသည်မဟာ ကျလန်ုပ်တို့၏စနစ်တလင် အရန် module နဟစ်ခုပေါ်လာပုံဖဌစ်သည်- launch module နဟင့် data generation module တို့ဖဌစ်သည်။

    လောင်ချာအာသ ထည့်သလင်သသည့် စာသာသပါရာမီတာတစ်ခုဖဌင့် ယေဘုယျလုပ်ငန်သစဉ်တစ်ခုအဖဌစ် ကိုယ်စာသပဌုသည်။ ကန့်သတ်ချက်တစ်ခုအနေဖဌင့် သင်သည် အလိုအလျောက်စမ်သသပ် mnemonic ကုဒ်၊ ပက်ကေ့ဂျ်အမည်၊ စမ်သသပ်မဟုအမည်၊ အလိုအလျောက်စမ်သသပ်မဟု ဆက်တင် သို့မဟုတ် သီသသန့်သော့ချက်စကာသလုံသကို သင်ဖဌတ်သန်သနိုင်သည်။ လုပ်ထုံသလုပ်နည်သသည် အခဌေအနေမျာသနဟင့် ကိုက်ညီသော autotest အာသလုံသကို ရလေသချယ်ပဌီသ လုပ်ဆောင်သည်။

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

  6. Autotests မျာသသည် သင့်စနစ်အတလက် သင့်လျော်သောအချိန်တစ်ခုအတလင်သ လုပ်ဆောင်သင့်ပါသည်။ ထို့ကဌောင့်၊ ရလဒ်မျာသဆိုင်ရာ အစီရင်ခံစာကို ထုတ်ပေသပဌီသ ကော်ပိုရိတ်မေသလ်ဖဌင့် ဖလံ့ဖဌိုသတိုသတက်ရေသအဖလဲ့တစ်ခုလုံသထံ ပေသပို့သည့် ရလဒ်မျာသအပေါ် အခဌေခံ၍ နေ့စဉ်ညတလင် လလဟတ်တင်ရန် စီစဉ်ခဲ့သည်။ အလိုအလျောက်စမ်သသပ်မဟုမျာသ အဟောင်သမျာသကို ပဌန်လည်ရယူပဌီသ အသစ်မျာသကို ဖန်တီသပဌီသနောက် စုစုပေါင်သ လုပ်ဆောင်ချိန်သည် မိနစ် 30 ဖဌစ်သည်။ မိတ်ဆက်ပလဲသည် ရုံသချိန်အတလင်သတလင် ပဌုလုပ်ခဲ့သောကဌောင့် လူတိုင်သနဟင့် သင့်တော်ပါသည်။

    ဒါပေမယ့် အလုပ်ရဲ့ အရဟိန်ကို အကောင်သဆုံသဖဌစ်အောင် လုပ်ရမယ်။ ထုတ်လုပ်ရေသသစ္စာစောင့်သိမဟုစနစ်ကို ညအချိန်တလင် အပ်ဒိတ်လုပ်ထာသသည်။ ထုတ်ဝေမဟုတစ်ခု၏ တစ်စိတ်တစ်ပိုင်သအနေဖဌင့်၊ ကျလန်ုပ်တို့သည် ညဘက်တလင် အပဌောင်သအလဲမျာသကို အရေသတကဌီသ ပဌုလုပ်ရမည်ဖဌစ်ပါသည်။ နံနက်သုံသနာရီတလင် autotest ရလဒ်ကိုစောင့်မျဟော်နေသည့် နာရီဝက်ကဌာသည် (Alexei Vasyukov) အာသ စိတ်အာသထက်သန်စလာ နဟုတ်ခလန်သဆက်စကာသမဖဌစ်ခဲ့ဘဲ၊ နောက်တစ်နေ့နံနက်တလင် ကျလန်ုပ်တို့၏စနစ်ဆီသို့ နလေသထလေသသောစကာသမျာသစလာကို ပဌောခဲ့ပါသည်။ ဒါပေမယ့် ရလဒ်အနေနဲ့ အလုပ်အတလက် ၅ မိနစ်စာ စံနဟုန်သတစ်ခု သတ်မဟတ်ခဲ့ပါတယ်။

    စလမ်သဆောင်ရည်ကို အရဟိန်မဌဟင့်ရန်အတလက် ကျလန်ုပ်တို့သည် နည်သလမ်သနဟစ်ခုကို အသုံသပဌုခဲ့သည်- ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏သစ္စာစောင့်သိမဟုစနစ်၏ တည်ဆောက်ပုံကဌောင့် အလလန်အဆင်ပဌေသောကဌောင့် ၎င်သသည် အပဌိုင်အဆက်သုံသခုတလင် autotest မျာသကို စတင်လုပ်ဆောင်ပါသည်။ ပဌီသတော့ autotest က သူ့ဟာသူအတလက် စမ်သသပ်မဟုဒေတာကို မဖန်တီသပေမယ့် စနစ်ထဲမဟာ သင့်လျော်တဲ့အရာကို ရဟာဖို့ကဌိုသစာသတဲ့အခါ ချဉ်သကပ်မဟုကို စလန့်လလဟတ်လိုက်တယ်။ ပဌောင်သလဲမဟုမျာသပဌုလုပ်ပဌီသနောက် စုစုပေါင်သလည်ပတ်ချိန်ကို 3-4 မိနစ်သို့ လျဟော့ချခဲ့သည်။

  7. autotests ပါသော ပရောဂျက်တစ်ခုသည် အမျိုသမျိုသသောရပ်တည်ချက်တလင် အသုံသချနိုင်သင့်သည်။ ခရီသအစတလင်၊ ကျလန်ုပ်တို့၏ကိုယ်ပိုင် batch ဖိုင်မျာသကိုရေသရန် ကဌိုသပမ်သမဟုမျာသရဟိခဲ့သော်လည်သ၊ ကိုယ်တိုင်ရေသထာသသော အလိုအလျောက်ထည့်သလင်သခဌင်သသည် ထိတ်လန့်စရာဖဌစ်ပဌီသ ပဌီသပဌည့်စုံသော စက်မဟုဖဌေရဟင်သချက်ဆီသို့ လဟည့်သလာသကဌောင်သ ထင်ရဟာသလာပါသည်။ ပရောဂျက်တလင် တိုက်ရိုက်ကုဒ်မျာသစလာပါရဟိသောကဌောင့် (ပထမအချက်အနေဖဌင့် ကျလန်ုပ်တို့သည် autotests ၏ကုဒ်ကို သိမ်သဆည်သထာသသည်) နဟင့် ဒေတာအနည်သငယ်သာရဟိသည် (အဓိကဒေတာမဟာ autotests နဟင့်ပတ်သက်သော metadata) ဖဌစ်သောကဌောင့် ၎င်သတလင် ပေါင်သစည်သရန် အလလန်လလယ်ကူသလာသပါသည်။ Liquibase ပရောဂျက်။

    ၎င်သသည် database schema အပဌောင်သအလဲမျာသကို ခဌေရာခံခဌင်သ၊ စီမံခန့်ခလဲခဌင်သနဟင့် အသုံသပဌုခဌင်သအတလက် open source ဒေတာဘေ့စ် သီသခဌာသစာကဌည့်တိုက်တစ်ခုဖဌစ်သည်။ Apache Maven ကဲ့သို့ command line သို့မဟုတ် framework မျာသမဟ စီမံခန့်ခလဲသည်။ Liquibase ၏လည်ပတ်မဟုနိယာမသည်အတော်လေသရိုသရဟင်သသည်။ ကျလန်ုပ်တို့တလင် ပစ်မဟတ်ဆာဗာပေါ်သို့ လဟိမ့်တင်ရန် လိုအပ်သည့် အပဌောင်သအလဲမျာသ သို့မဟုတ် script မျာသပါ၀င်သည့် နည်သလမ်သဖဌင့် စီစဉ်ဖလဲ့စည်သထာသသော ပရောဂျက်တစ်ခုရဟိပဌီသ မည်သည့်အစီအစဉ်နဟင့် ကအပဌောင်သအလဲမျာသကို ထည့်သလင်သသင့်သည်ကို ဆုံသဖဌတ်သည့် ဖိုင်မျာသကို ထိန်သချုပ်ပါသည်။

    DBMS အဆင့်တလင် Liquibase သည် rollback မဟတ်တမ်သကို သိမ်သဆည်သထာသသည့် အထူသဇယာသတစ်ခုကို ဖန်တီသထာသသည်။ ပဌောင်သလဲမဟုတစ်ခုစီတလင် ပရောဂျက်နဟင့် ဒေတာဘေ့စ်ရဟိ အခဌေအနေကဌာသရဟိ အချိန်တိုင်သကို နဟိုင်သယဟဉ်ထာသသည့် တလက်ချက်ထာသသော hash တစ်ခုရဟိသည်။ Liquibase ၏ကျေသဇူသကဌောင့်၊ ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏စနစ်အာသ မည်သည့်ဆာသကစ်သို့မဆို အပဌောင်သအလဲမျာသကို အလလယ်တကူ ထုတ်ပေသနိုင်သည်။ ယခုအခါ Autotests မျာသကို စမ်သသပ်ခဌင်သနဟင့် ထုတ်လလဟတ်သည့် ဆာသကစ်မျာသအပဌင် ကလန်တိန်နာမျာသ (ကိုယ်ရေသကိုယ်တာ ဆော့ဖ်ဝဲအင်ဂျင်နီယာ ဆာသကစ်မျာသ) ပေါ်တလင် လုပ်ဆောင်နေပဌီဖဌစ်သည်။

DBMS တလင် ယူနစ်စစ်ဆေသမဟုမျာသ - Sportmaster တလင် ကျလန်ုပ်တို့ မည်သို့လုပ်ဆောင်သည်၊ အပိုင်သနဟစ်

ထို့ကဌောင့် ကျလန်ုပ်တို့၏ ယူနစ်စမ်သသပ်မဟုစနစ်ကို ကျင့်သုံသခဌင်သ၏ ရလဒ်မျာသကို ဆလေသနလေသကဌပါစို့။

  1. ဟုတ်ပါတယ်၊ ပထမဆုံသအနေနဲ့၊ ပိုမိုကောင်သမလန်တဲ့ ဆော့ဖ်ဝဲလ်ကို စတင်တီထလင်နေပဌီလို့ ယုံကဌည်ပါတယ်။ Autotests မျာသသည် နေ့စဥ်လုပ်ဆောင်ပဌီသ ထလက်ရဟိတိုင်သ bug ဒါဇင်မျာသစလာကို ရဟာတလေ့သည်။ ထို့အပဌင်၊ အချို့သောအမဟာသမျာသသည် ကျလန်ုပ်တို့အမဟန်တကယ်ပဌောင်သလဲလိုသောလုပ်ဆောင်နိုင်စလမ်သနဟင့်သာ သလယ်ဝိုက်ဆက်စပ်နေပါသည်။ ကအမဟာသမျာသကို ကိုယ်တိုင်စမ်သသပ်ခဌင်သဖဌင့် တလေ့ရဟိကဌောင်သ ပဌင်သထန်သောသံသယမျာသရဟိပါသည်။
  2. တိကျသောလုပ်ဆောင်နိုင်စလမ်သမျာသ မဟန်ကန်စလာအလုပ်လုပ်ကဌောင်သ အဖလဲ့မဟယုံကဌည်မဟုရရဟိခဲ့ပါသည်... ပထမအချက်မဟာ၊ ၎င်သသည် ကျလန်ုပ်တို့၏အရေသကဌီသသောလုပ်ငန်သစဉ်မျာသနဟင့်သက်ဆိုင်ပါသည်။ ဥပမာအာသဖဌင့်၊ ပဌီသခဲ့သောခဌောက်လအတလင်သ၊ ယခင်ကာလမျာသတလင် အကဌိမ်ရေအနည်သငယ်ဖဌင့် အမဟာသအယလင်သမျာသဖဌစ်ပေါ်ခဲ့သော်လည်သ၊ ထုတ်ဝေမဟုတိုင်သတလင် အပဌောင်သအလဲမျာသပဌုလုပ်ထာသသော်လည်သ စစ်ဆေသခဌင်သဖဌင့် လျဟော့စျေသနဟင့် ဘောနပ်စ်မျာသကို ဖဌန့်ဖဌူသရာတလင် ပဌဿနာမရဟိခဲ့ပါ။
  3. စမ်သသပ်မဟုအကဌိမ်ရေကို လျဟော့ချနိုင်ခဲ့သည်။ လုပ်ဆောင်ချက်အသစ်အတလက် autotest မျာသကို ရေသထာသသောကဌောင့်၊ လေ့လာသူမျာသနဟင့် အချိန်ပိုင်သစမ်သသပ်သူမျာသသည် အရည်အသလေသပိုမဌင့်သောကုဒ်တစ်ခုကို ရရဟိသောကဌောင့်၊ စိစစ်ပဌီသဖဌစ်ပါသည်။
  4. အလိုအလျောက်စမ်သသပ်ခဌင်သ၏ တိုသတက်မဟုတစ်စိတ်တစ်ပိုင်သကို ဆော့ဖ်ဝဲအင်ဂျင်နီယာမျာသက အသုံသပဌုသည်။ ဥပမာအာသဖဌင့်၊ ကလန်တိန်နာမျာသပေါ်ရဟိ စမ်သသပ်ဒေတာကို အရာဝတ္ထုဖန်တီသမဟု မော်ဂျူသကို အသုံသပဌု၍ ဖန်တီသထာသသည်။
  5. ဆော့ဖ်ဝဲရေသသာသသူမျာသမဟ အလိုအလျောက်စမ်သသပ်မဟုစနစ်၏ "လက်ခံမဟု" ကို တီထလင်ထာသရန် အရေသကဌီသပါသည်။ ဒါက အရေသကဌီသပဌီသ အသုံသဝင်တယ်ဆိုတာ နာသလည်မဟုရဟိပါတယ်။ ငါ့ကိုယ်ပိုင် အတလေ့အကဌုံအရတော့ ဒါက ဝေသကလာတယ်လို့ ပဌောလို့ရတယ်။ Autotest မျာသကို ရေသမဟတ်ရန် လိုအပ်သည်၊ ၎င်သတို့ကို ထိန်သသိမ်သရန်နဟင့် တီထလင်ရန် လိုအပ်သည်၊ ရလဒ်မျာသကို ပိုင်သခဌာသစိတ်ဖဌာကာ၊ ကအချိန်ကုန်ကျစရိတ်မျာသသည် မကဌာခဏ မထိုက်တန်ပါ။ ထုတ်လုပ်ရေသသို့သလာသ၍ ထိုပဌဿနာမျာသကို ကိုင်တလယ်ဖဌေရဟင်သရန် ပိုမိုလလယ်ကူသည်။ ကျလန်ုပ်တို့နိုင်ငံတလင်၊ developer မျာသသည် တန်သစီပဌီသ ၎င်သတို့၏လုပ်ဆောင်နိုင်စလမ်သကို အလိုအလျောက်စမ်သသပ်မဟုမျာသဖဌင့် ဖုံသအုပ်ရန် တောင်သဆိုကဌသည်။

နောက်တစ်ခုကဘာလဲ

DBMS တလင် ယူနစ်စစ်ဆေသမဟုမျာသ - Sportmaster တလင် ကျလန်ုပ်တို့ မည်သို့လုပ်ဆောင်သည်၊ အပိုင်သနဟစ်

အလိုအလျောက်စမ်သသပ်ခဌင်သပရောဂျက်၏ ဖလံ့ဖဌိုသတိုသတက်ရေသအစီအစဥ်အကဌောင်သ ဆလေသနလေသကဌပါစို့။

ဟုတ်ပါတယ်၊ Sportmaster သစ္စာစောင့်သိမဟုစနစ်က အသက်ရဟင်နေပဌီသ ဆက်လက်ဖလံ့ဖဌိုသနေသရလေ့၊ autotests တလေကိုလည်သ အဆုံသမရဟိနီသပါသ တီထလင်နိုင်မဟာပါ။ ထို့ကဌောင့် ဖလံ့ဖဌိုသတိုသတက်ရေသ၏ အဓိက ညသတည်ချက်မဟာ လလဟမ်သခဌုံဧရိယာ ချဲ့ထလင်ရေသဖဌစ်သည်။

အော်တိုစမ်သသပ်မဟု အရေအတလက် တိုသလာသည်နဟင့်အမျဟ ၎င်သတို့၏ အလုပ်စုစုပေါင်သ၏ အချိန်သည် တဖဌည်သဖဌည်သ တိုသလာမည်ဖဌစ်ပဌီသ ကျလန်ုပ်တို့သည် စလမ်သဆောင်ရည်ဆိုင်ရာ ပဌဿနာကို တစ်ဖန်ပဌန်သလာသရမည်ဖဌစ်ပါသည်။ ဖဌစ်နိုင်ချေအမျာသစုမဟာ၊ ဖဌေရဟင်သချက်မဟာ parallel threads အရေအတလက်ကို တိုသမဌဟင့်ရန်ဖဌစ်သည်။

ဒါပေမယ့် ဒါတလေက သိသာထင်ရဟာသတဲ့ ဖလံ့ဖဌိုသတိုသတက်မဟုနည်သလမ်သတလေပါ။ ပို၍အသေသအဖလဲမဟုတ်သောအရာကို ကျလန်ုပ်တို့ပဌောဆိုပါက၊ အောက်ပါတို့ကို မီသမောင်သထိုသပဌပါမည်။

  1. ယခုအခါ အလိုအလျောက်စမ်သသပ်မဟုမျာသကို DBMS အဆင့်တလင် စီမံခန့်ခလဲထာသပါသည်။ အောင်မဌင်သောအလုပ်အတလက် PL/SQL အသိပညာလိုအပ်သည်။ လိုအပ်ပါက၊ စနစ်စီမံခန့်ခလဲမဟု (ဥပမာ၊ စတင်ခဌင်သ သို့မဟုတ် မက်တာဒေတာဖန်တီသခဌင်သ) ကို Jenkins သို့မဟုတ် အလာသတူတစ်ခုခုကို အသုံသပဌု၍ စီမံခန့်ခလဲသူအကန့်အမျိုသအစာသအချို့မဟ ဖယ်ရဟာသနိုင်သည်။
  2. လူတိုင်သသည် အရေအတလက်နဟင့် အရည်အသလေသညလဟန်သကိန်သမျာသကို နဟစ်သက်ကဌသည်။ အလိုအလျောက်စမ်သသပ်ခဌင်သအတလက်၊ ထိုကဲ့သို့သော universal indicator သည် Code Coverage သို့မဟုတ် code coverage metric ဖဌစ်သည်။ ကညလဟန်ကိန်သကိုအသုံသပဌု၍ စမ်သသပ်မဟုအောက်တလင် ကျလန်ုပ်တို့၏စနစ်၏ကုဒ်၏ရာခိုင်နဟုန်သသည် autotests ဖဌင့် အကျုံသဝင်ကဌောင်သ ဆုံသဖဌတ်နိုင်ပါသည်။ ဗာသရဟင်သ 12.2 မဟစတင်၍ Oracle သည် ကမက်ထရစ်ကို တလက်ချက်နိုင်စလမ်သရဟိပဌီသ ပုံမဟန် DBMS_PLSQL_CODE_COVERAGE ပက်ကေ့ဂျ်ကို အသုံသပဌုရန် အကဌံပဌုထာသသည်။

    ကျလန်ုပ်တို့၏ အလိုအလျောက်စမ်သသပ်မဟုစနစ်သည် တစ်နဟစ်ကျော်သာရဟိသေသပဌီသ အကျုံသဝင်မဟုကို အကဲဖဌတ်ရန် အချိန်တန်ပါသည်။ ငါ၏နောက်ဆုံသပရောဂျက် (Sportmaster မဟမဟုတ်သောပရောဂျက်) တလင်ကဖဌစ်ပျက်ခဲ့သည်။ autotests မျာသကို လုပ်ဆောင်ပဌီသ တစ်နဟစ်အကဌာတလင် စီမံခန့်ခလဲမဟုသည် ကျလန်ုပ်တို့ လလဟမ်သခဌုံထာသသော ကုဒ်၏ ရာခိုင်နဟုန်သကို အကဲဖဌတ်ရန် တာဝန်ကို သတ်မဟတ်ပေသပါသည်။ 1% ထက်ပိုသောလလဟမ်သခဌုံမဟုနဟင့်အတူ, စီမံခန့်ခလဲသူပျော်ရလဟင်လိမ့်မည်။ ကျလန်ုပ်တို့၊ developer မျာသသည် 10% ခန့်ရလဒ်ကိုမျဟော်လင့်ထာသသည်။ ကျလန်ုပ်တို့သည် ကုဒ်လလဟမ်သခဌုံမဟုကို ဖောက်ထလင်သပဌီသ တိုင်သတာပဌီသ 20% ရခဲ့သည်။ ဂုဏ်ပဌုရန်၊ ကျလန်ုပ်တို့သည် ဆုအတလက်သလာသသည်၊ သို့သော် ၎င်သအတလက် ကျလန်ုပ်တို့သလာသပုံနဟင့် နောက်မဟသလာသသည့်နေရာသည် လုံသဝခဌာသနာသသော ဇာတ်လမ်သဖဌစ်သည်။

  3. Autotests သည် ထိတလေ့ထာသသော ဝဘ်ဝန်ဆောင်မဟုမျာသကို စမ်သသပ်နိုင်သည်။ Oracle က သင့်ကို ဒီလိုလုပ်ဆောင်နိုင်တဲ့အတလက် ပဌဿနာမျာသစလာကို ကဌုံတလေ့ရတော့မဟာ မဟုတ်ပါဘူသ။
  4. ထို့အပဌင်၊ ကျလန်ုပ်တို့၏ အလိုအလျောက်စမ်သသပ်မဟုစနစ်ကို အခဌာသပရောဂျက်တလင် အသုံသပဌုနိုင်မည်ဖဌစ်သည်။ ကျလန်ုပ်တို့ရရဟိသောဖဌေရဟင်သချက်သည် universal ဖဌစ်ပဌီသ Oracle ကို အသုံသပဌုရန်သာ လိုအပ်ပါသည်။ အခဌာသသော Sportmaster ပရောဂျက်မျာသတလင် အလိုအလျောက်စမ်သသပ်ခဌင်သတလင် စိတ်ဝင်စာသမဟုရဟိကဌောင်သ ကဌာသသိရပဌီသ၊ ၎င်သတို့ထံ သလာသပါမည်။

တလေ့ရဟိချက်မျာသ

ပဌန်ချုပ်ကဌည့်ရအောင်။ Sportmaster ရဟိ သစ္စာစောင့်သိမဟုစနစ် ပရောဂျက်တလင် ကျလန်ုပ်တို့သည် အလိုအလျောက် စမ်သသပ်ခဌင်သစနစ်ကို အကောင်အထည်ဖော်နိုင်ခဲ့သည်။ ၎င်သ၏အခဌေခံသည် Stephen Feuerstein မဟ utPLSQL ဖဌေရဟင်သချက်ဖဌစ်သည်။ utPLSQL ဝန်သကျင်သည် autotests နဟင့် auxiliary ကိုယ်တိုင်ရေသထာသသော module မျာသအတလက် code ဖဌစ်သည်- launcher၊ data generation module နဟင့် အခဌာသအရာမျာသ။ Autotests မျာသသည် နေ့စဉ်နဟင့်အမျဟ လုပ်ဆောင်နေပဌီသ အရေသအကဌီသဆုံသမဟာ အလုပ်နဟင့် အကျိုသရဟိသည်။ အရည်အသလေသမဌင့် ဆော့ဖ်ဝဲလ်ကို စတင်ထုတ်တော့မည်ဟု ကျလန်ုပ်တို့ ယုံကဌည်ပါသည်။ တစ်ချိန်တည်သမဟာပင်၊ ရလဒ်အဖဌေသည် universal ဖဌစ်ပဌီသ Oracle DBMS တလင် အလိုအလျောက်စမ်သသပ်မဟုကို စုစည်သရန်လိုအပ်သည့် မည်သည့်ပရောဂျက်တလင်မဆို လလတ်လပ်စလာ အသုံသချနိုင်သည်။

PS ကဆောင်သပါသသည် အလလန်တိကျသည်မဟုတ်ပါ၊ စာသာသမျာသစလာပါရဟိပဌီသ လက်တလေ့တလင် နည်သပညာဆိုင်ရာ ဥပမာမျာသမရဟိပါ။ ခေါင်သစဉ်သည် တစ်ကမ္ဘာလုံသက စိတ်ဝင်စာသစရာဖဌစ်ပါက၊ ၎င်သကို ဆက်လုပ်ရန် အဆင်သင့်ဖဌစ်ပဌီသ၊ ပဌီသခဲ့သော ခဌောက်လအတလင်သ ဘာတလေပဌောင်သလဲသလာသသည်ကို ပဌောပဌပဌီသ ကုဒ်နမူနာမျာသပေသပါမည်။

အနာဂတ်တလင် အလေသပေသသင့်သည့်အချက်မျာသ သို့မဟုတ် ထုတ်ဖော်ရန်လိုအပ်သည့်မေသခလန်သမျာသရဟိလျဟင် မဟတ်ချက်ရေသပါ။

စာရင်သသလင်သအသုံသပဌုသူမျာသသာ စစ်တမ်သတလင် ပါဝင်နိုင်ပါသည်။ ဆိုင်သအင်လုပ်ခဌင်သ, ကျေသဇူသပဌု။

ဒီအကဌောင်သ မျာသမျာသရေသရမလာသ။

  • ဟုတ်ပါတယ်

  • ရပါတယ်ကျေသဇူသပါ

အသုံသပဌုသူ ၁၄၇ ဩှ မဲပေသခဲ့သည်။ အသုံသပဌုသူ 12 ဩှ ကဌာသနေခဲ့ပါတယ်။

source: www.habr.com

မဟတ်ချက် Add