Когда речь заходит об уровнях тестирования, то принятно говорить о пирамиде тестирования.
Пирамида тестирования — это концептуальная модель, которая помогает организовать различные уровни тестирования в иерархическом порядке.
Она часто используется для визуализации и планирования стратегии тестирования в проекте.
Идея пирамиды заключаетя в том, что тесты должны быть разного уровня. И как, и в классической пирамиде тестирования уровни распределены следующим образом:
Юнит-тестирование
Обычно это самый большой уровень, и он занимает основание пирамиды. Юнит-тесты проверяют работу методов, они быстрые, простые. В нормальных компаниях, в которых правильная пирамида тестирования, юнит тестов должно быть очень много.
Интеграционное тестирование
Здесь мы проверяем корректность взаимодействия между различными модулями или компонентами.
Системное тестирование
Это вид тестирования программного обеспечения, который выполняет проверку системы в целом.
End to end тесты
В самом верху мы видим ui автотесты или end to end тесты. Это так называемые честные тесты, которые проверяют бизнес логику от начала и до конца, открывают браузер или программу, вводят все необходимые поля, авторизуются, убеждаются что все страницы прогрузились и мы действительно авторизовались или зарегистрировались. Обычно такие тесты медленные, сложные, могут быть как автоматизированными, так и ручными, такие автоматизированные тесты как правило не стабильны, так как это ui, ui всегда медленный и не стабильный. Ну и как мы видим ui автотестов или ручных ui тестов, которыми и занимаются тестировщики их должно быть меньше всего, а самых стабильных и быстрых тестов unit тестов должно быть больше всего.