Сұр қорап

Сұр қорап дегеніміз не?

Сұр қорап дегеніміз бағдарламалық жасақтаманың ішкі жұмысы туралы белгілі бір шектеулі білімді тексеруді білдіреді. Сұр қорапты тестілеу – бұл хакерлік мақсатты қауіпсіздік желісінің күшті және әлсіз жақтарын анықтау үшін шектеулі ақпаратты пайдалануға тура келетін бұзушылықтың әдепті әдісі.

Негізгі өнімдер

  • Сұр қорапты тестілеу – бұл бағдарламалық жасақтама қателіктерін табу немесе ерліктерді табу әдісі, мұнда негізгі бағдарламалық жасақтама туралы шектеулі білім алдын-ала белгілі болады.
  • «Этикалық хакерліктің» бұл түрі бағдарламалық жасақтама жасаушыларға зиянкестердің осы ерліктерді пайдалануына жол бермейтін түзетулер мен түзетулер жасауға мүмкіндік береді.
  • Сұр қорапты тестілеу – бұл ақ жәшік (толық білім) мен қара жәшік (білімсіз) әдістемелерінің қоспасы.




Сұр қораптарды түсіну

Сұр қорап – ақ қорапты тестілеудің гибриді, мұнда тестер бағдарламалық жасақтама кодының ішкі логикасы мен құрылымын зерттейді, ал қара қорапты тестілеу, мұнда сынаушы бағдарламалық жасақтама коды туралы ештеңе білмейді. Сұр қорапты тестілеуді түсіну үшін алдымен қара жәшік пен ақ жәшікті тексеруді түсінуіміз керек.

Қара жәшік пен ақ жәшікті сынау 

Қара жәшікті тестілеу пайдаланушының кірістерінен басқа ешнәрсені қарастырмайды және сол кірістер кезінде бағдарламалық жасақтама қандай нәтиже шығарады. Қара жәшікке тестілеу бағдарламалау тілі немесе басқа техникалық мәліметтер туралы білімді қажет етпейді. Бұл жүйелік тестілеуде және қабылдау тестілеуінде қолданылатын жоғары деңгейлі тестілеу түрі. Бағдарламалық жасақтаманың инженерлері қара жәшіктерді тестілеуді жүзеге асыру үшін бағдарламалық жасақтама талаптарының (SRS) құжатын талап етеді. Бұл тестілеу соңғы пайдаланушының перспективасын қабылдайды, мұнда қара жәшік сынағышы кірістерден қалай шығатынын білмейді.


Ақ жәшікті тестілеу бағдарламалық жасақтама жасау үшін қолданылатын әдістер мен платформалар туралы, соның ішінде тиісті бағдарламалау тілін терең білуді талап етеді. Бұл индикативті тестілеуде қолданылатын төменгі деңгейлі тестілеу түрі. Бағдарламалық жасақтаманың инженерлері қосымшаны құру үшін қолданылатын бағдарламалау тілін түсінуі керек, сондықтан оның бастапқы кодын түсіну керек. Ақ жәшікті тестілеудің негізгі мақсаттары қауіпсіздікті күшейту, кірістер мен шығыстардың қосымшадан қалай өтуін тексеріп, дизайны мен ыңғайлылығын жақсарту болып табылады. Ақ жәшік сынағышы берілген кірістен күтілетін нәтиже алмаған кезде, нәтиже түзетуді қажет ететін қате болып саналады.

Сұр қорапты тестілеу қалай жұмыс істейді

Сұр қорапты тестілеу қара және ақ жәшіктерді тестілеудің маңызды компоненттерін қамтиды, олар жалғыз нәтижеге қол жеткізгеннен гөрі жақсы нәтиже береді. Соңғы пайдаланушылар да, әзірлеушілер де сұр қорапты тестілеуді қосымшаның бастапқы кодын шектеулі (жартылай) біле отырып орындайды. Сұр қорапты тестілеу қолмен немесе автоматтандырылған болуы мүмкін. Бұл қара жәшікті тексеруден гөрі жан-жақты және көп уақытты алады, бірақ ақ жәшікті тестілеу сияқты жан-жақты немесе көп уақытты қажет етпейді. Сұр қорапты тестерлер жобалаудың толық құжаттарын талап етеді.

Сұр қорапты тестілеу кірістерді, шығыстарды, негізгі жолдарды және ішкі функцияларды анықтаудан тұрады. Содан кейін ол субфункциялар үшін кірістер мен шығыстарды дамытуға, субфункцияларға арналған тестілік жағдайларды орындауға және сол нәтижелерді тексеруге көшеді.

Сұр қораптың мысалы

Сұр қорапты тексеруші веб-сайттағы сілтемелерді тексеріп, түзете алады. Егер сілтеме жұмыс істемесе, тексеруші сілтемені жұмыс істету үшін HTML кодын өзгертеді, содан кейін сілтеме жұмыс істейтінін тексеру үшін қолданушы интерфейсін қайта тексереді. Сұр қорапты сынаушы онлайн-калькуляторды да тексеруі мүмкін. Сынаушы кірістерді анықтайды – 1 + 1, 2 * 2, 5-4 және 15/3 сияқты математикалық формулалар, содан кейін калькулятордың осы кірістерде дұрыс нәтижелер беретіндігін тексеріңіз. Сұр қорапты тексеруші калькулятордың HTML-кодына қол жеткізе алады және қателер анықталған жағдайда оны өзгерте алады.

Сұр қорапты тестілеу қосымшаның пайдаланушы интерфейсін немесе презентация қабатын, оның ішкі жұмысын немесе кодын қарастырады. Ол негізінен интеграциялық тестілеуде және енуді тестілеуде қолданылады, бірақ алгоритмді тексеруге жарамайды. Сұр қорапты тестілеу әдетте қолданбаның пайдаланушы интерфейсін, қауіпсіздігін немесе онлайн-функционалдығын матрицалық тестілеу, регрессиялық тестілеу, ортогоналды массивті тексеру және өрнекті тестілеу сияқты әдістер арқылы тексеру үшін қолданылады. Сұр қорапты тестерлер контекстке қатысты мәселелерді анықтауы мүмкін.

«Сұр» – бұл сынаушының қосымшаның ішкі жұмысын көрудің ішінара қабілетін білдіреді. «Ақ» дегеніміз бағдарламалық жасақтама интерфейсі арқылы оның ішкі жұмысын көру мүмкіндігі, ал «қара» бағдарламалық жасақтаманың ішкі жұмысын көре алмауды білдіреді. Сұр жәшікті тестілеуді кейде мөлдір сынау деп атайды, ал ақ жәшікті тестілеуді кейде анық сынау деп атайды, ал қара жәшікті сынауды мөлдір емес деп те атауға болады.