

Програмын чанарыг шалгах арга
Компьютерийн програм, тоглоом, апп зөв ажиллаж байна уу гэдгийг шалгахыг testing (тестлэх) гэдэг.
Программ хангамж тестлэх нь зөвхөн алдаа олох хэрэгсэл биш, систем хэрхэн ажиллаж байгааг ойлгох чухал процесс байдаг. Үүн дотроос хамгийн түгээмэл хоёр тестлэх арга нь Black Box Testing (Хар хайрцагны шалгалт) болон White Box Testing (Цагаан хайрцагны шалгалт). Энэ хоёр арга нь зорилго ижил боловч, хандлага, ашиглах арга нь огт өөр.

Black Box Testing гэдэг нь системийн дотоод код, логикийг мэдэхгүйгээр, зөвхөн оролт (input) өгч, гаралт (output)-ыг шалгах тестлэх арга юм.
Чи шинэ ухаалаг утас худалдаж авсныхаа дараа товчлууруудыг дарж, апп-уудыг нээж үздэг ч дотор нь юу болоод байгааг мэддэггүй. Зүгээр л ажиллаж байна уу гэдгийг шалгаж байгаа гэсэн үг юм.
Энэ төрлийн тестийн үед тестлэгч системд зөв, буруу, дутуу, хязгаарын утгуудыг оруулж, тэдгээрт систем хэрхэн хариу үзүүлж байгааг ажигладаг. Жишээлбэл, нэвтрэх хэсэгт буруу нууц үг оруулахад зохих анхааруулга гарч байна уу, заавал бөглөх талбар хоосон байхад систем алдаа мэдэгдэж байна уу гэх мэт хэрэглэгчийн өнцгөөс гарч болох бүх нөхцөлийг шалгана. Иймээс Black Box Testing нь хэрэглэгчийн туршлагыг үнэлэх, дутуу эсвэл буруу хэрэгжсэн функцуудыг илрүүлэхэд маш тохиромжтой арга болдог.
Гэвч Black Box Testing нь системийн дотоод логикийг харах боломжгүй учраас код доторх гүнзгий алдаа, буруу алгоритм, эсвэл тодорхой нөхцөлд л илрэх логик доголдлыг заавал илрүүлж чадна гэсэн баталгаа байдаггүй. Зарим тохиолдолд систем гаднаасаа зөв ажиллаж байгаа мэт харагдавч дотор нь оновчгүй, алдаатай код агуулж байх боломжтой.
Functional Testing
Нэвтрэх
Бүртгүүлэх
Мэдээлэл хадгалах
Төлбөр хийх гэх мэт
System Testing
Бүх модулиуд хоорондоо зөв ажиллаж байна уу?
User Acceptance Testing (UAT)
Жинхэнэ хэрэглэгч ашиглахад бэлэн үү?

White Box Testing нь програмын эх код, логик бүтэц, өгөгдлийн урсгал, нөхцөл шалгалт, мөчлөг бүрийг бүрэн ойлгож, тэдгээр дээр тулгуурлан тест хийх аргыг хэлнэ.
Чи машин засварчин байлаа гэхэд хөдөлгүүр, утаснууд, электрон хэсгийг шалгаж, бүх зүйл зөв ажиллаж байгааг шалгаж үзнэ. White Box Testing нь үүнтэй яг адил.
Энэ тохиолдолд тестлэгч нь ихэвчлэн хөгжүүлэгч өөрөө эсвэл программчлалын өндөр мэдлэгтэй хүн байдаг бөгөөд кодын мөр бүр, нөхцөл бүр, боломжит гүйцэтгэлийн зам бүр зөв ажиллаж байгаа эсэхийг нарийвчлан шалгадаг.
White Box Testing-ийн гол зорилго нь програм дотоод түвшиндээ логикийн хувьд алдаагүй, бүх нөхцөлд зөв ажиллах чадвартай, илүүдэл эсвэл хэрэггүй кодгүй байх явдал юм. Жишээлбэл if/else нөхцөл бүрт код орж гүйцэтгэгдэж байна уу, loop хэзээ ч дуусахгүй байдалд орж байна уу, exception-ууд зөв баригдаж байна уу зэрэг програмын “дотор механизм”-ийг бүрэн шалгана. Ингэснээр хэрэглэгчийн нүдэнд ил харагдахгүй ч ирээдүйд ноцтой асуудал үүсгэж болзошгүй алдаануудыг эрт илрүүлэх боломжтой болно.
Statement Coverage
Кодын мөр бүр ажилласан эсэх
Branch Coverage
Бүх if / else салбар орсон эсэх
Path Coverage
Боломжит бүх гүйцэтгэлийн зам шалгагдсан эсэх
Unit Testing
Функц бүрийг тусад нь шалгах
Black Box Testing болон White Box Testing нь аль аль нь дангаараа төгс шийдэл биш бөгөөд харин бие биеэ нөхөж байж жинхэнэ үр дүнг өгдөг. White Box Testing нь програмын дотоод логикийг баталгаажуулж, кодын чанарыг сайжруулдаг бол Black Box Testing нь эцсийн хэрэглэгчийн өнцгөөс системийг үнэлж, бодит хэрэглээнд тохирч байгаа эсэхийг шалгадаг. Энэ хоёр аргыг хослуулан ашигласнаар программ гадаад талаасаа зөв ажиллахаас гадна дотоод бүтцийн хувьд найдвартай, тогтвортой болдог.