Существует несколько признаков, по которым принято производить классификацию видов тестирования. Обычно выделяют следующие:
По знанию системы:
¦ Тестирование чёрного ящика (black box)
¦ Тестирование белого ящика (white box)
¦ Тестирование серого ящика (grey box)
По объекту тестирования:
¦ Тестирование интерфейса пользователя (UI testing)
¦ Тестирование локализации (localization testing)
¦ Тестирование производительности (performance testing)
¦ Нагрузочное тестирование (load testing)
¦ Стресс-тестирование (stress testing)
¦ Тестирование стабильности (stability / endurance / soak testing)
¦ Юзабилити-тестирование (usability testing)
¦ Тестирование безопасности (security testing)
¦ Тестирование совместимости (compatibility testing)
¦ Функциональное тестирование (functional testing)
По степени автоматизации:
¦ Ручное тестирование (manual testing)
¦ Автоматизированное тестирование (automated testing)
¦ Полуавтоматизированное тестирование (semiautomated testing)
По степени изолированности компонентов:
¦ Компонентное (модульное) тестирование (component/unit testing)
¦ Интеграционное тестирование (integration testing)
¦ Системное тестирование (system/end-to-end testing)
По времени проведения тестирования:
¦ Альфа-тестирование (alpha testing)
¦ Тестирование новой функциональности (new feature testing)
¦ Регрессионное тестирование (regression testing)
¦ Бета-тестирование (beta testing)
Но, начнем по порядку.
Черный, белый, серый ящики.
Под черным ящиком имеется ввиду система, механизм которой достаточно сложен, неизвестен или неважен в рамках данной задачи. При этом есть устройство ввода в систему входных данных, механизм обработки входных данных и механизм вывода выходных данных.
Признаки подхода «черный ящик»
1. Тестировшик не знает, как устроен механизм обработки входных данных.
2. Идеи для тестирования идут от предполагаемых паттернов(райегп — образец) поведения пользователей. Поэтому подход «Черный ящик» также называется поведенческим.
Рассмотрим первое. С одной стороны это дает преимущество, т.к если тестирует программист, то он нередко воспринимает код как априорно непогрешимый.
С другой стороны тестирование по методу «Черного ящика» ведется вслепую, т.к. неизвестен внутренний механизм. Вследствие чего, для проверки функциональной единицы может потребоваться несколько тест- кейсов, когда можно было проверить одним.
Рассмотрим второе. Исполнение тестирования может происходить как при наличии, так и без тест-кейсов. Например, рассмотрим следующий тестовый сценарий (Последовательность действий для достижения фактического результата ):
1) Открыть сайт ***
2) Ввести текст «привет»
3) Нажать искать
Здесь текст «привет» является данными к тест-кейсу. Основные источники паттернов:
1) Спецификация
2) Найдены путем эксплоринга(использования софта для понимания того, как реальный пользователь будет с ним обращаться).
3) Черный ящик
4) Интуиция
5) Совет программиста
6) Другие источники
В отличие от «Черного ящика» при подходе «Белый ящик» тестировщик основывает идеи для тестирования на знании об устройстве и логиике тестируемой части.
Тестировочное покрытие состоит из двух вещей:
1) Покрытие возможных сценариев
2) Покрытие исполнения тест-кейсов
Покрытие возможных сценариев — величина, показывающая процентное соотношение сценариев, зафиксированных в тест кейсах, ко всем теоритически возможным сценариям.
Покрытие исполнения тест-кейсов — это процентное отношение исполненных тест-кейсов к общему количеству тест-кейсов.
Симбиоз подходов «Черный ящик» и «Белый ящик» увеличивает покрытие возможных сценариев.
«Серый ящик» — подход, сочетающий в себе элементы двух предыдущих подходов
По объекту тестирования.
Статьи к прочтению:
- Классификация электронных вычислительных машин
- Классификация электронно-вычислительных машин. персональные компьютеры.
QA Start. Урок 3. Виды и уровни тестирования
Похожие статьи:
-
1. Кэш процессора – самая быстрая память, бывает нескольких уровней. В нем хранятся данные, которые с большой долей вероятности могут быть использованы…
-
Классификация способов коммутации данных
Под коммутацией данных понимается их передача, при которой канал передачи данных может использоваться попеременно для обмена информацией между различными…