Какво е сивата кутия
Сивата кутия е тестване на софтуер с ограничени познания за вътрешната му работа. Тестването в сивата кутия е етична хакерска техника, при която хакерът трябва да използва ограничена информация, за да идентифицира силните и слабите страни на мрежата за сигурност на целта.
НАРУШЕНИЕ НАДОЛУ Сива кутия
Сивата кутия е хибридът на тестване на бяла кутия, където тестерът изследва вътрешната логика и структура на кода на софтуера и тестването на черната кутия, където тестерът не знае нищо за кода на софтуера. За да разберем тестването на сивата кутия, първо трябва да разберем черното тестване на кутии и тестване на бяла кутия.
Тестване на черна кутия и бяла кутия
Тестването в черна кутия разглежда не повече от входовете на потребителя и това, което извежда софтуерът при тези входове. Тестването в черна кутия не изисква никакви познания по език на програмиране или други технически подробности. Това е вид изпитване на високо ниво, използвано при тестване на системата и приемане. Софтуерните инженери изискват документ за спецификация на софтуера (SRS) за извършване на тестване в черна кутия. Това тестване заема гледна точка на крайния потребител, когато тестерът на черната кутия не знае как се генерират изходите от входовете.
Тестването в бяла кутия изисква задълбочени познания за техниките и платформите, използвани за изграждане на софтуер, включително съответния език за програмиране. Това е вид изпитване на ниско ниво, използвано при изпитване на единица и индикация. Софтуерните инженери трябва да разберат езика за програмиране, използван за създаване на приложението, за да могат да разберат неговия изходен код. Основните цели на тестването в бяла кутия са да се засили сигурността, да се проучи как входовете и изходите протичат през приложението и да подобрят дизайна и използваемостта. Когато тестерът в бяла кутия не получи очакваната продукция от даден вход, резултатът се счита за грешка, която трябва да бъде коригирана.
Тестване на сива кутия
Тестването в сива кутия включва важни компоненти и на черно-бялото тестване на кутията, за да се постигне по-добър резултат, отколкото всеки може да получи сам. Както крайните потребители, така и разработчиците извършват тестване в сива кутия с ограничени (частични) познания за изходния код на приложението. Тестването в сива кутия може да бъде ръчно или автоматизирано. Той е по-всеобхватен и отнема много време от тестването с черни кутии, но не е толкова изчерпателен или отнема много време, колкото тестването с бяла кутия. Тестовете за сиви кутии изискват подробни дизайнерски документи.
Тестването в сива кутия включва идентифициране на входове, идентифициране на изходи, идентифициране на основните пътища и идентифициране на подфункции. След това се преминава към разработване на входове и изходи за подфункции, изпълнение на тестови случаи за подфункции и проверка на тези резултати.
Пример за сивата кутия
Тестерът в сива кутия може да провери и коригира връзките на уебсайт. Ако дадена връзка не работи, тестерът променя HTML кода, за да се опита да накара връзката да работи, след което отново проверява потребителския интерфейс, за да види дали връзката работи. Сив тестер на кутия може също да тества онлайн калкулатор. Тестерът би определил входовете - математически формули като 1 + 1, 2 * 2, 5–4 и 15/3 - и провери дали калкулаторът предоставя правилните изходи, зададени на тези входове. Тестерът в сивото поле има достъп до HTML кода на калкулатора и може да го промени, ако се установят грешки.
Тестването в сивата кутия разглежда както потребителския интерфейс на приложението, така и презентационния слой, както и вътрешната му работа или код. Използва се главно за тестване на интеграция и проникване, но не е подходящо за тестване на алгоритми. Тестването в сива кутия обикновено се използва за тестване на потребителския интерфейс, сигурността или онлайн функционалността на приложението чрез техники като тестване на матрица, регресионно тестване, тестване на ортогонален масив и тестване на шаблони. Най-вероятно е тестовете за сива кутия да идентифицират специфични за контекста проблеми.
„Сиво“ се отнася до частичната способност на тестера да вижда вътрешната работа на приложението. „Бяло“ се отнася до способността да се вижда чрез интерфейса на софтуера към вътрешните му функции, а „черният“ се отнася до невъзможността да се види вътрешната работа на софтуера. Изпитването в сива кутия понякога се нарича полупрозрачно тестване, докато тестването с бяла кутия понякога се нарича ясно тестване, а тестването с черни кутии може също да се нарече непрозрачно тестване.
