Кіріспе
Ішкі құрылымның бағдарламалық жасақтамасын сынау әдісі
Ақ қорапты сынау (сонымен қатар, ашық қорапты сынау, шыны қорапты сынау, мөлдір қорапты сынау және құрылымдық сынау деп те аталады) – бағдарламалық жасақтаманың ішкі құрылымдарын немесе жұмыс істеуін, оның функционалдығына (яғни қара қорапты сынауға) қарастырып сынап көретін бағдарламалық жасақтаманы сынау әдісі. Ақ қорапты сынауда, сынақ жағдайларын жобалау үшін жүйенің ішкі көзқарасы қолданылады. Тестер код арқылы өту жолдарын іске қосу және күтілетін нәтижелерді анықтау үшін кірісті таңдайды. Бұл электр тізбегіндегі түйіндерді сынауға ұқсас, мысалы, тізбекті сынауда (ICT). Ақ қорапты сынау бағдарламалық қамтамасыз етуді сынау процесінің бірлік, интеграция және жүйе деңгейінде қолданылуы мүмкін. Дәстүрлі тестілеушілер ақ қорапты сынауды бірлік деңгейінде жүргізілетіндей ойласа да, бүгінде ол интеграциялық және жүйелік сынақтар үшін жиі қолданылады. Ол бірлік ішіндегі жолдарды, интеграция кезінде бірліктер арасындағы жолдарды және жүйелік деңгейдегі сынақ кезінде ішкі жүйелер арасындағы жолдарды сынап көре алады. Сынақ жобалаудың бұл әдісі көптеген қателерді немесе мәселелерді анықтауға мүмкіндік берсе де, спецификацияның іске асырылмаған бөліктерін немесе жоқ талаптарды жіберіп алу мүмкіндігі бар. Егер ақ қорапты сынау жобалаумен, яғни бағдарламалық жасақтаманың әрбір компонентінің қалай әрекет етуі қажет екендігі туралы келісілген ерекшеліктерге (мысалы, DO 178C және ISO 26262 процестерінде) негізделген болса, ақ қорапты сынау әдістері іске асырылмаған немесе жоқ талаптарды бағалауды жүзеге асыра алады. Ақ қорапты сынаудың жобалау әдістері келесі кодты қамту критерийлерін қамтиды:
Бақылау ағынын сынау
Деректер ағынын сынау
Бөлімшелерді сынау
Мәлімдемелерді қамту
Шешімдерді қамту
Өзгертілген жағдай/шешімнің қамтуы
Басты жолды сынау
Жолды сынау
Control flow testing
Data flow testing
Branch testing
Statement coverage
Decision coverage
Modified condition/decision coverage
Prime path testing
Path testing
Шолу
Ақ қорапты сынау – бұл қолданбаны бастапқы код деңгейінде сынау әдісі. Бұл сынақ жағдайлары жоғарыда аталған жобалау техникаларын пайдалану арқылы жасалады: бақылау ағынының сынағы, дерек ағынының сынағы, тармақ сынағы, жол сынағы, мәлімдемелерді қамту, шешімдерді қамту, сондай-ақ өзгертілген шарттар/шешімдерді қамту. Ақ қорапты сынау – барлық кодты қарап, қатесіз орта құру үшін осы техникаларды нұсқаулық ретінде қолдану. Бұл ақ қорапты сынау техникалары ақ қорапты сынаудың негізгі құралдары болып табылады, олардың мәні – кейін жасырын қателерді азайту үшін бастапқы код деңгейінде қолданбаны мұқият сынау. Бұл әртүрлі техникалар қателерді азайту және қатесіз орта жасау үшін бастапқы кодтың барлық көрінетін жолдарын қолданады. Ақ қорапты сынаудың мақсаты – кодтың қай жолы орындалып жатқанын білу және дұрыс нәтиженің қандай болу керектігін анықтау. Автоматтандыру оңай. Бұл бастапқы код, талаптар, кіріс мәліметтерінің сипаттамасы немесе ондаған түрлі жобалау үлгілерінің бірі болуы мүмкін. Сондықтан "ақ қорап / қара қорап" аражігі маңызды емес және бұл терминдердің маңызы төмендеген.
Хакерлік
Енгізу сынағында ақ қорапты сынау – бұл шабуылға ұшыраған жүйе туралы толыққанды ақпаратқа ие болған ақ хакердің әдісін білдіреді. Ақ қорапты ену сынағының мақсаты – нысана жүйе туралы білімі және мүмкін болған қарапайым кіру деректері бар қастандық ниеттес ішкі қолданушыны модельдеу.