Software Bug ဆိုတာဘာလဲ?
🙇 စာရေးသူ - ဝေယံ
📮 ကောက်နုပ်ချက် - ဘာသာပြန်/မိမိအမြင်
📚 အမျိုးအစား - စာပိုဒ်ရှည်
Software Bug ဆိုတာ Software စနစ်တစ်ခုရဲ့အမှား သို့မဟုတ် ချို့ယွင်းချက် တစ်ခုပါ။ မိမိလုပ်စောင်လိုက်သလို မှန်ကန်တဲ့ရလဒ်တစ်ခု ဖြစ်မလာတာမျိုး၊ မျှော်လင့်ထားသလို ဖြစ်မလာတာမျိုးကိုဆိုလိုတာပါ။ ဒါဟာ Software များ Application များရဲ့ Programming Code တွေ့မှာပြသနာ အနဲငယ်ရှိနေလို့ဖြစ်ပါတယ်။ Develope လုပ်နေချိန်အတွင်းမှာ ဖြစ်ပေါ်လာတဲ့ Issues များကို အကြိမ်ကြိမ် စစ်ဆေးထားသော်လဲ Production Version မှာ issue အနဲငယ်ပါဝင်သွားတက်ပါတယ်။ ဒါကို Software Bug လိုခေါ်ပါတယ်။ Bug တွေကို မှားယွင်းသော Coding များ Design များမှပြန်လည်စစ်ဆေးရပါတယ်။ code တစ်ခုဟာ ပမာဏ ၂ခုကို (+) ရမဲ့နေရာမှာ ပမာဏ ၂ခုကို (-) ထားရင် Program တစ်ခုအနေနဲ့ အလုပ်လုပ်နေသော်လဲ Output မှာ မှန်ကန်မှု မရှိနိုင်ပါဘူး။ ကိုယ်က မဖျတ်လိုက်ပဲ ပျက်သွားတာမျိုးတွေ၊ ကိုယ်က Log မလုပ်ပဲ Log ဖြစ်သွားတာမျိုးတွေဖြစ်တတ်ပါတယ်။ သာမန် Software တစ်ခုအနေနဲ့ ပြသနာနဲသော်လဲ Government Software တွေ ၊ Bank Software တွေ Data Storage Software တွေမှာတော့ bugs ဖြစ်ခဲ့ရင် ပြသနာက ကြီးမားလှပါတယ်။
Software Development Life Cycle (SDLC)
Software တွေကို တည်ဆောက်ရတဲ့အခါမှာ အဆင့် ၆ ဆင့်နဲ့ တည်ဆောက်ရတယ်။ အဲ့ဒါကို Software Development Life
Cycle (SDLC) လို့ခေါ်တယ်။
-Requirements Analysis
-Design
-Development
-Testing and Bug fixing
-Deployment
-Maintenance and Update
၄-အဆင့် မှာ Testing အပိုင်စတင်ရတယ်။ တစ်ခုချင်း အသေးစိတ် ချို့ယွင်းချက်တွေကိုစစ်ဆေးရတယ်။ software ရဲ့လုပ်ဆောင်မှု မှန်ကန်လားစစ်ရတယ်၊ issues တွေ ရှိခဲ့ရင် ခွဲခြားသတ်မှတ်ရတယ်၊ စံသတ်မှတ်ထားတဲ့ Function တွေရဲ့လုပ်ဆောင်နိုင်စွမ်းကိုစစ်ဆေးရတယ်။ Bug တွေ ကမထင်ထားသလိုအများကြီးရှိနေနိုင်လို့ စစ်ဆေးရတဲ့အခါ အချိန်တစ်ခု ပိုပေးထားရတယ်။ Project တစ်ခုလုံး အမှားအယွင်းမရှိဘဲ အလုပ်လုပ်နိုင်သည်အထိ သူကလုပ်ဆောင်ပေးရတယ်။ စမ်းသပ်မှုကာလအတွင်းမတွေ့ရတဲ့ issues တွေဟာ ကျွန်တော်ပြောတဲ့ Software Bugs ပါ။ ဒါတွေကို Developer တွေက ပြုပြင်ပြီ ပထမ Version သက်တမ်းကုန်ဆုံးချိန်မှာ ဒုတိယ Version Update အနေနဲ့ ဖြန့်ဝေပေးပါတယ်။ Mobile Device တွေမှားက Format လုပ်ပေးရတာရှိတယ်။ တစ်ခုနဲ့တစ်ခုကတော့မတူပါဘူး။ Apple, Samsung, Xiaomi တွေမှာလဲ Version အလိုက် Bug တွေရှိခဲ့တယ်။ ဒါတွေကို Version Update တွေလုပ်ပြီး အသုံးပြုရပါမယ်။Software တစ်ခု ရလဒ်များသေချာစေရန် bug များကိုဖော်ထုတ်ဖြေရှင်းရန် ပြသနာများကိုပြင်ဆင်ရန် Developerတွင်တာဝန်ရှိပါသည်။
Bugတွေရဲ့ အရေးကြီးပုံ ဥပမာအနေနဲ့ -
* ၁၉၈၀ ပြည့်အလွန်က Therac-25 ဓာတ်ရောင်ခြည်ကုထုံး စက်ကို ထိန်းချုပ်သည့် Software မှာ Code အမှားအယွင်းများကြောင့် လူအများအပြားသေဆုံးခဲ့ရတယ်။
* ၁၉၉၆ ခုနှစ်မှာ Ariane 5 ဒုံးကျည်သည် Program အမှားများကြောင့် လွှင့်တင်ပြီး စက္ကန့်အနည်းငယ်တွင်ဖျက်ကျခဲ့ပါတယ်။ ဒေါ်လာ ၁.၀ ဘီလီယံ ဆုံးရှုံမှုကြီးပါ။
* ၁၉၆၂ ခုနှစ်တွင် Mariner I အာကာသယာဥ်သည် Software အမှားများကြောင့် ဒုံးပျံကို လမ်းကြောင်းပြောင်းသွားစေပါတယ်။
* ၁၉၉၀ ပြည့်လွန်နှစ်များတွင် AT & T ၏ Software Control #4ESS အဝေးထိန်းခလုတ်များမှ ကွန်ပျူတာအမြောက်အများကို ပျက်စီးစေခဲ့ပါတယ်။