← Назад к вопросам

Какие знаешь ящики тестирования?

1.6 Junior🔥 111 комментариев
#Теория тестирования

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Ящики тестирования (Testing Boxes / Test Levels)

Это термин из методики тестирования, описывающий разные подходы и уровни детальности тестирования.

Основные ящики тестирования

1. White Box Testing (Белый ящик / Стеклянный ящик)

Определение: Тестирование с полным знанием внутреннего кода и структуры приложения.

Что тестируем:

  • Внутренняя логика кода
  • Все ветвления (if/else)
  • Циклы (loops)
  • Функции и методы
  • Покрытие кода (code coverage)

Кто его делает:

  • Разработчики (Unit тесты)
  • Опытные QA инженеры

Примеры:

Функция: calculateDiscount(price, customerType)
  if customerType == 'premium': return price * 0.9
  else if customerType == 'regular': return price * 0.95
  else: return price

Ест-кейсы:
1. Premium customer (покрывает первый if)
2. Regular customer (покрывает второй if)
3. Unknown customer (покрывает else)
4. Price = 0 (граничное значение)
5. Negative price (ошибка)

Инструменты:

  • JUnit, TestNG (Java)
  • pytest, unittest (Python)
  • Jest (JavaScript)
  • SonarQube (анализ покрытия)

Плюсы:

  • Находит баги глубоко в коде
  • Полное покрытие логики
  • Быстрое выполнение

Минусы:

  • Требует знания кода
  • Не проверяет user experience
  • Дорого в поддержке

2. Black Box Testing (Чёрный ящик)

Определение: Тестирование БЕЗ знания внутреннего кода. Проверяем только входы и выходы.

Что тестируем:

  • Функциональность с точки зрения пользователя
  • Требования к приложению
  • User workflows
  • API контракты
  • UI и UX

Кто его делает:

  • QA инженеры (основной тип)
  • Тестировщики функционала

Примеры:

Приложение: Интернет-магазин
Тесты (без знания кода):
1. Пользователь может добавить товар в корзину
2. Цена товара корректно пересчитывается
3. При скидке в 10% цена уменьшается
4. Система принимает платёж
5. Заказ создается после платежа

Инструменты:

  • Selenium, Playwright, Cypress (UI)
  • Postman, RestAssured (API)
  • Jira (управление тест-кейсами)

Плюсы:

  • Проверяет реальное использование
  • Не зависит от технологии
  • Находит user-visible баги

Минусы:

  • Не находит баги в логике кода
  • Может пропустить edge cases
  • Медленнее чем white box

3. Grey Box Testing (Серый ящик)

Определение: Комбинация white и black box. Частичное знание кода.

Что тестируем:

  • Функциональность (как black box)
  • Некоторые внутренние компоненты (как white box)
  • Интеграция между модулями
  • API тестирование со знанием структуры данных

Примеры:

Тестирование API:
- Знаем, что есть endpoint GET /api/users
- Знаем структуру ответа (name, email, id)
- Не знаем, как БД хранит эти данные
- Но можем проверить базу после запроса

Кто его делает:

  • Senior QA инженеры
  • Тестировщики интеграций

Инструменты:

  • Postman + Database tools
  • API testing frameworks
  • Monitoring tools (логи, метрики)

Плюсы:

  • Баланс между скоростью и глубиной
  • Находит проблемы интеграции
  • Реалистичен для современных систем

Сравнительная таблица

КритерийWhite BoxBlack BoxGrey Box
Знание кодаПолноеНетЧастичное
УровеньUnit, CodeFunctional, E2EIntegration
Кто делаетРазработчикQASenior QA
СкоростьБыстроМедленноСреднее
ПокрытиеЛогика кодаТребованияBoth
Поиск баговDeepUser-visibleMixed
ИнструментыUnit фреймворкиSeleniumAPI tools

Практический применение в компании

Pipeline тестирования:

  1. White Box (Unit) - разработчики пишут при написании кода
  2. Grey Box (Integration) - QA проверяет интеграцию между сервисами
  3. Black Box (E2E, UI) - QA проверяет с точки зрения пользователя

Распределение времени:

  • 50% White Box (unit тесты в CI/CD)
  • 30% Grey Box (integration тесты)
  • 20% Black Box (UI/E2E тесты)

Вывод

Все три ящика нужны для полного тестирования:

  • White Box находит баги в коде
  • Black Box проверяет требования
  • Grey Box обеспечивает интеграцию

Хорошая стратегия использует все три для 360-градусного покрытия качества.

Какие знаешь ящики тестирования? | PrepBro