Black Box testing і White Box testing — це два основних підходи до тестування програмного забезпечення, які відрізняються рівнем знання внутрішньої структури коду під час тестування.
| Black Box Testing (тестування “чорної скриньки”) |
| Що це: Тестування, при якому тестувальник не має доступу до внутрішньої логіки або коду програми. Зосереджується лише на вхідних даних і очікуваних виходах. Орієнтовано на: Функціональні вимоги Поведінку системи Виконується ким: Зазвичай тестувальниками або користувачами, які не мають доступу до коду. Приклади: Тестування UI, API, поведінки форми при введенні некоректних даних. |
| White Box Testing (тестування “білої скриньки”) |
| Що це: Тестування, при якому тестувальник має доступ до коду та знає його внутрішню структуру. Зосереджується на логіці, шляхах виконання, покритті коду. Орієнтовано на: Внутрішню логіку реалізації Гілки, умови, цикли, покриття коду Виконується ким: Зазвичай розробниками або технічними тестувальниками (ISTQB TTA). Приклади: Unit testing, code coverage analysis, перевірка гілок. |
Основна різниця між Black Box та White Box:
| Критерій | Black Box Testing | White Box Testing |
| Знання коду | Не потрібне | Обов’язкове |
| Рівень доступу | Зовнішній (інтерфейс, API, UI) | Внутрішній (структура, логіка, змінні) |
| Оцінюється | Функціональність, вимоги | Внутрішня логіка, шляхи виконання |
| Хто виконує | Тестувальники, користувачі | Розробники, технічні тестувальники |
| Приклади | Функціональні, нефункціональні тести | Unit-тести, аналіз покриття, контроль гілок |