White cat inside of a box

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

Противоположность ему — «тестирование методом чёрного ящика» (black-box testing), когда тестировщик имеет доступ только к внешней оболочке — интерфейсу приложения.

Сервис в зависимости от переданного значения параметра вкус taste возвращает тот или иной список конфет.

Исходный псевдокод приложения
[] candies(taste) {
    если taste равен MINT игнорируя регистр {
        тогда вернем ответ ["Космическая свежесть","Мятная туманность"]
    }
    иначе если taste равен CITRUS игнорируя регистр {
        тогда вернем ответ ["Взрывная Комета"]
    }
    иначе вернем ответ ["Вселенская Гармония"]
}

Квадратные скобки [ ] обозначают массив однотипных данных, в нашем случае — список названий конфет.

Блок-схема, составленная на основании псевдокода
candy-taste-block-schema

Блок-схема

Самые распространённые техники тестирования методом белого ящика:

  • Тестирование покрытия кода (Code Coverage Testing): мы уже сталкивались с понятием "покрытие кода" при знакомстве с юнит тестированием.
  • Тестирование путей (Path Testing): техника направлена на проверку всех возможных путей выполнения в программе.
  • Тестирование условий (Condition Testing): проверяет различные комбинации и состояния условных операторов. В приведённом псевдокоде операторами условия являются если (if) и иначе (else).

ВВЕДЕНИЕ

БАЗОВЫЕ ЗНАНИЯ

УРОВНИ ТЕСТИРОВАНИЯ

UI ТЕСТИРОВАНИЕ

МЕТОДЫ ТЕСТИРОВАНИЯ

ТЕСТОВАЯ ДОКУМЕНТАЦИЯ

АУТЕНТИФИКАЦИЯ И АВТОРИЗАЦИЯ

POSTMAN

БАЗЫ ДАННЫХ

АНАЛИЗ РАБОТЫ ПРИЛОЖЕНИЯ

ПОДГОТОВКА К СОБЕСЕДОВАНИЮ

Как составить резюме Топ вопросов