Раздел 2 Виды и направления тестирования
Раздел 2 Виды и направления тестирования
2.1.
Упрощённая классификация тестирования
Тестирование
можно классифицировать по очень большому количеству признаков, и практически в
каждой серьёзной книге о тестировании автор показывает свой (безусловно имеющий
право на существование) взгляд на этот вопрос.
Соответствующий
материал достаточно объёмен и сложен, а глубокое понимание каждого пункта в
классификации требует определённого опыта, потому мы разделим данную тему на
две: сейчас мы рассмотрим самый простой, минимальный набор информации,
необходимый начинающему тестировщику, а в следующей главе приведём подробную
классификацию.
Используйте
нижеприведённый список как очень краткую «шпаргалку для запоминания». Итак,
тестирование можно классифицировать:
Рисунок
1
Упрощённая
классификация тестирования.
По запуску кода
на исполнение:
·
Статическое
тестирование — без запуска.
·
Динамическое
тестирование — с запуском.
По доступу к
коду и архитектуре приложения:
·
Метод белого
ящика — доступ к коду есть.
·
Метод чёрного
ящика — доступа к коду нет.
·
Метод серого
ящика — к части кода доступ есть, к части — нет.
По степени
автоматизации:
·
Ручное
тестирование — тест-кейсы выполняет человек.
·
Автоматизированное
тестирование — тест-кейсы частично или полностью выполняет специальное
инструментальное средство.
По уровню
детализации приложения (по уровню тестирования):
·
Модульное
(компонентное) тестирование — проверяются отдельные небольшие части приложения.
·
Интеграционное
тестирование — проверяется взаимодействие между несколькими частями приложения.
·
Системное
тестирование — приложение проверяется как единое целое.
По (убыванию)
степени важности тестируемых функций (по уровню функционального тестирования):
·
Дымовое
тестирование — проверка самой важной, самой ключевой функциональности,
неработоспособность которой делает бессмысленной саму идею использования
приложения.
·
Тестирование
критического пути — проверка функциональности, используемой типичными
пользователями в типичной повседневной деятельности.
·
Расширенное
тестирование — проверка всей (остальной) функциональности, заявленной в
требованиях.
По
принципам работы с приложением:
·
Позитивное
тестирование — все действия с приложением выполняются строго по инструкции ни
без каких недопустимых действий, некорректных данных и т.д. Можно образно
сказать, что приложение исследуется в «тепличных условиях».
·
Негативное
тестирование — в работе с приложением выполняются (некорректные) операции и
используются данные, потенциально приводящие к ошибкам (классика жанра — деление
на ноль).
Часто возникает
вопрос о том, чем различаются «тип тестирования», «вид тестирования», «способ
тестирования», «подход к тестированию» и т.д. и т.п. Если вас интересует строгий
формальный ответ, посмотрите в направлении таких вещей как «таксономия» и
«таксон», т.к. сам вопрос выходит за рамки тестирования как такового и относится
уже к области науки.
Но
исторически так сложилось, что как минимум «тип тестирования» (testing type) и
«вид тестирования» (testing kind) давно стали синонимами.