atesting.ru Блог Что такое тестирование методом белого ящика и его виды с примерами?

Что такое тестирование методом белого ящика и его виды с примерами?

Что такое тестирование методом белого ящика и его виды с примерами?

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

Что такое тестирование «белого ящика»?

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

White Box Testing — это метод тестирования программного обеспечения, основанный на внутренней структуре кода приложения. При тестировании методом белого ящика для разработки тестовых примеров используется внутренняя перспектива системы, а также навыки программирования. Это тестирование обычно проводится на уровне модуля.

Здесь тестировщики могут видеть код тестируемого приложения.

Это также называется тестированием стеклянной коробки, тестированием прозрачной коробки, тестированием открытой коробки, тестированием прозрачной коробки, тестированием на основе кода, тестированием логического покрытия, тестированием на основе логики, тестированием на основе пути и структурным тестированием, тестированием на основе структуры.

Эти имена представляют способность видеть сквозь внешнюю оболочку программного обеспечения (т. е. коробку) его внутреннюю работу.

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

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

Ознакомьтесь с нашим подробным руководством по тестированию «черного ящика» и «белого ящика».

Тестировщикам необходимо обладать хорошими навыками программирования, чтобы создавать тестовые примеры для тестирования белого ящика. Это контракт с аналогичным тестированием черного ящика, в котором тестовые примеры основаны на его спецификациях.

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

Согласно глоссарию ISTQB, определение «белого ящика» выглядит следующим образом

Тестирование, основанное на анализе внутренней структуры компонента или системы.

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

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

 Что такое тестирование методом белого ящика и его типы с примерами?

Шаг 1: Соберите требования, функциональные спецификации, проектную документацию, исходный код.

Шаг 2: Подготовка плана тестирования

Шаг 3: тестирование подготовка кейса

Шаг 4: Выполнение тестового случая

Шаг 5: Отчет о дефектах & amp; устранение проблем

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

Что такое Тестирование

Существуют следующие типы тестирования белого ящика

Тем не менее, тестирование белого ящика может применяться к модульному тестированию, интеграционному тестированию и системному тестированию. Рекомендуется придерживаться только уровня модульного тестирования и уровня тестирования интеграции.

  1. Модульное тестирование — см. подробное руководство по модульному тестированию.
  2. Интеграционное тестирование — см. подробное руководство по интеграционному тестированию.

Модульное тестирование делится на тестирование выполнения, тестирование операций и тестирование мутаций.

Интеграционное тестирование подразделяется на подход «сверху вниз», подход «снизу вверх» и гибридный подход.

Тестирование выполнения делится на покрытие операторов, покрытие ветвей и покрытие путей

< h3 id = "h-execution-testing"> Тестирование выполнения:

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

Тестирование операций:

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

Тестирование мутаций:

Это тип тестирования белого ящика, который предназначен для изменения (мутации) определенных операторов в исходном коде. и проверьте, могут ли тесты найти ошибки.

Методы тестирования белого ящика

Что такое Тестирование

Важными методами тестирования WhiteBox являются следующие

Покрытие утверждений:

Этот метод используется, чтобы убедиться, что каждая строка исходного кода была выполнена и протестирована хотя бы один раз. Покрытие всех строк кода указывает на ошибочный код.

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

Охват операторов = (Количество выполненных операторов/Общее количество операторов исполняемый файл) x 100%

В соответствии с приведенной ниже блок-схемой при покрытии операторов каждый узел должен быть пройден хотя бы один раз.

Охват решения

Это гарантирует, что каждое решение (истина/ложь) в исходном коде было выполнено и протестировано.

Охват ветвей

< p> Этот метод используется, чтобы убедиться, что все ветки проверены хотя бы один раз. Он проверяет все возможные пути приложения (if-else и другие условные циклы).

Он гарантирует, что каждая ветвь из всех точек принятия решения пройдена хотя бы один раз.

В соответствии с На блок-схеме все края должны быть пройдены хотя бы один раз.

Охват ветвей = (Количество протестированных результатов решений/Общее количество результатов решений) x 100%

Покрытие пути

Этот метод используется для обеспечения того, чтобы все возможные пути (каждый оператор и ветвь) выполнялись и тестировались.

Path Coverage = (Количество путей выполнено/Общее количество путей) x 100%

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

  • Покрытие условий
  • Покрытие нескольких условий
  • Покрытие конечного автомата
  • Тестирование потока управления
  • Тестирование потока данных

Не пропустите: более 100 типов тестирования программного обеспечения

Как рассчитать покрытие операторов, покрытие ветвей, покрытие пути

Сначала давайте узнаем, что такое узлы и ребра

Узлы: узлы представляют записи, каждое выражение кода, решения и выходы

Ребра: Ребра представляют собой ветвящиеся и неразветвленные связи между узлами.

Давайте возьмем пример программы и вычислим покрытие операторов, покрытие ветвей и покрытие пути.

Прочитать X
Прочитать Y
ЕСЛИ X + Y & gt; 100 ТО
Печатать «Больше»
ENDIF
Если P & gt; 50 ЗАТЕМ
Напечатайте «X & gt; 50»
ENDIF

Решение:

Вот блок-схема для указанной выше программы

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

Давайте укажем узлы и края приведенной выше блок-схемы

Что такое Тестирование

Покрытие операторов

Это поиск кратчайшего числа путей, охватывающих все узлы.

С этим одним путь 1A-2C-3D-E-4G-5H, мы охватили все узлы, такие как 1,2,3,4,5

Общее количество охватываемых операторов составляет 1.

< p> Покрытие ответвлений

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

На этом пути 1A-2C-3D-E-4G-5H мы покрыли ребра A, C, D, E, G и H, но пропустили ребра B и F.
На этом пути 1A-2B- E-4F, мы покрыли ребра A, B, E и F.

Объединив два вышеуказанных пути, мы покрыли все ребра A, B, C, D, E, F, G, и H.

Общее количество покрытых веток равно 2.

Покрытие пути

Обеспечивает покрытие всех возможных путей прямо от от начала до конца

1A-2B-E-4G-5H
1A-2B-E-4F
1A-2C-3D-E-4G-5H
1A -2C-3D-E-4F

Общее количество пройденных путей равно 4.

Выходные данные из приведенного выше примера:
Покрытие операторов = 1
Покрытие ветвей = 2
Покрытие пути = 4

Также помните следующее

  • 100% покрытие LCSAJ будет означать 100% покрытие ветвей/решений.
  • 100% покрытие пути будет означать 100% Покрытие утверждений
  • 100% покрытие ветвей/решений будет означать
  • 100% покрытие операторов
  • 100% покрытие путей будет означать 100% покрытие ветвей/решений

Примечание.

  • Покрытие решений и покрытие филиалов одинаковы.
  • Покрытие решений дает больший охват по сравнению с покрытием заявления.
  • 100% Покрытие решений гарантирует 100% покрытие операторов, но не наоборот.
  • LCSAJ означает линейную последовательность кода и скачок.

Инструменты тестирования белого ящика

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

  • Parasoft Jtest
  • Veracode
  • EclEmma
  • JUnit
  • NUnit
  • PyUnit
  • HTMLUnit
  • CppUnit
  • RCUNIT
  • Огурец

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

< ul>

  • Тестирование можно проводить на ранней стадии SDLC.
  • Нет необходимости ждать, пока графический интерфейс выполнит тестирование белого ящика.
  • Тестировщики могут обнаруживать ошибки даже в скрытых код.
  • Это помогает удалить лишние строки кода в программе.
  • Легко автоматизировать
  • Тестирование более тщательное, поскольку оно охватывает все возможные пути кода.
  • Недостатки тестирования белого ящика

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

    В заключение

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

    Часто задаваемые вопросы

    Что такое «белый ящик» при тестировании программного обеспечения?

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

    Почему необходимо тестирование методом белого ящика?

    Он используется для покрытия тестового пути, оптимизации кода, автоматизации тестирования и т. д.

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

    Тестирование «черного ящика» и «белого ящика» является частью тестирования ящика.

    Какие существуют типы тестирования белого ящика?

    Типы тестирования белого ящика: модульное тестирование, интеграционное тестирование, тестирование операций, тестирование мутаций, тестирование выполнения.

    Кто будет выполнять Тестирование по методу белого ящика?

    Обычно тестирование по методу белого ящика выполняется разработчиками и тестировщиками, имеющими навыки программирования (Уит тестеры электронных коробок)

    TAG: qa