ကြီးမားသော software ကိုကုမ္ပဏီများ, Google ကကဲ့သို့မိမိတို့ software ကိုအတွက်အနိမ့်ကိုဦးစားပေး bug တွေကြားမှအောင်မြင်ပေမယ့်သေးငယ်ကုမ္ပဏီများနှင့်စတင်ကြောင်းဇိမ်ခံစရာမလိုပါ။
ဖောက်သည်ကိုသူတို့ရောင်းအားစာမျက်နှာပေါ်တွင်, သို့မဟုတ်စာရွက်စာတမ်းများအတွက်တောင်းဆိုဘာလုပ်မှထုတ်ကုန်များကိုမျှော်လင့်ထား။ ထုတ်ကုန်မိမိတို့၏အချိန်နှင့်ပိုက်ဆံ wastes လျှင်ထွက်ရှိပါတယ်ဤမျှလောက်များစွာသောရွေးချယ်စရာနှင့်အတူ, သူတို့သင်္ဘောခုန်အကြောင်းကိုနှစ်ကြိမ်စဉ်းစားလိမ့်မည်မဟုတ်ပေ။ ထို့ကြောင့်, ဆော့ဖ်ဝဲနိုင်ရန်အတွက်လွှတ်ပေးရန်မတိုင်မီတိကျခိုင်မာစွာစာမေးပွဲများခြင်းကိုသည်းခံ:
မူရင်းအယူအဆနှင့်နောက်ဆုံးအထွက်များအကြားခြားနားချက်များကိုမီးမောင်းထိုးပြ
ဒီဇိုင်နာများစီစဉ်ထားတဲ့လမ်းအလုပ်လုပ်တယ်ဆော့ဖ်ဝဲကိုအတည်ပြုရန်
အဆုံးထုတ်ကုန်မှန်ကန်ကြောင်းသက်သေပြ - ထုတ်ကုန်ဖောက်သည်လိုအပ်ချက်များကိုဖြည့်ဆည်းရပါမည်
အင်္ဂါရပ်တွေနှင့်အရည်အသွေးအကဲဖြတ်
စမ်းသပ်ခြင်းတစ်တင်းကျပ်အသေးစိတ်အစီအစဉ်အောက်ပါအတိုင်း။ ရှေ့ဆက်ထုတ်ကုန်ယူမရှိမဖြစ်လိုအပ်သောသတင်းအချက်အလက်များနှင့်အတူသက်ဆိုင်သူများပေးစဉ်ကျွမ်းကျင်မှု, အချိန်နှင့်ပိုက်ဆံ - ဤအဖိုးတန်သယံဇာတများအသုံးပြုခြင်းကိုပိုမိုကောင်းမွန်စေ။ အဆိုပါရည်မှန်းချက်သည်ခိုင်ခံ့မှတဆင့်ကောင်းတစ်ဦး End-user အတွေ့အကြုံကိုလွယ်ကူချောမွေ့ရန်ဖြစ်ပါသည် အရည်အသွေးကိုအာမခံချက် ပရိုဂရမ်ဖြစ်ပါတယ်။ အဆိုပါလောင်းကြေးဒီတော့အမြင့်ဆုံးနှင့်အတူ, QA သို့မန်နေဂျာ၏အချို့ ထိပ်တန်း်ငွေရရှိသူတွေ tech.Testing အတွက်များသောအားဖြင့်ကဤခြေလှမ်းများအောက်ပါအတိုင်း:
မန်နေဂျာများအရပျ၌တစ်ဦးသင့်လျော်သောစမ်းသပ်မှုမဟာဗျူဟာထားရန်အစီအစဉ်ကိုဖျောပွရှိရာလိုအပ်ချက်ခွဲခြမ်းစိတ်ဖြာ။
စမ်းသပ်မှုများစတင်နှင့်ရလဒ်များကိုခွဲခြမ်းစိတ်ဖြာခံယူ။
မဆိုချို့ယွင်းချက်တညျ့နှင့်ဆော့ဖ်ဝဲဆုတ်ယုတ်စမ်းသပ်ခြင်းမှတဆင့်သွားကြသည် - အစီအစဉ်ကိုစစျဆေးဖို့စနစ်တစ်ခုနေဆဲပြုပြင်မွမ်းမံပြီးနောက်အလုပ်လုပ်ပါတယ်။
တစ်ဦးကစမ်းသပ်ပိတ်သိမ်းအစီရင်ခံစာထို့နောက်လုပ်ငန်းစဉ်တစ်ခုလုံးနှင့်ရလဒ်များအသေးစိတ်ဖော်ပြထားသည်။
Software ကိုစမ်းသပ်ခြင်းနည်းလမ်းများ
ဤတွင်ထုတ်ကုန်အပြုအမူများနှင့်စွမ်းဆောင်ရည်တို့ကိုစစ်ကြောစီရင်ရန်အသုံးပြုသည့်ကွဲပြားခြားနားသောနည်းလမ်းများရှိပါသည်။
Black ကသေတ္တာနှင့်အဖြူ box ကိုစမ်းသပ်ခြင်းနှစ်ခုအခြေခံနည်းလမ်းများဖြစ်ကြသည်။
- Black က box ကိုစမ်းသပ်ခြင်း - ဒါ့အပြင် functional ဖြစ်စေသို့မဟုတ်သတ်မှတ်ချက်-based စမ်းသပ်ခြင်းကိုခေါ်, ဒီနည်းလမ်းကို output ကိုအာရုံစိုက်။ စမ်းသပ်သူများပြည်တွင်းရေးယန္တရားများနှင့်အတူစိုးရိမ်ပူပန်နေကြသည်မဟုတ်။ သူတို့ကသာကထင်ရဲ့အဘယ်အရာကိုမဆော့ဖ်ဝဲစစ်ဆေးပါ။ coding အသိပညာမလိုအပ်ပါဘူးဖြစ်ပြီး, စမ်းသပ်သူများ user interface ကို level မှာအလုပ်လုပ်ကြသည်။
- အဖြူရောင်သေတ္တာစမ်းသပ်ခြင်း - ဤနည်းလမ်းကိုစမ်းသပ်လုပ်ထုံးလုပ်နည်း၏တစ်စိတ်တစ်ပိုင်းအဖြစ် Know-ဘယ်လို coding ကိုအသုံးပြုသည်။ ထုတ်ကုန်ပျက်ကွက်သည့်အခါစမ်းသပ်သူများအကြောင်းရင်းကိုရှာဖွေအဖြစ်နက်ရှိုင်းသောအဖြစ်လိုအပ်သော code ကိုသို့သွားပါ။ သူတို့ကထုတ်ကုန်အလုပ်လုပ်သင့်တယ်ဘယ်လိုကိုဆုံးဖြတ်ကတည်းကအဆိုပါ software ကို developer များကဤသူတို့ကိုယ်သူတို့လုပ်ပါ။ ဖွဲ့စည်းပုံ-based နှင့်ဖန်ထည် box ကိုစမ်းသပ်ခြင်းဒီနည်းလမ်းကိုအခြားအမည်များဖြစ်ကြသည်။
- static စမ်းသပ်ခြင်း - စမ်းသပ်သူများသို့ဆော့ဖ်ဝဲရဲ့ကုဒ်နှင့်စာရွက်စာတမ်းများဆန်းစစ်ပေမယ့်အစီအစဉ်ကို execute ပါဘူး။ static စမ်းသပ်မှုအတည်ပြုမှုလုပ်ငန်းစဉ်ကာလအတွင်းထုတ်ကုန်ရဲ့ဖွံ့ဖြိုးတိုးတက်မှုအတွက်အစောပိုင်းစတင်ပါ။
- dynamic စမ်းသပ်ခြင်း - အဆိုပါ software ကိုအမျိုးမျိုးသောသွင်းအားစုနှင့်အတူကွပ်မျက်ခံရနှင့်စမ်းသပ်သူများဒီနည်းလမ်းကိုနှင့်အတူမျှော်မှန်းအပြုအမူနှင့်အတူအကျိုးရလဒ်များနှိုင်းယှဉ်နေပါတယ်။
- GUI ကိုစမ်းသပ်ခြင်း - ဒါကြောင့်အပေါ်ကိုစာသားပုံစံချပေး, စာသားသေတ္တာများ, ခလုတ်, စာရင်းများ, layout ကို, အရောင်များ, ဖောင့်, font ကိုအရွယ်အစားနှင့် - ဤ GUI ကိုဝိသေသလက္ခဏာများစမ်းသပ်။ GUI ကိုစမ်းသပ်ခြင်းအချိန်ကုန်ဖြစ်ပြီး, တတိယ -party ကုမ္ပဏီများသည်မကြာခဏတာဝန်အစား developer များအပေါ်ယူပါ။
စမ်းသပ်မှုအဆင့်ဆင့်
ဤဆော့ဖ်ဝဲကိုဖှံ့ဖွိုးတိုးတဘဝသံသရာ၏တစ်ဦးချင်းစီအဆင့်အားနည်းခြင်းနှင့်ထပ်တူဒေသများတွင်ဖော်ထုတ်ရန်လိုအပ်ပါကြောင်း။
- ယူနစ်ကိုစမ်းသပ် - Developers အတန်း, interfaces နှင့်လုပ်ဆောင်ချက်များကို / လုပ်ထုံးလုပ်နည်းများနဲ့တူကုဒ်၏အခြေခံအကျဆုံးအစိတ်အပိုင်းစမ်းသပ်ရန်။ သူတို့ကသူတို့ရဲ့ code ကိုတုံ့ပွနျသငျ့နှင့် output ကိုပေါ် မူတည်. ပွုပွငျပွောငျးလဲနိုငျပုံကိုငါသိ၏။
- component စမ်းသပ်ခြင်း - အခြားအမည်များ module သို့မဟုတ် program ကိုစမ်းသပ်ခြင်းဖြစ်ပါသည်။ ဒါဟာယူနစ်ကိုစမ်းသပ်ဖို့ဆင်တူပေမယ်ပေါင်းစည်းမှုတစ်ခုမြင့်မားတဲ့အဆင့်ကိုပါဝင်သည်။ ဆော့ဖ်ဝဲ modules သူတို့၏တစ်ဦးချင်းစီ function ကိုအတည်ပြုရန်ချို့ယွင်းချက်များအတွက်စမ်းသပ်ပြီးနေကြသည်။
- ပေါင်းစည်းရေးစမ်းသပ်ခြင်း - module တွေပေါင်းစည်းကြသောအခါဤသည်အမှားများကိုသတ်မှတ်။ ကွဲပြားခြားနားသောပေါင်းစည်းမှုစမ်းသပ်မှုအောက်ခြေအထိထိပ်တန်းဆင်းနှင့် functional incremental ဖြစ်ကြသည်။
- System ကိုစမ်းသပ်ခြင်း - တစ်စီမံကိန်း၏အစိတ်အပိုင်းများဒီနည်းလမ်းကိုအတူကွဲပြားခြားနားသော enviroments မှာတစ်ဖွဲ့လုံးကစမ်းသပ်ပါတယ်။ ဒါဟာအနက်ရောင်သေတ္တာနည်းလမ်းအောက်တွင်ကျရောက်နှင့်လုပ်ငန်းစဉ်များတွင်နောက်ဆုံးစမ်းသပ်မှုတစ်ခုဖြစ်ပါသည်။ စနစ်လုပ်ငန်းဆောင်တာကြောင့်သင့်ပါတယ်အဖြစ်မယ်ဆိုရင်ဒါဟာစီးပွားရေးနှင့်အသုံးပြုသူလိုအပ်ချက်များကိုဖြည့်ဆည်းရန်ဆုံးဖြတ်သည်။
- alpha စမ်းသပ်ခြင်း - တစ် simulated သို့မဟုတ်အမှန်တကယ်ပတ်ဝန်းကျင်အတွက်ဆော့ဖ်ဝဲရေးသူရဲ့ site ကိုမှာပြည်တွင်းဝန်ထမ်းစမ်းသပ်ဆော့ဖ်ဝဲ။ ထို့နောက် developer များ bug တွေနှင့်အခြားပြဿနာများကိုဖြေရှင်းပေးရန်။
- Beta ကိုစမ်းသပ်ခြင်း - အဖြစ်ကောင်းစွာလယ်ကိုစမ်းသပ်ခြင်းအဖြစ်လူသိများနေ client ကိုမှန်ကန်အခြေအနေများအတွက်မိမိတို့ကိုယ်ပိုင် site ပေါ်တွင်ထုတ်ကုန်စမ်းသပ်။ အဆိုပါ client ကိုအဆုံး-အသုံးပြုသူအုပ်စုတစ်ခု prerelease သို့မဟုတ် beta ကိုဗားရှင်းကနေတဆင့်ဆော့ဖ်ဝဲစမ်းသပ်ဖို့အခွင့်အလမ်းကိုကမ်းလှမ်းလိမ့်မည်။ ဖြစ်နိုင်သမျှတိုးတက်မှုများအပေါ်တုံ့ပြန်ချက်ထို့နောက်ဆော့ဖ်ဝဲရေးသူထံသို့စေလွှတ်သည်။
- လက်ခံမှုကိုစမ်းသပ်ခြင်း - ဒါ့အပြင်အနက်ရောင်သေတ္တာစမ်းသပ်ခြင်း, ဆော့ဖ်ဝဲရေးသားသူအလိုရှိသောသတ်မှတ်ချက်များဖို့အစီအစဉ်ကိုဖန်တီးလျှင်ထွက်ရှာရန် client ကိုစမ်းသပ်မှုဆော့ဖ်ဝဲနယ်ပယ်အောက်မှာ။
စမ်းသပ်ခြင်းအမျိုးအစားများ
ဤရွေ့ကား software ကိုစမ်းသပ်မှုတိကျတဲ့ရည်မှန်းချက်တွေအပေါ်အာရုံစူးစိုက်။
- installation စမ်းသပ်ခြင်း - အဆိုပါဆော့ဖ်ဝဲကိုစမ်းသပ်အင်ဂျင်နီယာနှင့် configuration ကိုမန်နေဂျာက End-user program ကို install လုပ်ပြီး run နိုင်ပါတယ်သေချာစေရန်ဒီစမ်းသပ်မှုလုပ်ဆောင်ရပါမည်။ ဒါဟာ installation files များ, တပ်ဆင်ခြင်းတည်နေရာနှင့်စီမံခန့်ခွဲရေးဆိုင်ရာအခွင့်ထူးများကဲ့သို့ဒေသများတွင်ဖုံးလွှမ်း။
- ဖွံ့ဖြိုးရေးစမ်းသပ်ခြင်း - ဤချို့ယွင်းချက် detect နှင့်ကာကွယ်တားဆီးဖို့ညှိမဟာဗျူဟာတစ်ခုအကွာအဝေးအကောင်အထည်ဖော်ဆောင်ရွက်နေသော။ ဒါဟာငြိမ်ကုဒ်ခွဲခြမ်းစိတ်ဖြာ, သက်တူရွယ်တူကုဒ်ပြန်လည်သုံးသပ်ခြင်း, traceability နှင့်မက်ထရစ်ခွဲခြမ်းစိတ်ဖြာပါဝင်သည်။ ရည်ရွယ်ချက်မှာအန္တရာယ်များကိုလျှော့ချရန်နှင့်ကုန်ကျစရိတ်ကိုကယ်တင်ရန်ဖြစ်ပါသည်။
- အသုံးဝင်မှုစမ်းသပ်ခြင်း - အသုံးပြုသူအတွေ့အကြုံကို ဒီစမ်းသပ်မှုနှင့်အတူမီးမောင်းထိုးအောက်မှာလာပါတယ်။ ဒါဟာ GUI ကိုဒီဇိုင်းနှင့်အသုံးပြုမှု၎င်း၏လွယ်ကူခြင်းဖြစ်ပါတယ်ဘယ်လောက်ကောင်းကောင်းတိုင်းတာသည်။ လုပ်ငန်းဆောင်တာများနှင့်စမ်းသပ်မှုဘာသာရပ်များများ၏စိတ်ပိုင်းဆိုင်ရာတုံ့ပြန်မှုများ၏စမ်းသပ်စစ်ဆေးမှုများကိုတိကျမှန်ကန်မှုနှင့်ထိရောက်မှု။
- စိတ်ဖောက်ပြန်စမ်းသပ်ခြင်း - ဆော့ဖ်ဝဲနောက်ထပ်စမ်းသပ်မှုတွေဆက်လက်အချိန်နှင့်ကုန်ကျစရိတ်ထိုက်သည်ဆိုပါကဤအဖော်ပြသည်။ သိပ်အများကြီးအားနည်းချက်တွေကိုနှင့်ပိုပြီးပြင်းထန်တဲ့စမ်းသပ်မှုတွေကိုလိုက်နာကြပါဘူး။
- မီးခိုးစမ်းသပ်ခြင်း - မီးခိုးစမ်းသပ်ဖြန့်ချိတားဆီးဖို့လုံလောက်တဲ့လေးနက်ဖြစ်ကြောင်းအခြေခံအောင်မြင်မှုများဖော်ပြသည်။ ဒီသစ်တစ်ခုတည်ဆောက်အပေါ်ထွက်ယူသွားတတ်၏တဲ့အခါမှာ, တကတည်ဆောက်စိစစ်အတည်ပြုစမ်းသပ်မှုဟုခေါ်သည်။
- Regression စမ်းသပ်ခြင်း - စနစ်ပြုပြင်မွမ်းမံခြင်းကိုသည်းခံတဲ့အခါ, ဆုတ်ယုတ်စမ်းသပ်ခြင်းမျှော်လင့်မထားတဲ့အပြုအမူစောင့်ကြည့်။ ဒါဟာ module တွေသို့မဟုတ်အစိတ်အပိုင်းများအပေါ်ဆိုးရွားသောသက်ရောက်မှုများထွက်ထောက်ပြသည်။
- အဖျက်စမ်းသပ်ခြင်း - input ကိုပုံမှန်မဟုတ်သော entries တွေကို Testers နှင့်မမျှော်လင့်ဘဲ input ကိုစီမံခန့်ခွဲဖို့ဆော့ဝဲရဲ့စွမ်းရည်ကိုပိုင်းခြား။ ဤသည်ကိုပရိုဂရမ်အမှားစီမံခန့်ခွဲမှုမှာဘယ်လောက်ကြံ့ခိုင် developer များပြသထားတယ်။
- Recovery ကိုစမ်းသပ်ခြင်း - ဟာ့ဒ်ဝဲသို့မဟုတ်အခြားလုပ်ငန်းဆောင်တာပျက်ကွက်သည့်အခါ, ဒီစမ်းသပ်မှုဆော့ဖ်ဝဲ recover နှင့်စစ်ဆင်ရေးများဆက်လက်နိုငျပုံကိုကောင်းစွာပြသထားတယ်။
- automated စမ်းသပ်ခြင်း - ဤကိုယ်တိုင်အကောင်အထည်ဖေါ်ရန်လုပ်ဆောင်ချက်များကိုခက်ခဲလုပ်ဆောင်တယ်။ ဒါဟာစမ်းသပ်မှု run ရန်နှင့်အမှန်တကယ်နှိုင်းယှဉ်မျှော်လင့်ထားသည့်ရလဒ်များအပေါ်ဒေတာများကိုသီးခြားဆော့ဖ်ဝဲကိုအသုံးပြုသည်။
- compatibility စမ်းသပ်ခြင်း - Software များကွဲပြားခြားနားသောကွန်ပျူတာ enviroments မှာ run ရပါမယ်, ဒါကြောင့်ဒီကွဲပြားခြားနားသောစနစ်များနှင့်အတူ Compatibility ကို check လုပ်ပေးပါတယ်။ ဥပမာအားဖြင့်, အမျိုးမျိုးသော operating system မြားနဲ့ web browser များနှင့်အတူဆော့ဖျဝဲအလုပ်သနည်း
- စွမ်းဆောင်ရည်စမ်းသပ်ခြင်း - ဤကွဲပြားခြားနားသောကးအတွက် software များစွမ်းဆောင်ရည်ကို examine တစ်ခု In-depth ကိုစမ်းသပ်သည်။ တုန့်ပြန်, တည်ငြိမ်မှု, သယံဇာတခွဲဝေနှင့်မြန်နှုန်းမှာစုဝေးလျက်ရှိသည်အကြောင်းသတင်းအချက်အလက်။ ထို့အပြင်ထိုကဲ့သို့သောအသံအတိုးအကျယ်, စွမ်းရည်နှင့်နှုန်းကိုမြင့်တက်စမ်းသပ်ခြင်းအဖြစ်ခွဲစမ်းသပ်မှုဤလုပ်ငန်းစဉ်အတွက်အစိတ်အပိုင်းတစ်ခုကစား။
- လုံခြုံရေးစမ်းသပ်ခြင်း - ဤသည်အသုံးပြုသူများ 'လုံခြုံရေးကာကွယ်ပေးရန်ဆော့ဖ်ဝဲရဲ့စွမ်းရည်ကိုတိုင်းတာသည်။ ဒီအခွင့်ပြုချက် functions များ, စစ်မှန်ကြောင်းအထောက်အထားပြသခြင်း, လျှို့ဝှက်သမာဓိ, ရရှိနိုင်မှုနှင့် Non-ငြင်းဆိုဆိုလိုသည်။
- Accessibility စမ်းသပ်ခြင်း - ဤအသုံးဝင်မှုရှိစေရန်စမ်းသပ်ခြင်းကဲ့သို့တူညီသောမဟုတ်ပါဘူး။ သင်ယူမှုနှင့်ရုပ်ပိုင်းဆိုင်ရာမသန်စွမ်းပါဝင်သည်, ဆော့ဖ်ဝဲကိုသုံးနိုင်သည် - ဤအရာမတူညီသောစွမ်းရည်အသုံးပြုသူများအတိုင်းအတာဆုံးဖြတ်သည်။
- internationalization နှင့်ဒေသခံစမ်းသပ်ခြင်း - ရလဒ်များဆော့ဖ်ဝဲကွဲပြားခြားနားသောဘာသာစကားများနှင့်ဒေသဆိုင်ရာတောင်းဆိုချက်များကိုလိုက်လျောညီထွေဖြစ်အောင်နိုငျပုံကိုပြသနေသည်။ ဤသည်တိကျသောတည်နေရာနဲ့ဘာသာပြန်စာသားအစိတ်အပိုင်းများကိုထည့်သွင်းပါဝင်သည်။
Software ကိုစမ်းသပ်ခြင်းစျေးကွက်တစ်ခုထုတ်ကုန်ဆောင်ခဲ့၏မရှိမဖြစ်လိုအပ်သောအစိတ်အပိုင်းတစ်ခုဖြစ်ပါတယ်။ နှင့်စမ်းသပ်သူများခြင်းမရှိဘဲ, မရရှိနိုင်ပါဆော့ဖျဝဲ၏ကျယ်ပြန့်အကွာအဝေးတည်ရှိလိမ့်မည်မဟုတ်ပေ။ ထိုကဲ့သို့သော BCS, အိုင်တီများအတွက် Chartered ဘဏ်ဟာအင်စတီကျု, ISTQB® (အပြည်ပြည်ဆိုင်ရာဆော့ဝဲစမ်းသပ်ခြင်းအရည်အချင်းများဘုတ်အဖွဲ့), နှင့် ASQ (အရည်အသွေးဘို့ယခင်ကအမေရိကန်လူ့အဖွဲ့အစည်း) အဖြစ်အဖွဲ့အစည်းများမှတဆင့်တစ်ဦးသတ်မှတ်နိုင်ကြောင်း software ကို tester ဖြစ်လာသည်။