Тестирование серого ящика | Тестирование программного обеспечения

Опубликовано: 28 Января, 2022

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

Gray Box Testing назван так потому, что программа подобна полупрозрачному или серому ящику, внутри которого тестер может частично видеть. Обычно он фокусируется на контекстно-зависимых ошибках, связанных с веб-системами.

Цель тестирования серого ящика:
Цель тестирования серого ящика:

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

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

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

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

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

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

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

Вниманию читателя! Не переставай учиться сейчас. Получите все важные концепции теории CS для собеседований SDE с курсом теории CS по доступной для студентов цене и будьте готовы к отрасли.