Классификации тестирования.

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

По знанию системы:

■ Тестирование чёрного ящика (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) Покрытие исполнения тест-кейсов

Покрытие возможных сценариев - величина, показывающая процентное соотношение сценариев, зафиксированных в тест кейсах, ко всем теоритически возможным сценариям.

Покрытие исполнения тест-кейсов - это процентное отношение исполненных тест-кейсов к общему количеству тест-кейсов.

Симбиоз подходов «Черный ящик» и «Белый ящик» увеличивает покрытие возможных сценариев.

«Серый ящик» - подход, сочетающий в себе элементы двух предыдущих подходов

По объекту тестирования.