# Test apps on Android
Part of [Android Jetpack](https://developer.android.com/jetpack).

Testing your app is an integral part of the app development process. By running
tests against your app consistently, you can verify your app's correctness,
functional behavior, and usability before you release it publicly.

Testing also offers the following advantages:

- **Rapid feedback** on failures.
- **Early failure detection** in the development cycle.
- **Safer code refactoring**, allowing you to optimize code without worrying about regressions.
- **Stable development velocity**, helping you minimize technical debt.

## Documentation

The documentation covers best practices around testing Android apps:

- [Fundamentals of testing Android apps](https://developer.android.com/training/testing/fundamentals)
- [Build local unit tests](https://developer.android.com/training/testing/local-tests) that run on the host
- [Build instrumented tests](https://developer.android.com/training/testing/instrumented-tests) that run on devices or emulators
- Verify UIs with [Behavior](https://developer.android.com/training/testing/ui-tests/behavior) and [Screenshot tests](https://developer.android.com/training/testing/ui-tests/screenshot)
- [Test different screen sizes](https://developer.android.com/training/testing/different-screens)

## Additional resources

For more information about testing on Android, consult the following resources.

### Samples

- [Android testing samples](https://github.com/android/testing-samples)
- [Now In Android demo app](https://github.com/android/nowinandroid), which makes use of the Android testing libraries.

### Codelabs

- [Android Testing Codelab](https://developer.android.com/codelabs/advanced-android-kotlin-training-testing-basics)

## Media