Test

https://developer.android.com/training/testing
https://developer.android.com/training/testing/fundamentals
https://developer.android.com/training/testing/fundamentals/what-to-test
https://developer.android.com/training/testing/fundamentals/test-doubles
https://developer.android.com/training/testing/local-tests
https://developer.android.com/training/testing/instrumented-tests
https://developer.android.com/training/testing/instrumented-tests/ui-tests
https://developer.android.com/training/testing/instrumented-tests/androidx-test-libraries/test-setup
https://developer.android.com/training/testing/instrumented-tests/androidx-test-libraries/rules
https://developer.android.com/training/testing/instrumented-tests/androidx-test-libraries/runner
https://developer.android.com/training/testing/continuous-integration
https://developer.android.com/training/testing/continuous-integration/automation
https://developer.android.com/training/testing/continuous-integration/features
https://developer.android.com/training/testing/espresso
https://developer.android.com/training/testing/espresso/basics
https://developer.android.com/training/testing/espresso/setup
https://developer.android.com/training/testing/espresso/cheat-sheet
https://developer.android.com/training/testing/espresso/idling-resource
https://developer.android.com/training/testing/espresso/intents
https://developer.android.com/training/testing/espresso/lists
https://developer.android.com/training/testing/espresso/multiprocess
https://developer.android.com/training/testing/espresso/recipes
https://developer.android.com/training/testing/espresso/web
https://developer.android.com/training/testing/espresso/accessibility-checking
https://developer.android.com/training/testing/espresso/additional-resources
https://developer.android.com/training/testing/different-screens
https://developer.android.com/training/testing/different-screens/tools
https://developer.android.com/training/testing/other-components/content-providers
https://developer.android.com/training/testing/other-components/services
https://developer.android.com/training/testing/other-components/ui-automator
13.05.2023https://maxkim.eu/full-guide-to-testing-android-applications-in-2022

UnitTest

Тестирование бизнес-логики.

AndroidTest

Тестирование пользовательского интерфейса.

• если UI не стабилен и часто меняется, тесты начинают блокировать пайплайн и приходится тратить время на их апдейт, а не на увеличение тестового покрытия.

Memory leak

Объект можно назвать утечкой памяти, если он продолжает существовать в памяти даже после того, как на него потеряны все ссылки.

LeakCanary

Библиотека для обнаружения утечек памяти в Android. Предназначена для выявления ANR и OutOfMemoryError. Как работает: делает dump памяти и изучает его, обнаруживая объекты, которые должны были быть собраны сборщиком мусора.

JUnit

Среда тестирования для приложений на Java.

Robolectric

Фреймворк для Unit-тестирования Android-приложений.

Roborazzi

Фреймворк для интеграционного тестирования Android-приложений. Для скриншот-тестирования.

Mockito

Фреймворк для создания тестовых дублеров.

MockK

Фреймворк для создания тестовых дублеров.

Espresso

Фреймворк для написания UI-тестов на Android.

Kaspresso

Фреймворк для автотестирования. И скриншот-тестов.

Android Test. Вопросы на собесе
  1. Что такое юнит-тестирование, и почему оно важно в разработке Android приложений?
  1. Чем интеграционные тесты отличаются от юнит-тестов?