Aprende los conceptos básicos de las pruebas de Android

1. Antes de comenzar

En este codelab, aprenderás a realizar pruebas y a aplicar pruebas automatizadas en apps para Android.

Requisitos previos

  • Conocimientos básicos de navegación a directorios de proyectos en Android Studio

Qué aprenderás

  • Qué son las pruebas
  • Qué son las pruebas automatizadas
  • Qué son las pruebas de unidad y de instrumentación
  • Dónde encontrar archivos de prueba de instrumentación y unidades en un proyecto de Android

Requisitos

  • Una computadora que tenga Android Studio instalado
  • El proyecto que creaste en el codelab anterior de esta ruta de aprendizaje

2. ¿Qué son las pruebas?

En el contexto de un software, las pruebas son un método estructurado para verificar el software a fin de garantizar que funcione correctamente. Las pruebas automatizadas son códigos reales que comprueban que otro fragmento del código que escribiste funcione correctamente.

Probar el software es favorable porque te permite descartar errores antes de publicar el código. Es esencial para tener una experiencia del usuario positiva.

Si bien las pruebas manuales casi siempre se realizan en un lugar específico, las pruebas en Android a menudo se pueden automatizar. Durante el curso Aspectos básicos de Android en Kotlin, te concentrarás en las pruebas automatizadas para probar el código de la app y los requisitos funcionales de esta. En este codelab, aprenderás los conceptos básicos de las pruebas en Android. En los próximos, aprenderás más prácticas avanzadas de prueba de apps para Android.

A medida que te familiarices con el desarrollo y las pruebas de apps para Android, deberías escribir una prueba de manera periódica junto al código de tu app. Si creas una prueba cada vez que creas una función nueva en tu app, se reducirá la carga de trabajo más adelante cuando la app crezca. También es una forma conveniente de asegurarte de que tu app funciona de manera correcta sin invertir demasiado tiempo en probarla manualmente.

3. Introducción a las pruebas automatizadas

Una prueba automatizada es un fragmento de código que garantiza que otro fragmento de código que hayas escrito funcione correctamente y siga funcionando de forma correcta a medida que tu proyecto crece y cambia. Las pruebas automatizadas son una parte esencial del desarrollo de software, y el desarrollo de Android no es la excepción. Por lo tanto, este es el momento indicado para hablar del tema. Cuando creaste tu primera app para Android, es probable que hayas observado que tu actividad principal se encontraba en una subcarpeta del directorio main. Es posible que también hayas visto que, en el directorio src, se encontraban los directorios test y androidTest. En estos dos directorios son donde se escribe el código de prueba. Hay dos tipos de pruebas automatizadas en el desarrollo de Android: pruebas de unidades y de instrumentación. Los dos directorios representan estas dos categorías de pruebas.

59a85b0d54051f31.png

Busca el código de prueba de unidades

Las pruebas locales en Android se encuentran en el directorio test y, por lo general, son pruebas de unidades. Las pruebas de unidades prueban directamente un pequeño fragmento de código para garantizar que funcione correctamente. Con las pruebas de unidades, puedes probar funciones, clases y propiedades. Las pruebas locales se ejecutan en la máquina virtual Java, lo que significa que funcionan en un entorno de desarrollo, sin necesidad de un dispositivo o emulador. Es una forma sofisticada de decir que las pruebas de unidades se ejecutan en tu computadora. Android Studio está listo para ejecutar pruebas de unidades de forma automática.

Android Studio genera automáticamente una prueba de unidades simple cada vez que creas un proyecto nuevo. Lo mismo sucede con las pruebas de instrumentación. Es importante tener en cuenta que estas pruebas realmente no son relevantes. Solo funcionan como marcadores de posición. Por ahora, solo irás a la ubicación en la que se encuentran los archivos de prueba. Ahondarás en el contenido de estas pruebas generadas más adelante.

Para encontrar el código de prueba de unidades, sigue estos pasos:

  1. Abre la app de tarjeta de cumpleaños del proyecto anterior.
  2. Si es necesario, selecciona Android en el menú de navegación.
  3. Haz clic en app > java > com.example.happybirthday (test) > ExampleUnitTest.

66ea4f322cab41f5.png

Busca el código de prueba de instrumentación

En el contexto de desarrollo de Android, "prueba de instrumentación" significa una prueba de interfaz de usuario (prueba de IU). Las pruebas de instrumentación te permiten probar partes de una app que dependen de los ciclos de vida de actividades y fragmentos, además de los servicios y las API de la plataforma.

A diferencia de las pruebas de unidades, las de IU no prueban el código directamente. En cambio, prueban la interfaz de usuario para asegurarse de que se muestran los componentes de IU correctos y que la interfaz de usuario se comporta según lo previsto cuando se realizan acciones en la IU. Otra diferencia es que las pruebas de instrumentación deben ejecutarse en un dispositivo físico o emulador. En una ruta de aprendizaje anterior, configuraste un emulador, por lo que este paso ya está resuelto.

Cuando ejecutas una prueba de instrumentación en Android, lo que sucede realmente es que el código de prueba en realidad se compila en su propio APK, como en el caso de una app para Android normal. Un APK es un archivo comprimido que contiene todo el código y los archivos necesarios para ejecutar la app en un dispositivo o emulador. Ese APK de prueba se instala en el dispositivo o emulador junto con el APK de la app normal. Luego, el APK de prueba ejecuta sus pruebas en el APK de la app.

Antes de ejecutar la prueba, observa lo que hace el código.

Para encontrar el código de prueba de instrumentación, haz lo siguiente:

  1. Si estás en la vista de proyecto Android, haz clic en app > java > com.example.happybirthday (androidTest) > ExampleInstrumentedTest.

b5cff05a589025b1.png

  1. Si estás en la vista de proyecto Project, haz clic en HappyBirthday > app > src > androidTest > java > com.example.happybirthday > ExampleInstrumentedTest.

610a4d073109ae0d.png

4. Felicitaciones

Aprendiste qué son las pruebas de Android y cómo encontrar pruebas de instrumentación y unidades en Android.