Тестирование черного ящика
Black Box Testing - это метод тестирования программного обеспечения, при котором функциональность программных приложений проверяется без знания внутренней структуры кода, деталей реализации и внутренних путей. Black Box Testing в основном фокусируется на вводе и выводе программных приложений и полностью основывается на требованиях и спецификациях программного обеспечения. Он также известен как поведенческое тестирование.
Вышеупомянутый черный ящик может быть любой программной системой, которую вы хотите протестировать. Например, операционная система, такая как Windows, веб-сайт, такой как Google, база данных, такая как Oracle, или даже ваше собственное приложение. В разделе «Тестирование черного ящика» вы можете протестировать эти приложения, просто сосредоточившись на входах и выходах, не зная реализации их внутреннего кода. Рассмотрим следующий видеоурок -
Нажмите здесь, если видео недоступно
Как пройти тестирование BlackBox
Вот общие шаги, выполняемые для проведения любого типа тестирования черного ящика.
- Первоначально изучаются требования и характеристики системы.
- Тестер выбирает допустимые входные данные (положительный сценарий тестирования), чтобы проверить, правильно ли их обрабатывает SUT. Кроме того, выбираются некоторые недопустимые входные данные (отрицательный тестовый сценарий), чтобы убедиться, что ТУС может их обнаружить.
- Тестер определяет ожидаемые результаты для всех этих входов.
- Программный тестер строит тестовые примеры с выбранными входными данными.
- Тестовые примеры выполнены.
- Программный тестер сравнивает фактические результаты с ожидаемыми.
- Дефекты, если таковые имеются, устраняются и проходят повторное тестирование.
Типы тестирования черного ящика
Существует много типов тестирования черного ящика, но наиболее заметными из них являются следующие:
- Функциональное тестирование - этот тип тестирования черного ящика связан с функциональными требованиями системы; это делают тестеры программного обеспечения.
- Нефункциональное тестирование - этот тип тестирования черного ящика связан не с тестированием конкретной функциональности, а с нефункциональными требованиями, такими как производительность, масштабируемость, удобство использования.
- Регрессионное тестирование - регрессионное тестирование выполняется после исправлений кода, обновлений или любого другого обслуживания системы, чтобы проверить, что новый код не повлиял на существующий код.
Инструменты, используемые для тестирования черного ящика:
Инструменты, используемые для тестирования черного ящика, во многом зависят от типа тестирования черного ящика, которое вы проводите.
- Для функциональных / регрессионных тестов вы можете использовать - QTP, Selenium
- Для нефункциональных тестов вы можете использовать - LoadRunner, Jmeter
Методы тестирования черного ящика
Ниже приведены известные стратегии тестирования среди многих, используемых в тестировании черного ящика.
- Тестирование класса эквивалентности: используется для минимизации количества возможных тестовых примеров до оптимального уровня при сохранении разумного тестового покрытия.
- Проверка граничных значений: Проверка граничных значений сосредоточена на значениях на границах. Этот метод определяет, приемлем ли определенный диапазон значений для системы. Это очень полезно для уменьшения количества тестовых случаев. Он наиболее подходит для систем, в которых вход находится в определенных диапазонах.
- Тестирование таблицы решений: таблица решений помещает причины и их следствия в матрицу. В каждом столбце есть уникальная комбинация.
Сравнение тестирования черного ящика и белого ящика:
Тестирование черного ящика | Тестирование белого ящика |
---|---|
Основное внимание при тестировании «черного ящика» уделяется проверке ваших функциональных требований. | Тестирование белого ящика (модульное тестирование) проверяет внутреннюю структуру и работу вашего программного кода. |
Тестирование черного ящика дает абстракцию от кода и фокусируется на усилиях по тестированию поведения программной системы. | Для проведения тестирования методом «белого ящика» необходимо знание основного языка программирования. Современные программные системы используют множество языков программирования и технологий, и невозможно знать их все. |
Тестирование черного ящика облегчает тестирование связи между модулями | Тестирование белого ящика не облегчает тестирование связи между модулями |
Жизненный цикл тестирования черного ящика и разработки программного обеспечения (SDLC)
Тестирование черного ящика имеет свой собственный жизненный цикл, называемый жизненным циклом тестирования программного обеспечения (STLC), и он относится к каждому этапу жизненного цикла разработки программного обеспечения в программной инженерии.
- Требование - это начальный этап SDLC, и на этом этапе собираются требования. На этом этапе также принимают участие тестировщики программного обеспечения.
- Планирование и анализ тестирования - определяются типы тестирования, применимые к проекту. Создается план тестирования, который определяет возможные риски проекта и их снижение.
- Дизайн - на этом этапе тестовые наборы / сценарии создаются на основе документов требований к программному обеспечению.
- Выполнение теста - на этом этапе выполняются подготовленные тестовые наборы. Ошибки, если таковые имеются, исправлены и протестированы повторно.