Рейтинг: 5.0/5. на основе 2 оценок.
Пожалуйста, подождите...

Любой начинающий тестировщик хоть раз, но слышал о таких понятиях, как тестирование черного, белого, а также серого ящика. На просторах Интернета можно найти массу полезного материала об особенностях проверки первых двух видов. А вот касательно тестирования серого ящика (англ. grey box testing) информации очень мало.

Чтобы хоть немного прояснить ситуацию, далее в статье будут рассмотрены базовые принципы «серого ящика» (его преимущества и явные недостатки), а также даны объяснения ситуаций, в которых он должен использоваться.

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

Белый.черный.серый ящик

Белый.черный.серый ящик

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

Тестирование черного ящика (англ. black box testing) – специальный метод проверки работоспособности программного обеспечения, при котором вся функциональность продукта исследуется без анализа исходного кода. Тестировщики создают логически понятные тест-кейсы, опираясь исключительно на требования из спецификации на проекте.

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

  1. Позволяет быстро находить баги в разработанной функциональности ПО;
  2. Тестировщик не обязательно должен обладать узкопрофильной специальностью;
  3. Проверка проходит с позиции конечного потребителя;
  4. Разрабатывать тест-кейсы можно сразу же после завершения работы со спецификацией.

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

  • Функциональная проверка ПО;
  • Регрессионные проверки;
  • Юзабилити-тестирование;
  • Дымовое тестирование;
  • Проверку графического интерфейса пользователя.

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

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

Тестирование белого ящика (англ. white box testing) – особый метод проверки ПО, который подразумевает, что внутренняя структура и технические особенности ПО досконально известны проверяющему.

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

На основе такого тестирования можно совершать следующие проверки:

  • Юнит-тесты;
  • Интеграционные проверки;
  • Системное тестирование компонентов;
  • Проверка архитектуры безопасности функционирования ПО.

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

Базовые достоинства такого метода тестирования:

  • Оптимизация программного кода путем поиска скрытых багов;
  • Создание автоматизированных тест-кейсов;
  • Использование наиболее подходящего вида входных данных, применяемых для качественного процесса тестирования.

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

Проверка серого ящика (англ. grey box testing) – специальный метод тестирования программного обеспечения с неполным знанием его внутреннего устройства. Чтобы выполнить подобный вид тестов, не нужно иметь доступ к исходному коду ПО.

Все тесты создаются на базе простого знания алгоритмов, архитектуры и иных высокоуровневых характеристик поведения продукта.

Типы тестов серого ящика:

  1. Регрессионные проверки;
  2. Матричные проверки;
  3. Шаблонное тестирование;
  4. Проверка ПО с помощью ортогонального массива.

Основные преимущества метода:

  • Имеет некоторые особенности черного и белого ящика. Иными словами, тестировщик смотрит на объект проверки с позиции черного ящика, но проводит анализ системы с точным расчетом данных, которые ему предварительно известны (белый ящик).
  • QA-специалист может создавать и применять более сложные тестовые сценарии.
  • Данная проверка позволяет программисту заручиться достаточным количеством времени для исправления багов.
  • Программист взаимодействует с тестировщиком на начальном уровне, что позволяет сразу же убрать ненужные и избыточные тест-кейсы.

Недостатки:

  • Анализ программного кода ограничен, так как доступа к исходному коду у тестировщика нет.
  • Нет времени тестировать все потоки ввода и вывода информации, так как это займет очень много времени.
  • Возможна ситуация, когда тестировщики могут стать лишними (когда не только QA-специалист, но и программист проверяет свой код с помощью юнит-тестов).

Краткие итоги

Итак, тестирование методом серого ящика наиболее востребовано в ситуации, когда QA-инженеры могут получить полноценный доступ к проектной документации и у них есть достаточно времени на подготовку тест-кейсов со сценариями тестирования.

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

Оставить комментарий