Что такое тестирование методом стеклянного (прозрачного) ящика?

«Что такое тестирование методом стеклянного (прозрачного) ящика?» — вопрос из категории Основы тестирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Тестирование методом стеклянного (прозрачного) ящика (Glass/White Box Testing) — это подход, при котором тестировщик анализирует и проверяет внутреннюю структуру, логику и код приложения. Цель — обеспечить корректность путей выполнения, условий, циклов и обработки ошибок.

Ключевые характеристики:

  • Доступ к коду: Тестировщик знает реализацию.
  • Фокус на логике: Проверка всех ветвлений и граничных значений.
  • Методы: Анализ потока управления, покрытие кода (statement, branch, path).

Пример на Python:

def calculate_discount(price, is_member):
    if price > 100:
        price = price * 0.9  # 10% скидка
    if is_member:
        price = price * 0.95 # Доп. 5% для членов
    return price

Тесты стеклянного ящика для этой функции будут целенаправленно проверять:

  1. Путь, где price > 100 и is_member == True.
  2. Путь, где price <= 100 и is_member == False.
  3. Граничное значение price = 100.

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