~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 398E92CB0B8B3C8F3402F30F9126F40A__1716394560 ✰
Заголовок документа оригинал.:
✰ White-box testing - Wikipedia ✰
Заголовок документа перевод.:
✰ Тестирование белого ящика — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/White-box_testing ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/39/0a/398e92cb0b8b3c8f3402f30f9126f40a.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/39/0a/398e92cb0b8b3c8f3402f30f9126f40a__translat.html ✰
Дата и время сохранения документа:
✰ 22.06.2024 14:48:22 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 22 May 2024, at 19:16 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Тестирование белого ящика — Википедия Jump to content

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

Из Википедии, бесплатной энциклопедии
Системы черного ящика
Система
Черный ящик , машина Oracle
Методы и техники
Тестирование «черного ящика» , «черный ящик»
Связанные методы
Упреждение , Обфускация , Распознавание образов , Белый ящик , Тестирование белого ящика , Тестирование серого ящика , Идентификация системы
Основы
Априорная информация , Системы управления , Открытые системы , Исследование операций , Термодинамические системы

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

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

Обзор [ править ]

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

Уровни [ править ]

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

Основная процедура [ править ]

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

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

Преимущества [ править ]

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

Недостатки [ править ]

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

Современный вид [ править ]

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

Взлом [ править ]

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

См. также [ править ]

Ссылки [ править ]

  1. ^ Стейси Нельсон (июнь 2003 г.), NASA/CR–2003-212806 Процессы сертификации критически важного для безопасности и критически важного аэрокосмического программного обеспечения (PDF) , Исследовательский центр Эймса , стр. 25, [Глоссарий] Тестирование белого ящика: тестирование , основанное на проектировании , при котором инженеры исследуют внутреннюю работу кода.
  2. ^ Перейти обратно: а б с д Это Уильямс, Лори . «Тестирование белого ящика» (PDF) . стр. 60–61, 69. Архивировано из оригинала (PDF) 3 марта 2016 года . Проверено 13 февраля 2013 г. [ нужна проверка ]
  3. ^ Биндер, Боб (2000). Тестирование объектно-ориентированных систем . издательской компании Addison-Wesley Publishing Company Inc. ISBN  9780201809381 .
  4. ^ Перейти обратно: а б с Амманн, Пол; Оффатт, Джефф (2008). Введение в тестирование программного обеспечения . Издательство Кембриджского университета. ISBN  978-0-521-88038-1 .
  5. ^ Майерс, Гленфорд (1979). Искусство тестирования программного обеспечения . Джон Уайли и сыновья. ISBN  9780471043287 .

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 398E92CB0B8B3C8F3402F30F9126F40A__1716394560
URL1:https://en.wikipedia.org/wiki/White-box_testing
Заголовок, (Title) документа по адресу, URL1:
White-box testing - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)