atesting.ru Блог,Обеспечение качества Руководство по тестированию серого ящика | То, что вы должны знать

Руководство по тестированию серого ящика | То, что вы должны знать

Тестирование серого ящика Руководство | Что вам следует знать

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

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

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

 Руководство по тестированию

Цель тестирования «серого ящика» — найти дефекты, вызванные неправильной структурой или неправильным использованием приложений.

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

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

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

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

Серый ящик Стратегия тестирования

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

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

Шаг 1: чтобы определить входные данные от тестирования черного ящика и тестирования белого ящика, и выберите соответствующие тестовые данные.
Шаг 2: определение ожидаемых результатов от выбранных входов.
Шаг 3: определение всех основных путей, которые необходимо пройти в течение периода тестирования. .
Шаг 4: Определение подфункций, которые являются частью основных функций для выполнения глубокого тестирования
Шаг 5: Определение входных данных для подфункций
Шаг 6: Чтобы определить ожидаемые результаты для подфункций.
Шаг 7: Чтобы начать выполнение тестового примера для подфункций.
Шаг 8: чтобы проверить правильность результат

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

Матричное тестирование —

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

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

< strong> Ортогональный массив- Тестирование ортогональных массивов — это метод статистического тестирования, обычно применяемый в сложных приложениях. Тестирование серого ящика сочетает в себе возможности статистического тестирования и тщательного тестирования для обеспечения надлежащего покрытия. Это помогает уменьшить числовую комбинацию, чтобы обеспечить максимальное покрытие с минимальным количеством тестовых примеров.

Регрессия-

Регрессионное тестирование выполняется после выполнения функционального улучшение или ремонт программы. Цель регрессионного тестирования — определить, повлияло ли изменение на другие аспекты программы.
Для выполнения регрессионного тестирования в режиме серого ящика используются следующие стратегии тестирования:
Повторное тестирование всех
Повторное тестирование рискованных случаев использования
Повторное тестирование по профилю
Повторное тестирование измененного сегмента
Повторное тестирование в брандмауэре

Whitebox против Серый прямоугольник

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

Черный ящик и серый ящик

< td class = "column-1"> Тестирование черного ящика не требует, чтобы тестировщик знал внутреннюю структуру приложения.

< td class = "column-2"> Он выполняется на основе доменов данных.

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

Преимущества

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

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

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

Наиболее подходящие приложения

< ul>

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

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

    Недостатки

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

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

    • Selenium
    • Appium
    • Postman
    • Chrome Dev Tools
    • Burp Suite

    Заключение

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

    qa