Чем тестирование черного ящика отличается от белого

Тестирование программного обеспечения проводится для выявления недоработок, изъянов и ошибок в коде с целью дальнейшего устранения. Также этот процесс можно определить как оценку функциональных возможностей и корректности ПО. Чаще всего тестирование проводят методами черного и белого ящиков. В чем разница между двумя этими процессами?

Методы черного и белого ящиков относятся к динамическим техникам тестирования ПО. Тестирование методом белого ящика представляет собой подробное исследование внутренней логики и структуры программы. Тестирование методом черного ящика не требует каких-либо знаний о внутренней работе приложения. Процесс основывается на анализе ключевых аспектов системы. Существует также метод серого ящика, сочетающий в себе оба предыдущих подхода.  

В методе белого ящика применяются тестовые сценарии контрольной структуры процедурного проекта, что обнаруживает ошибки реализации при помощи анализа внутренней работы части ПО. Такой метод тестирования применим на интеграционном, модульном и системном уровнях. Для выявления поврежденного блока, исполнитель должен иметь доступ к исходному коду. Тестирование программ методом белого ящика имеет ряд преимуществ:

  • определяет ошибку в скрытом коде при удалении лишних строк;
  • возможность использования побочных эффектов;
  • максимальный охват достигается путем написания тестового сценария.

К недостаткам подхода можно отнести высокую затратность, необходимость соответствующей квалификации исполнителя, вероятность пропуска ошибок.  

Тестирование методом белого ящика иначе называют тестированием методом прозрачного или открытого ящика, структурным, логическим тестированием, тестированием на основе исходных текстов, архитектуры и логики.

Тестирование методом черного ящика рассматривает программное обеспечение как «черный ящик» – анализируются только основные аспекты системы. Исполнителю необходимо знать системную архитектуру без доступа к исходному коду. Преимущества данного метода:

  • эффективность для большого сегмента кода;
  • простота восприятия;
  • перспектива пользователя четко отделена от перспективы разработчика;
  • более быстрое создание теста.

Основным недостатком данного подхода считается то, что в действительности выполняется избранное число тестовых сценариев, что ограничивает охват. В методе отсутствует четкая спецификация, что затрудняет разработку тестовых сценариев. Кроме того метод черного ящика имеет низкую эффективность. Иногда данную технику называют поведенческое, непрозрачное, функциональное тестирование и отладка методом закрытого ящика.

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

Выводы:

  1. Методы черного и белого ящиков относятся к динамическим техникам тестирования ПО.
  2. Тестирование методом белого ящика представляет собой подробное исследование внутренней логики и структуры программы.
  3. Тестирование методом черного ящика не требует каких-либо знаний о внутренней работе приложения.
  4. В методе белого ящика исполнитель должен иметь доступ к исходному коду, в методе черного ящика – нет.
  5. Тестирование программ методом белого ящика эффективнее, но требует больших расходов.

 

Ресурсы:

http://software-testing.org

14/10/2016 2912

Ваше мнение, голосуйте

Что лучше: метод черного ящика или метод белого ящика?

Написать комментарий

Введите текст с картинки