Существует 4 уровня тестирования. Они составляют тестовую пирамиду. Это, снизу вверх:
Дополнительный материал:
- Схема уровней тестирования и действий тестировщика
- Принципы тестирования на всех уровнях
- FAQ: Что за пирамида? Почему пирамида?
1. Юнит-тестирование:
Юнит — это самая маленькая часть продукта, которая может тестироваться. Название юнит равнозначно названию модуль, следовательно юнит-тестирование равнозначно модульному тестированию (также иногда называют блочным тестированием). Юнит-тестирование — это поиск ошибок в отдельных (изолированных) юнитах-компонентах.
2. Интеграционное тестирование:
После завершения юнит-тестирования, два (или более) программных компонента проверяются на качество интеграции между собой. Взаимодействуют ли они между собой как ожидалось, или есть ошибки в интерфейсе между ними?
3. Системное тестирование
После завершения юнит- и интеграционного тестирования наступает этап системного тестирования. Проверка всех элементов, составляющих программную систему, на соответствие требованиям.
4. Приемочное тестирование
Последний уровень — проверка, выполнены ли требования конечных пользователей. Если приемочное тестирование успешно завершено, продукт идет на доставку (delivery), и считается, что продукт будет нормально работать в пользовательском окружении.
Схема уровней тестирования и действий тестировщика
Уровни тестирования и действия тестировщиков на этих уровнях изображены на схеме:
Принципы тестирования на всех уровнях
При продвижении по уровням, тестировщику необходимо помнить о следующих принципах:
- Требования пользователей должны быть легко доступны для проверки, на всех этапах
- Планирование тестов должно быть задолго до их выполнения
- Принцип Парето: 80% ошибок сосредоточены в 20% модулей (подробнее — здесь)
- Тестирование должно начинаться “с малого” и продвигаться “к большому”
- Полное всеохватывающее тестирование всего продукта — невозможно
- Тестирование должно быть как можно более экономичным/эргономичным/эффективным, поэтому в принципе нужна оценка тестирования независимой третьей стороной.
FAQ: Что за пирамида? Почему?
Ответ: потому что на нижних уровнях пирамиды тестов намного больше, чем на верхних; (но сами тесты — несложные и быстро пишутся/выполняются).
В основании пирамиды — юнит-тесты, Их намного больше чем на следующих уровнях. Выполняются они быстрее, часто «пакетами», и требуют меньше усилий.
Верхушка пирамиды: приемочные тесты (или как вариант сквозные E2E-тесты, или как вариант тесты интерфейса). На верхушке пирамиды самые сложные в написании и выполнении, и затратные по времени и ресурсам.
Графически все это выглядит так:
***