Обычно проверка ПО проходит на четырёх уровнях, которые входят в классическую «пирамиду тестирования».
Unit-тесты. На этом уровне QA-инженеры проверяют работоспособность отдельных модулей программного кода. В некоторых командах такие тесты пишут разработчики. Это позволяет найти ошибку раньше, чем код попадёт к тестировщикам.
Интеграционные тесты. С их помощью проверяют, как разные модули программы взаимодействуют между собой. К примеру, как код работает со сторонним сервисом или базой данных.
End-to-end-тесты. На этом этапе QA-инженеры тестируют весь проект. Особое внимание уделяется прохождению конкретных пользовательских сценариев. Нужно убедиться, что все модули и сторонние интеграции работают правильно.
UI-тесты. Проверяют все элементы пользовательского интерфейса, их дизайн, согласованность, удобство и соответствие сценариям использования.