Серый ящик

ОПРЕДЕЛЕНИЕ «СЕРЕБРЯНОЙ БЛОКИ»

Тестирование программного обеспечения с ограниченным знанием его внутренней работы. Тестирование на серой коробке - это метод этической хакерства, когда хакеру нужно использовать ограниченную информацию для определения сильных и слабых сторон сети безопасности цели. Серая коробка - это гибрид тестирования белых ящиков, где тестер исследует внутреннюю логику и структуру кода программного обеспечения и тестирование черного ящика, где тестер ничего не знает о коде программного обеспечения.

BREAKING DOWN «Серый ящик»

Чтобы понять тестирование серых ящиков, мы должны сначала понять тестирование черного ящика и тестирование белого ящика.

Тестирование черного ящика не рассматривает ничего, кроме входа пользователя и того, что производит программное обеспечение с учетом этих входов. Тестирование черного ящика не требует знания языка программирования или других технических деталей. Это тип высокоуровневого тестирования, используемого при тестировании системы и приемочных испытаниях. Разработчикам программного обеспечения требуется спецификация спецификации требований к ПО (SRS) для тестирования черного ящика. Это тестирование занимает точку зрения конечного пользователя, где тестер черного ящика не знает, как выходы генерируются из входов.

Тестирование белого ящика требует глубокого знания методов и платформ, используемых для создания программного обеспечения, включая соответствующий язык программирования. Это тип низкоуровневого тестирования, используемого при модульном тестировании и тестировании индикации. Инженеры-программисты должны понимать язык программирования, используемый для создания приложения, чтобы они могли понять его исходный код. Основными целями тестирования ящиков являются усиление безопасности, изучение того, как входы и выходы проходят через приложение, а также улучшают дизайн и удобство использования. Когда тестер белого ящика не получает ожидаемый результат от заданного ввода, результат считается ошибкой, которая должна быть исправлена.

Тестирование серых ящиков включает важные компоненты как черного, так и белого тестеров, чтобы получить лучший результат, чем можно получить в одиночку. Как конечные пользователи, так и разработчики выполняют серое полевое тестирование с ограниченным (частичным) знанием исходного кода приложения. Тестирование серого ящика может быть ручным или автоматическим. Он является более всеобъемлющим и более трудоемким, чем тестирование черного ящика, но не столь всеобъемлющим или трудоемким, как тестирование белого ящика. Серийные тестеры требуют подробных проектных документов.

Тестирование серых коробок включает определение входных данных, определение выходов, определение основных путей и определение подфункций. Затем он переходит к разработке входных и выходных данных для подфункций, выполнению тестовых примеров для подфункций и проверке этих результатов.

Например, тестер серого ящика может проверить и исправить ссылки на веб-сайте. Если ссылка не работает, тестер изменяет код HTML, чтобы попытаться заставить ссылку работать, а затем перепроверяет пользовательский интерфейс, чтобы узнать, работает ли ссылка.Тестер с серым ящиком может также проверить онлайн-калькулятор. Тестер определит входные математические формулы, такие как 1 + 1, 2 * 2, 5-4 и 15/3, затем проверьте, чтобы калькулятор обеспечивал правильные выходы с учетом этих входов. Тестер серого ящика имеет доступ к HTML-коду калькулятора и может его изменить, если обнаружены какие-либо ошибки.

Тестирование серых ящиков рассматривает как пользовательский интерфейс приложения, так и уровень представления, а также его внутреннюю работу или код. Он в основном используется для тестирования интеграции и тестирования проникновения, но он не подходит для тестирования алгоритмов. Тестирование серого ящика обычно используется для тестирования пользовательского интерфейса приложения, безопасности или онлайн-функций с помощью таких методов, как тестирование матрицы, регрессионное тестирование, тестирование ортогональных массивов и тестирование шаблонов. Тестеры серого цвета, скорее всего, будут определять контекстно-зависимые проблемы.

«Серый» относится к частичной способности тестера видеть внутреннюю работу приложения. «Белый» означает способность видеть через интерфейс программного обеспечения его внутреннюю работу, а «черный» означает неспособность видеть внутренние работы программного обеспечения. Серьезное тестирование коробки иногда называют полупрозрачным тестированием, в то время как тестирование белого ящика иногда называют ясным тестированием, а тестирование черного ящика также можно назвать непрозрачным тестированием.