Unit testing ( Part-1/3)

Unit testing ( Part-1/3) Hi. Code ရေးပြီဆိုသိဖိုလိုလာမဲ့ Unit Testing အကြောင်းကို ရှဲပေးသွားပါမယ်ဗျ။ အကြောင်းအရာမှာ ဒါလေးတွေပါပါတယ်။ part 2 နဲ့ 3 မှာ code တွေ clone / downloadချပြီး စမ်းကြည့်လို့ရပါတယ်။ pdf resources တွေကိုလဲ လေးပိုင်းလုံးပြီးရင် ပိုဖတ်ချင်တဲသူရှိရင် telegram channelမှာတင်ပေးသွားပါမယ်။ - About Unit Testing - Four Level of testing - How Unit Testing work - AAA Pattern - Sample testable php code - Manual testing - Automated Unit Testing and TDD - Sample testable laravel code - The Three Laws of TDD - Red Green Refactor About Unit Testing Software development process မှာ Unit Testing ဆိုတာ အရေးပါတဲ့အရာတစ်ခုအနေနဲ့ပါဝင်နေပါတယ်။ Unit Testing ဆိုတာလာလဲ။ ရိုးရိုးရှင်းရှင်းပြောရရင် Unit Testing ဆိုတာ software ရဲ့ တစ်စိတ်တပိုင်း feature တစ်ခုခုဖြစ်ဖြစ် testလုပ်ဖို့ရေးထားတဲ့ code အပိုင်းအစတစ်ခုပါပဲ။ Unit Testing ရဲ့ ရည်ရွယ်ချက်ကတော့ testလုပ် လိုက်တဲ့ အခါ error ဖြစ်လား fail ဖြစ်လား quality ကောင်းတဲ့ codeလားစ သဖြင့် သိရအောင် ရေးထားတာပါ။ QA Developer , Tester , Developer တွေ ကတော့ Unit Testing ကို သုံးလေ့ရှိကြပါတယ်။ Unit Testing ကတော့ ခေါက် ဆွဲပြုတ်သလိုပဲပေါ့။ခေါက်ဆွဲပြုတ်ဖို့အတွက်လိုတဲ့ ပါဝင်ပစည်းတွေစစ်ဆေးတာမျိုး၊ ကြက်ဥ၊ အသီးအရွက်၊ ခေါက်ဆွဲ၊ ရေ စသဖြင့်ပေါ။ ကြက်ဥကမကောင်းရင် ကောင်းတာလေးနဲ့ပြန်လဲတာမျိုးပေါ့။ Unite testingက လဲ အတူတူပါပဲ။ code fuction အစိတ်အပိုင်းတွေကိုစစ်မယ် တစ်ခုခု မှာနေတာမျိုးတွေရင်ပြန်ပြင်မယ်ပေါ့။ Unit Testing ကတော့ Programing language အပေါ် အခြေ ခံပြီးမျိုးမျိုးရှိပါတယ်။ software development ကိုစလေ့လာတဲ့သူတွေအတွက် အရေးအကြီး ဘူးလို့ထင်ရပေမဲ့ Project ကြီးလာသည်နဲ့အမျှ ရေ ရှည်မှာအ‌ရေး ကြီးတဲ့အရာတစ်ခုဖြစ်ပါတယ်။ Unit testing က Software testing အဆင့်တွေထဲမှာ အ‌‌ခြေ ခံ အကျဆုံး အဆင့်ဖြစ်ပါတယ်။ Software Testing မှာ အဆင့် ၄ဆင့်ရှိပါတယ်။ Acceptance testing System testing Integration testing Unit testing Acceptance testing ဆိုတာကတော့ End user အနေနဲ့အသုံးပြုပြီး testing လုပ်တာကိုပြောချင်တာဖြစ်ပါတယ်။ tester က software project ရဲ့ feature အားလုံး ကိုစမ်းသုံးကြည့်ပြီး feedback ပြန်ပေးတာမျိုးပေါ။ UAT (User Acceptance Testing) လို့လဲခေါ် ကြပါတယ်။ ဥပမာ။ register , login, search, etct စတာတွေစမ်းလုပ်ကြည့်တာမျိုးပေါ။ System testing ကတော့ software တစ်ခုလုံးရဲ့ systemအားလုံးကိုစမ်းတာမျိုးပါ။ အစိတ်အပိုင်းတစ်ခု ခြင်းဘယ်လို့ တုန့်ပြန်တယ်၊ input output မှန်မမှန်စစ်တယ်၊ User experience ကောင်းမကောင်းစစ်တယ်၊စသဖြင့်ပေါ။ System testing မှာ Category နစ်ခုရှိပါတယ်။ Black box နဲ့ white box testing ဆိုပြီးတော့။ Black box testing ကတော့ project ရဲ့ input output ပေါ် အ‌‌ခြေ ခံပြီးရ‌စစ်ရတာမျိုးပေါ taxi booking project ဆို ရင် booking process တစ်ခုလုံးကိုစစ်တာမျိုးပေါ့။ White box testing ကတော့ project ကို အတွင်းပိုင်းကစစ်တာမျိုးပါ၊ security ကောင်းမကောင်း၊ code flow အဆင်ပြေမပြေ၊ ပြန်သုံးလို့ရမရ စသဖြင့်ပေါ။ System testing type ၅၀ကျော်ရှိပါတယ်၊ functional testing, recovery testing, performance testing, scalability testing, reliability testing, security testing စသဖြင့်။ project လိုအပ်ချက် ၊ အချိန်အတိုင်းအတာ၊ လူအင်အား ၊ company အရွယ်အစားနဲ့ ငွေသုံးနိုင်မူပေါ်မူတည်ပြီးရွေးချက်ကြတာပါတယ်။ Testing software အများကြီးရှိပါတယ် company ကြီးလေ လေ ပိုလိုအပ်လေ ဖြစ်ပြီး၊ tester ကတော့ software learning လုပ်ပြီး စမ်းကြရပါတယ်။ Integration testing ကတော့ ရှင်းရှင်‌းပြောရရင် unit testing တွေကိုပေါင်းထားတာမျိုးပေါ့။ သူကတော့ မတူညီတဲ့ software အစိတ်အပိုင်းတွေ test case တေွကို ပေါင်းပြီး စမ်းတာမျိုးပါ။ Integration testing ကို လုပ်ဆောင်ဖို့အတွက် testing plan ရေးဆွဲခြင်း, အမျိုးအစားရွေးခြင်း၊ scenario ရေးခြင်း၊ စသဖြင့်လုပ်ရပါတယ်။ project တစ်ခုလုံးစာ ဆွဲရတဲ့အတွက်‌ကြောင့် Integration Testing ကအချိန်ကြာလေ့ရှိပါတယ်။ Integration testing အမျိုးအစားများကတော့ Big-Bang Integration testing, Bottom-Up Approach, Top-Down Integration Testing, Sandwich Testing, စသဖြင့်ဖြစ်ပါတယ်။ Unit testing ကတော့ software ရဲ့ အစိတ်အပိုင်းသေးသေးလေးတွေ အစိတ်တစ်ပိုင်းစီကိုစစ်တာမျိုးပါ။ code တစ် လိုင်းထဲနဲ့ စစ်ထားတာမျိုးလဲတွေ့နိုင်ပါတယ်။အသုံးများတဲ့ pattern ကတော့ Arrange , Act and Assert ဖြစ်ပါတယ် AAA လို့လဲသိကြပါတယ်။Unit Testing ကကြောင်းဆက်ဆက် သွားကြတာပေါ။ နောက် part တွေမှာ စမ်းလို့ရမဲ့ code repo တွေနဲ့ ပိုစိတ်ဝင်စားတဲ့သူတွေရှိခဲ့ရင် pdfတွေ telegramမှာပိုပေးပါ့မယ် ဗျ။ ဒိအပတ်မှာ Unit testing အကြောင်း 3 ပိုင်း အဆင်ပြေသလိုအချိန် ခွဲပြီး telegram channel နဲ့ facebookမှာ တင်ပေးသွားပါမယ်။ facebook မှာရော telegramမှာပါ ဝင်ရောက်ဆွေးနွေးပေးကြပါဗျ။ facebook page နဲ့ telegramမှာ လဲ ပြန် shareပေးသွားပါမယ်ဗျ။ Facebook page နဲ့ telegram channel ကို follow subscribe လုပ်သွားနိုင်ပါတယ်ဗျ။ https://www.facebook.com/callmedevbypeter https://t.me/callmedevbypeter သိချင်တဲ့အကြောင်းအရာရှိရင် comment မှာရေးသွားပါဗျ။‌ Thanks you ပါ။ #caremmedevbypeter #unit_testing #part_1_3 #myanmar

blog

Unit testing ( Part-1/3)

Unit testing ( Part-1/3) Hi. Code ရေးပြီဆိုသိဖိုလိုလာမဲ့ Unit Testing အကြောင်းကို ရှဲပေးသွားပါမယ်ဗျ။ အကြောင်းအရာမှာ ဒါလေးတွေပါပါတယ်။ part 2 နဲ့ 3 မှာ code တွေ clone / downloadချပြီး စမ်းကြည့်လို့ရပါတယ်။ pdf resources တွေကိုလဲ လေးပိုင်းလုံးပြီးရင် ပိုဖတ်ချင်တဲသူရှိရင် telegram channelမှာတင်ပေးသွားပါမယ်။ - About Unit Testing - Four Level of testing - How Unit Testing work - AAA Pattern - Sample testable php code - Manual testing - Automated Unit Testing and TDD - Sample testable laravel code - The Three Laws of TDD - Red Green Refactor About Unit Testing Software development process မှာ Unit Testing ဆိုတာ အရေးပါတဲ့အရာတစ်ခုအနေနဲ့ပါဝင်နေပါတယ်။ Unit Testing ဆိုတာလာလဲ။ ရိုးရိုးရှင်းရှင်းပြောရရင် Unit Testing ဆိုတာ software ရဲ့ တစ်စိတ်တပိုင်း feature တစ်ခုခုဖြစ်ဖြစ် testလုပ်ဖို့ရေးထားတဲ့ code အပိုင်းအစတစ်ခုပါပဲ။ Unit Testing ရဲ့ ရည်ရွယ်ချက်ကတော့ testလုပ် လိုက်တဲ့ အခါ error ဖြစ်လား fail ဖြစ်လား quality ကောင်းတဲ့ codeလားစ သဖြင့် သိရအောင် ရေးထားတာပါ။ QA Developer , Tester , Developer တွေ ကတော့ Unit Testing ကို သုံးလေ့ရှိကြပါတယ်။ Unit Testing ကတော့ ခေါက် ဆွဲပြုတ်သလိုပဲပေါ့။ခေါက်ဆွဲပြုတ်ဖို့အတွက်လိုတဲ့ ပါဝင်ပစည်းတွေစစ်ဆေးတာမျိုး၊ ကြက်ဥ၊ အသီးအရွက်၊ ခေါက်ဆွဲ၊ ရေ စသဖြင့်ပေါ။ ကြက်ဥကမကောင်းရင် ကောင်းတာလေးနဲ့ပြန်လဲတာမျိုးပေါ့။ Unite testingက လဲ အတူတူပါပဲ။ code fuction အစိတ်အပိုင်းတွေကိုစစ်မယ် တစ်ခုခု မှာနေတာမျိုးတွေရင်ပြန်ပြင်မယ်ပေါ့။ Unit Testing ကတော့ Programing language အပေါ် အခြေ ခံပြီးမျိုးမျိုးရှိပါတယ်။ software development ကိုစလေ့လာတဲ့သူတွေအတွက် အရေးအကြီး ဘူးလို့ထင်ရပေမဲ့ Project ကြီးလာသည်နဲ့အမျှ ရေ ရှည်မှာအ‌ရေး ကြီးတဲ့အရာတစ်ခုဖြစ်ပါတယ်။ Unit testing က Software testing အဆင့်တွေထဲမှာ အ‌‌ခြေ ခံ အကျဆုံး အဆင့်ဖြစ်ပါတယ်။ Software Testing မှာ အဆင့် ၄ဆင့်ရှိပါတယ်။ Acceptance testing System testing Integration testing Unit testing Acceptance testing ဆိုတာကတော့ End user အနေနဲ့အသုံးပြုပြီး testing လုပ်တာကိုပြောချင်တာဖြစ်ပါတယ်။ tester က software project ရဲ့ feature အားလုံး ကိုစမ်းသုံးကြည့်ပြီး feedback ပြန်ပေးတာမျိုးပေါ။ UAT (User Acceptance Testing) လို့လဲခေါ် ကြပါတယ်။ ဥပမာ။ register , login, search, etct စတာတွေစမ်းလုပ်ကြည့်တာမျိုးပေါ။ System testing ကတော့ software တစ်ခုလုံးရဲ့ systemအားလုံးကိုစမ်းတာမျိုးပါ။ အစိတ်အပိုင်းတစ်ခု ခြင်းဘယ်လို့ တုန့်ပြန်တယ်၊ input output မှန်မမှန်စစ်တယ်၊ User experience ကောင်းမကောင်းစစ်တယ်၊စသဖြင့်ပေါ။ System testing မှာ Category နစ်ခုရှိပါတယ်။ Black box နဲ့ white box testing ဆိုပြီးတော့။ Black box testing ကတော့ project ရဲ့ input output ပေါ် အ‌‌ခြေ ခံပြီးရ‌စစ်ရတာမျိုးပေါ taxi booking project ဆို ရင် booking process တစ်ခုလုံးကိုစစ်တာမျိုးပေါ့။ White box testing ကတော့ project ကို အတွင်းပိုင်းကစစ်တာမျိုးပါ၊ security ကောင်းမကောင်း၊ code flow အဆင်ပြေမပြေ၊ ပြန်သုံးလို့ရမရ စသဖြင့်ပေါ။ System testing type ၅၀ကျော်ရှိပါတယ်၊ functional testing, recovery testing, performance testing, scalability testing, reliability testing, security testing စသဖြင့်။ project လိုအပ်ချက် ၊ အချိန်အတိုင်းအတာ၊ လူအင်အား ၊ company အရွယ်အစားနဲ့ ငွေသုံးနိုင်မူပေါ်မူတည်ပြီးရွေးချက်ကြတာပါတယ်။ Testing software အများကြီးရှိပါတယ် company ကြီးလေ လေ ပိုလိုအပ်လေ ဖြစ်ပြီး၊ tester ကတော့ software learning လုပ်ပြီး စမ်းကြရပါတယ်။ Integration testing ကတော့ ရှင်းရှင်‌းပြောရရင် unit testing တွေကိုပေါင်းထားတာမျိုးပေါ့။ သူကတော့ မတူညီတဲ့ software အစိတ်အပိုင်းတွေ test case တေွကို ပေါင်းပြီး စမ်းတာမျိုးပါ။ Integration testing ကို လုပ်ဆောင်ဖို့အတွက် testing plan ရေးဆွဲခြင်း, အမျိုးအစားရွေးခြင်း၊ scenario ရေးခြင်း၊ စသဖြင့်လုပ်ရပါတယ်။ project တစ်ခုလုံးစာ ဆွဲရတဲ့အတွက်‌ကြောင့် Integration Testing ကအချိန်ကြာလေ့ရှိပါတယ်။ Integration testing အမျိုးအစားများကတော့ Big-Bang Integration testing, Bottom-Up Approach, Top-Down Integration Testing, Sandwich Testing, စသဖြင့်ဖြစ်ပါတယ်။ Unit testing ကတော့ software ရဲ့ အစိတ်အပိုင်းသေးသေးလေးတွေ အစိတ်တစ်ပိုင်းစီကိုစစ်တာမျိုးပါ။ code တစ် လိုင်းထဲနဲ့ စစ်ထားတာမျိုးလဲတွေ့နိုင်ပါတယ်။အသုံးများတဲ့ pattern ကတော့ Arrange , Act and Assert ဖြစ်ပါတယ် AAA လို့လဲသိကြပါတယ်။Unit Testing ကကြောင်းဆက်ဆက် သွားကြတာပေါ။ နောက် part တွေမှာ စမ်းလို့ရမဲ့ code repo တွေနဲ့ ပိုစိတ်ဝင်စားတဲ့သူတွေရှိခဲ့ရင် pdfတွေ telegramမှာပိုပေးပါ့မယ် ဗျ။ ဒိအပတ်မှာ Unit testing အကြောင်း 3 ပိုင်း အဆင်ပြေသလိုအချိန် ခွဲပြီး telegram channel နဲ့ facebookမှာ တင်ပေးသွားပါမယ်။ facebook မှာရော telegramမှာပါ ဝင်ရောက်ဆွေးနွေးပေးကြပါဗျ။ facebook page နဲ့ telegramမှာ လဲ ပြန် shareပေးသွားပါမယ်ဗျ။ Facebook page နဲ့ telegram channel ကို follow subscribe လုပ်သွားနိုင်ပါတယ်ဗျ။ https://www.facebook.com/callmedevbypeter https://t.me/callmedevbypeter သိချင်တဲ့အကြောင်းအရာရှိရင် comment မှာရေးသွားပါဗျ။‌ Thanks you ပါ။ #caremmedevbypeter #unit_testing #part_1_3 #myanmar

Call Me Dev by Peter Logo

CallMeDevbyPeter

Since 2022