Тестирование белого ящика

редактировать
Метод тестирования программного обеспечения внутренней структуры

Тестирование белого ящика (также известный как очистить тестирование коробки, тестирование стеклянной коробки, тестирование прозрачной коробки и структурное тестирование ) - это метод тестирования программного обеспечения, который тестирует внутренние структуры или механизмы работы приложения, в отличие от его функциональности (например, тестирование черного ящика ). При тестировании методом белого ящика для разработки тестовых примеров используется внутренняя перспектива системы, а также навыки программирования. Тестировщик выбирает входные данные для отработки путей прохождения кода и определяет ожидаемые результаты. Это аналогично проверке узлов в цепи, например. внутрисхемное тестирование (ICT). Тестирование методом белого ящика может применяться на уровнях unit, интеграции и system процесса тестирования программного обеспечения. Хотя традиционные тестировщики имели тенденцию думать о тестировании методом белого ящика как о выполняемом на уровне модулей, сегодня оно чаще используется для интеграции и тестирования системы. Он может тестировать пути внутри модуля, пути между модулями во время интеграции и между подсистемами во время тестирования на уровне системы. Хотя этот метод разработки тестов может выявить множество ошибок или проблем, он может упустить невыполненные части спецификации или отсутствующие требования. Если тестирование методом белого ящика основано на дизайне, то есть основывается исключительно на согласованных спецификациях поведения каждого компонента программного обеспечения (как в процессах DO-178C и ISO 26262 ), тогда методы тестирования белого ящика могут выполнить оценку нереализованных или отсутствующих требований.

Методики разработки тестов белого ящика включают следующие критерии покрытия кода :

Содержание
  • 1 Обзор
  • 2 уровня
  • 3 Базовая процедура
  • 4 Преимущества
  • 5 Недостатки
  • 6 Современный взгляд
  • 7 Взлом
  • 8 См. Также
  • 9 Ссылки
  • 10 Внешние ссылки
Обзор

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

Уровни
  1. Модульное тестирование. Тестирование методом белого ящика выполняется во время модульного тестирования, чтобы убедиться, что код работает должным образом, до того, как произойдет интеграция с ранее протестированным кодом. Тестирование методом белого ящика во время модульного тестирования потенциально выявляет многие дефекты на раннем этапе и помогает устранить дефекты, которые возникают позже, после интеграции кода с остальной частью приложения, и, следовательно, снижает влияние ошибок на более поздних этапах разработки.
  2. Интеграционное тестирование. Тестирование белого ящика на этом уровне написано для проверки взаимодействия интерфейсов друг с другом. Тестирование на уровне модулей позволило убедиться, что каждый код протестирован и работает соответствующим образом в изолированной среде, а интеграция проверяет правильность поведения в открытой среде с помощью тестирования белого ящика для любых взаимодействий интерфейсов, известных программисту.
  3. Регрессионное тестирование. Тестирование белого ящика во время регрессионного тестирования - это использование переработанных тестовых случаев белого ящика на уровне модульного и интеграционного тестирования.
Базовая процедура

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

  1. Входные данные включают различные типы требований, функциональные спецификации, детальное проектирование документов, правильный исходный код и спецификации безопасности. Это подготовительный этап тестирования методом «белого ящика», на котором представлена ​​вся основная информация.
  2. Обработка включает в себя выполнение анализа рисков для руководства всем процессом тестирования, составления правильного плана тестирования, выполнения тестовых примеров и передачи результатов. Это этап создания тестовых примеров, чтобы убедиться, что они тщательно тестируют приложение, и данные результаты записываются соответствующим образом.
  3. Выходные данные включают подготовку окончательного отчета, который включает в себя все вышеупомянутые приготовления и результаты.
Преимущества

Тестирование методом белого ящика - один из двух самых распространенных методов тестирования, используемых сегодня. У этого есть несколько основных преимуществ:

  1. Побочные эффекты знания исходного кода полезны для тщательного тестирования.
  2. Оптимизация кода упрощается, поскольку незаметные узкие места обнаруживаются.
  3. Дает самоанализ программиста, потому что разработчики тщательно описывают любую новую реализацию.
  4. Обеспечивает прослеживаемость тестов из источника, тем самым позволяя легко фиксировать будущие изменения в источнике во вновь добавленных или измененных тестах.
  5. Легко для автоматизации.
  6. Предоставляет четкие технические правила, определяющие, когда следует прекратить тестирование.
Недостатки

Несмотря на то, что тестирование методом белого ящика имеет большие преимущества, оно не идеально и содержит некоторые недостатки:

  1. Тестирование методом белого ящика усложняет тестирование, потому что тестировщик должен знать программу или в команде тестирования должен быть хотя бы один очень хороший программист, который может понять программу на уровне кода. Тестирование методом белого ящика требует наличия программиста с высоким уровнем знаний из-за сложности уровня тестирования, которое необходимо выполнить.
  2. В некоторых случаях нереально иметь возможность протестировать все существующие состояние приложения и некоторые условия будут непроверены.
  3. Тесты сосредоточены на программном обеспечении в том виде, в каком оно существует, и отсутствующие функции не могут быть обнаружены.
  4. Полученный тест может быть ненадежным, потому что они тесно связаны с конкретной реализацией тестируемого объекта. Тестируемый код можно переписать, чтобы реализовать ту же функциональность другим способом, что делает недействительными предположения, заложенные в тесте. Это может привести к ненужным ошибкам тестов или, в худшем случае, к тестам, которые теперь дают ложные срабатывания и маскируют ошибки в коде.
Современный взгляд

Более современный взгляд заключается в том, что дихотомия между белыми и Ящик-тестирование и тестирование черного ящика размыты и становятся менее актуальными. В то время как «белый ящик» первоначально означал использование исходного кода, а «черный ящик» означал использование требований, теперь тесты производятся из многих документов на различных уровнях абстракции. Дело в том, что тесты обычно разрабатываются на основе абстрактной структуры, такой как пространство ввода, граф или логические предикаты, и вопрос в том, из какого уровня абстракции мы выводим эту абстрактную структуру. Это может быть исходный код, требования, описания входных пространств или один из десятков типов моделей дизайна. Следовательно, различие «белый ящик / черный ящик» менее важно, а термины менее актуальны.

Взлом

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

См. Также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-20 14:05:35
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте