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

Содержание:

Anonim

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

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

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

Тестирование серого ящика - это метод тестирования программного обеспечения, который представляет собой комбинацию как тестирования белого ящика, так и метода тестирования черного ящика.

  • В тестировании White Box известна внутренняя структура (код)
  • При тестировании Black Box внутренняя структура (код) неизвестна
  • В Gray Box Testing частично известна внутренняя структура (код)

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

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

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

Тестирование серого ящика проводится по следующей причине:

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

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

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

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

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

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

Шаги по выполнению тестирования серого ящика:
  • Шаг 1. Определите исходные данные
  • Шаг 2 : Определите результаты
  • Шаг 3. Определите основные пути
  • Шаг 4 : Определите подфункции
  • Шаг 5 : Разработайте входные данные для подфункций
  • Шаг 6 : Разработайте выходные данные для подфункций
  • Шаг 7 : Выполните тестовый пример для подфункций
  • Шаг 8 : проверьте правильный результат для подфункций
  • Шаг 9 : повторите шаги 4 и 8 для других подфункций.
  • Шаг 10 : повторите шаги 7 и 8 для других подфункций.

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

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

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

Резюме:

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