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