Тестирование белого ящика (), также тестирование стеклянного ящика (), структурное тестирование () — тестирование, которое учитывает внутренние механизмы системы или компонента (ISO/IEC/IEEE 24765).
Обычно включает тестирование ветвей, маршрутов, операторов (см. покрытие кода). При тестировании выбирают входы для выполнения разных частей кода и определяют ожидаемые результаты. Это напоминает .
Традиционно тестирование белого ящика выполняется на уровне модулей, однако оно используется для тестирования интеграции систем и системного тестирования, тестирования внутри устройства и путей между устройствами. Этот метод тестирования не может выявить невыполненные части спецификации, отсутствие требований или создание не того приложения.
Критерии покрытия кода: покрытие операторов — каждая ли строка исходного кода была выполнена и протестирована; покрытие условий — каждая ли точка решения (вычисления истинно ли или ложно выражение) была выполнена и протестирована; покрытие путей — все ли возможные пути через заданную часть кода были выполнены и протестированы; покрытие функций — каждая ли функция программы была выполнена; покрытие вход/выход — все ли вызовы функций и возвраты из них были выполнены; покрытие значений параметров — все ли типовые и граничные значения параметров были проверены.
Уровни тестирования Модульное тестирование. Необходимо, чтобы убедиться, что код работает должным образом, до момента интеграции с остальным кодом. Позволяет находить ошибки на ранней стадии, а также контролировать устранение и любое дальнейшее изменение, препятствуя повторению ошибок в будущем. Главным образом, нужно убедиться, что в изолированной среде код выполняется согласно спецификации.
Интеграционное тестирование. Проверяется взаимодействие интерфейсов друг с другом. Главным образом, нужно убедиться, что при взаимодействии части системы отрабатывают как задумано.
Регрессионное тестирование. Тестирование, направленное на обнаружение ошибок в уже протестированных участках исходного кода, с целью удостовериться в отсутствии побочных эффектов при внесении модификаций.
Тестирование на взлом Тестирование на взлом методом белого ящика предполагает, что у взломщика будет знание о внутреннем устройстве системы или базовые учётные данные атакуемой системы.
Примечания
Ссылки Peli de Halleux, Nikolaj Bjorner. Pex and Moles – Isolation and White Box Unit Testing for .NET, February 21, 2007.
Категория:Тестирование программного обеспечения