Unit testing ( Part-3/3)
Unit testing ( Part-3/3) Hi ဒီနေ့ကတော့ Unit Testing ရဲ့ TDD, နဲ့ စမ်းရေးလို့ မဲ့ github linkလေးတွေပါထည့်ပေးထားပါတယ်။ Automated Unit Testing and TDD UTF (Unit Testing Framework)ကတော့များကြီးရှိပါတယ်။ developer အများစုကတော့ automated unit testing ကိုသုံးကြပါတယ် ပိုမြန်ပြီးပိုလျင်မြန်စေလိုပါ။ TDD (Test Driven Development Practice) ကတော လူသိများတဲ့ နည်းစနစ်တစ်ခုဖြစ်ပါတယ်။ TDDမှာဆိုရင် test case ရေးပြီးမှ codeစရေးတဲ့ နည်းလမ်းကိုကျင့်သုံးလိုရပါတယ်။ “Test First” နည်းလမ်းပေါ့။ coding မပြီးသေးပဲ testing စလုပ်လို့ရေနေပြီမို့ တော်တ်ောပိုအဆင်ပြေစေတာပေါ။ လူသိများတဲ့ Unit testing framework တွေကတော့ PHPUnit in PHP, JUnit in Java, စသဖြင့်ဖြစ်ပါတယ်။ Laravel- 8 test case with TDD Repo ref - https://github.com/PeterMMM/Unit-Testing-Laravel-8 You can see in commits reset to test the test case stages. Commit ကို ကြည့်ပြီး testcase ကိုစမ်းလို့ရပါတယ် commit ပြောင်းပြီးတော့။ The Three Laws of TDD TTD ရဲ့ laws ၃ ခု ရှိပါတယ်။နားလည်လွယ်အောင်ပြောရရင် ၁. Fail test case ကို pass ဖြစ်သွားမှသာ Production code ကိုစရေးပါ ၂. လုံလောက်တဲ့ fail unit test ရေး ပြီရင် ရပါပြီ အများကြီးပိုမရေးပါနဲ့၊ compilation ကြောင့် fail လဲ failတယ်လို့သက်မှတ်ပါတယ် (test case ရေးတဲ့အခါလဲ စစ်တဲ့ function တစ်ခုကာမိရင်ရပါပြီ unit test ဖြစ်တဲ့ အတွက် unit တစ်ခု fail test တစ်ခုရေးပြီးစမ်းရမယ်ပေါ့ အဲလောက်ဆိုလုံလောက်ပြီလို့ပြောချင်တာပါ။) ၃. Fail test case ကို pass ဖြစ်ဖို့လုံလောက်တဲ့ production code အတိုင်းအတာပဲရေးပါ။ ( test case အတိုင်းအတာထက် ပြီး production code မရေးဖို့ပြောချင်တာပါ။ ပိုရေးရင် unit test မရှိပဲ ရေးတာာဖြစ်တာကြောင့်ပါ။) Git repo ကို clone ပြီး deploy လုပ်မယ်ဆိုရင်တော့ git commit တွေကို တစ်ခုချင်းပြောင်းပြီးစမ်းကြည့်လို့ရပါတယ်။ ဘာကြောင့် unit test failတယ် ဘယ် code ပြောင်းသွားလို့ passဖြစ်တယ်ဆိုတာကိုပိုနားလည်လာပါလိုက်မယ်။ Sqliteသုံးထားပါတယ်။ Red green refactor Red green refactor ကတော့ ပိုနားလည်လွယ်ပါတယ် ၁. Red : ဘာပဲစရေးရေး fail စစ်နိုင်မဲ့ unit test အရင်ရေးပါ။ ၂. Green : Unit test ကို pass ဖြစ်မဲ့ production codeကိုရေးပါ။ ၃. Refactor : ရေးထားတဲ့ production code ကိုပြည့်စုံအောင်စစ်ပါ။ စမ်းထားတဲ့ ရှုပ်နေတာလေးတွေရှင်းထုတ်ပါ။ နည်းလမ်းတွေကမခက်ခဲပါဘူး ဒါကြောင့် စမ်းပြီးရေးကြည့်ပါလို့အားပေးပါတယ်။ Codeရေး ရင် လက်တွေစမ်းကြ်ည့လို့ရပါတယ်။ Unit test အရေးမကြီးဘူးဆိုပြီးမကျော်ပစ်ပါနဲ့နော်။ Conclusion ဟုတ်ပါပြီ။ အခုထိဖတ်ပေးလို့ကျေးဇူးတင်ပါတယ်ဗျ။ တစ်ခုခုရလိုက်တယ်ဆိုနားလည်လိုက်တဲ့အပိုင်းတွေ မလည်လိုက်တဲ့အပိုင်းတေွ ဆွေးနွေပေးပအုံးဗျ။ Unit testing ကတောလုပ်နေကျဆိုရင်လဲ တစ်ချက်အတွေအကြုံ shareသွားပါအုံးဗျ။ ကျေးဇးူပါ။ တကယ် လို့ Version control Git သုံးပြုနည်းကိုသိချင်တဲ့သူများတယ်ဆိုရင် အဲ့အကြောင်း ကို ရေးပေးပါမယ်။ တခြားအကြောင်းအရာသီချင်တယ် ဆိုရင်လဲ Post အော်က မှ comment မန်တာဖြစ်ဖြစ် ပေးလို့ရပါတယ်။ Telegram Channel က Poll မှာလဲ voting သွားပေးလို့ရပါတယ်နော်။ Facebook မှာရော Telegramမှာပါ ဝင်ရောက်ဆွေးနွေးပေးကြပါဗျ။ Facebook page နဲ့ telegram channel ကို follow subscribe လုပ်သွားနိုင်ပါတယ်ဗျ။ https://www.facebook.com/callmedevbypeter https://t.me/callmedevbypeter Thanks you ပါ။ #callmedevbypeter #unit_testing #part_3/3

Unit testing ( Part-3/3)
Unit testing ( Part-3/3) Hi ဒီနေ့ကတော့ Unit Testing ရဲ့ TDD, နဲ့ စမ်းရေးလို့ မဲ့ github linkလေးတွေပါထည့်ပေးထားပါတယ်။ Automated Unit Testing and TDD UTF (Unit Testing Framework)ကတော့များကြီးရှိပါတယ်။ developer အများစုကတော့ automated unit testing ကိုသုံးကြပါတယ် ပိုမြန်ပြီးပိုလျင်မြန်စေလိုပါ။ TDD (Test Driven Development Practice) ကတော လူသိများတဲ့ နည်းစနစ်တစ်ခုဖြစ်ပါတယ်။ TDDမှာဆိုရင် test case ရေးပြီးမှ codeစရေးတဲ့ နည်းလမ်းကိုကျင့်သုံးလိုရပါတယ်။ “Test First” နည်းလမ်းပေါ့။ coding မပြီးသေးပဲ testing စလုပ်လို့ရေနေပြီမို့ တော်တ်ောပိုအဆင်ပြေစေတာပေါ။ လူသိများတဲ့ Unit testing framework တွေကတော့ PHPUnit in PHP, JUnit in Java, စသဖြင့်ဖြစ်ပါတယ်။ Laravel- 8 test case with TDD Repo ref - https://github.com/PeterMMM/Unit-Testing-Laravel-8 You can see in commits reset to test the test case stages. Commit ကို ကြည့်ပြီး testcase ကိုစမ်းလို့ရပါတယ် commit ပြောင်းပြီးတော့။ The Three Laws of TDD TTD ရဲ့ laws ၃ ခု ရှိပါတယ်။နားလည်လွယ်အောင်ပြောရရင် ၁. Fail test case ကို pass ဖြစ်သွားမှသာ Production code ကိုစရေးပါ ၂. လုံလောက်တဲ့ fail unit test ရေး ပြီရင် ရပါပြီ အများကြီးပိုမရေးပါနဲ့၊ compilation ကြောင့် fail လဲ failတယ်လို့သက်မှတ်ပါတယ် (test case ရေးတဲ့အခါလဲ စစ်တဲ့ function တစ်ခုကာမိရင်ရပါပြီ unit test ဖြစ်တဲ့ အတွက် unit တစ်ခု fail test တစ်ခုရေးပြီးစမ်းရမယ်ပေါ့ အဲလောက်ဆိုလုံလောက်ပြီလို့ပြောချင်တာပါ။) ၃. Fail test case ကို pass ဖြစ်ဖို့လုံလောက်တဲ့ production code အတိုင်းအတာပဲရေးပါ။ ( test case အတိုင်းအတာထက် ပြီး production code မရေးဖို့ပြောချင်တာပါ။ ပိုရေးရင် unit test မရှိပဲ ရေးတာာဖြစ်တာကြောင့်ပါ။) Git repo ကို clone ပြီး deploy လုပ်မယ်ဆိုရင်တော့ git commit တွေကို တစ်ခုချင်းပြောင်းပြီးစမ်းကြည့်လို့ရပါတယ်။ ဘာကြောင့် unit test failတယ် ဘယ် code ပြောင်းသွားလို့ passဖြစ်တယ်ဆိုတာကိုပိုနားလည်လာပါလိုက်မယ်။ Sqliteသုံးထားပါတယ်။ Red green refactor Red green refactor ကတော့ ပိုနားလည်လွယ်ပါတယ် ၁. Red : ဘာပဲစရေးရေး fail စစ်နိုင်မဲ့ unit test အရင်ရေးပါ။ ၂. Green : Unit test ကို pass ဖြစ်မဲ့ production codeကိုရေးပါ။ ၃. Refactor : ရေးထားတဲ့ production code ကိုပြည့်စုံအောင်စစ်ပါ။ စမ်းထားတဲ့ ရှုပ်နေတာလေးတွေရှင်းထုတ်ပါ။ နည်းလမ်းတွေကမခက်ခဲပါဘူး ဒါကြောင့် စမ်းပြီးရေးကြည့်ပါလို့အားပေးပါတယ်။ Codeရေး ရင် လက်တွေစမ်းကြ်ည့လို့ရပါတယ်။ Unit test အရေးမကြီးဘူးဆိုပြီးမကျော်ပစ်ပါနဲ့နော်။ Conclusion ဟုတ်ပါပြီ။ အခုထိဖတ်ပေးလို့ကျေးဇူးတင်ပါတယ်ဗျ။ တစ်ခုခုရလိုက်တယ်ဆိုနားလည်လိုက်တဲ့အပိုင်းတွေ မလည်လိုက်တဲ့အပိုင်းတေွ ဆွေးနွေပေးပအုံးဗျ။ Unit testing ကတောလုပ်နေကျဆိုရင်လဲ တစ်ချက်အတွေအကြုံ shareသွားပါအုံးဗျ။ ကျေးဇးူပါ။ တကယ် လို့ Version control Git သုံးပြုနည်းကိုသိချင်တဲ့သူများတယ်ဆိုရင် အဲ့အကြောင်း ကို ရေးပေးပါမယ်။ တခြားအကြောင်းအရာသီချင်တယ် ဆိုရင်လဲ Post အော်က မှ comment မန်တာဖြစ်ဖြစ် ပေးလို့ရပါတယ်။ Telegram Channel က Poll မှာလဲ voting သွားပေးလို့ရပါတယ်နော်။ Facebook မှာရော Telegramမှာပါ ဝင်ရောက်ဆွေးနွေးပေးကြပါဗျ။ Facebook page နဲ့ telegram channel ကို follow subscribe လုပ်သွားနိုင်ပါတယ်ဗျ။ https://www.facebook.com/callmedevbypeter https://t.me/callmedevbypeter Thanks you ပါ။ #callmedevbypeter #unit_testing #part_3/3

CallMeDevbyPeter
Since 2022