fbpx

Пирамида тестирования

Пользователи взаимодействуют с приложениями на различных уровнях, от нажатия кнопки до загрузки информации на свое устройство. Чтобы убедиться, что каждая функция работает, вы должны протестировать множество вариантов использования и взаимодействий по мере итеративной разработки приложения.

На изображении ниже показана пирамида тестирования, показывающая три категории тестов, которые вы должны включить в набор тестов вашего приложения:

A pyramid containing three layers: unit tests at the bottom, integration tests in the middle, and UI tests at the top

По оси X – показано количество тестов, а по оси Y – временные затраты на разработку, поддержку и отладку тестов.

По мере того, как вы поднимаетесь вверх по пирамиде от Unit-тестов к UI-тестам, каждый тест повышает точность, но также увеличивает время выполнения и усилия по обслуживанию и отладке. Следовательно, вам следует писать больше модульных (Unit-тестов) тестов, чем интеграционных тестов, и больше интеграционных тестов, чем тестов пользовательского интерфейса. 

При этом для каждого из типов тестирования есть соответсвующие инструменты и библиотеки:

Для unit-тестов используется JUnit. Для интеграционных тестов можно воспользоваться Robolectric Для UI тестов подойдёт Espresso или Kaspresso

Как видно из приведённой пирамиды тестирования, Unit-тесты, являются основой, поэтому в этом туториале мы сконцентрируемся на разработке Unit-тестов, используя JUnit.