Testing

Descripción

Curso de 25 horas donde se mostrarán todos los conceptos, filosofías, tipos, herramientas y técnicas más populares para escribir tests en Android.

Haremos un primer repaso a la arquitectura necesaria para poder escribir tests de forma sencilla, para luego adentrarnos en profundidad en la escritura y desarrollo de tests.

La formación será muy práctica, donde tomaremos una App ya desarrollada, con una arquitectura adecuada, y crearemos tests de todo tipo sobre ella.

* Esta formación puede ser bonificada por FUNDAE (Tripartita)

¿Por qué necesitas esta formación?

El testing es una herramienta vital para asegurar la calidad del código que escribimos. Nos aseguramos de que el código actual funciona como se espera, y que futuros cambios no generen errores inesperados en el código ya existente.

Gracias al testing, vuestras Apps Android serán más robustas, confiables, y los cambios futuros se podrán hacer con las mayores garantías.

Además, las pruebas automáticas se pueden integrar en todo el flujo de desarrollo y despliegue de las Apps para asegurarnos de que el software es válido hasta que llega a manos del usuario.

Duración y requisitos

La formación consiste en 25 horas (normalmente dividida en 5 días de 5 horas).

Requisitos:

  • Tener unos conocimientos sólidos en desarrollo de Apps Android
  • Haber trabajado anteriormente con arquitecturas por capas
  • Tener instalada una versión actualizada de Android Studio

Temario

Este es el contenido estándar, aunque se puede adaptar a las necesidades y conocimientos de cada grupo:

1. Repaso de los elementos más importantes de las arquitecturas por capas

Para poder desarrollar tests de forma sencilla, necesitamos una base de código que los soporte.

El primer día haremos un repaso a todos estos conocimientos, entre los que se incluyen:

  • Capa de UI: Cómo estructurar el código más cercano a la interfaz de usuario
  • Capa de datos: Cuál es la estructura fundamental de acceso a datos
  • Inyección de dependencias: dónde y cómo crear y provisionar las dependencias
  • Clean Architecture: las bases de una arquitectura por capas desacoplada
2. Introducción al testing
  • Qué es el testing y por qué lo necesitamos
  • Qué tipos de testing hay
  • Qué reglas debe cumplir un test
  • Las dos corrientes del testing
3. Los dobles de test

Cuando desarrollamos un test, no siempre vamos a querer colaborar con clases reales.

Para acotar el ámbito de actuación del test, utilizamos componentes que reemplazan a los originales, pero que nosotros controlamos por completo.

Aquí veremos qué tipos de dobles de test hay, y para qué sirve cada uno.

4. Tests unitarios

Son los tests más sencillos con los que empezar, y también los más populares. En este apartado veremos:

  • Qué son los tests unitarios
  • Cómo crear tus primeros tests unitarios con JUnit
  • Test unitarios para ViewModels
  • Tests de StateFlow
  • Tests unitarios para la capa de datos y los 
  • JUnit4 vs JUnit5: ¿deberíamos dar el salto?
5. Tests de integración

Los tests de integración nos permiten comprobar el funcionamiento de las interacciones entre componentes. Aquí veremos:

  • Qué son los tests de integración
  • Cómo implementarlos
6. Herramientas para tests de integración y de UI

Hay algunas herramientas que nos van a facilitar mucho la vida a escribir tests. En este apartado veremos las siguientes:

  • Configurar tu inyector de dependencias para los tests
  • Configurar la base de datos para mantener la independencia de los tests
  • Servidor de testing local con MockWebServer
7. Tests de UI

No podemos olvidar que la mayor parte de la complejidad de una App Android suele estar en la interfaz, y no en la lógica de negocio, ni siquiera muchas veces en la de aplicación.

Es por eso que los tests de UI son imprescindibles.

Veremos:

  • Tests de UI en vistas clásicas con Espresso
  • Tests de UI en Compose
8. Integración continua

Una de las ventajas de trabajar con tests es que podemos integrarlos en nuestros procesos de compilación y despliegue, de tal forma que se ejecuten automáticamente.

En esta sección veremos cómo integrarlo con algún servicio clásico de integración continua, para ver de qué forma puede ayudarnos.

9. Desarrollo basado en pruebas (TDD)

Veremos en qué consiste el TDD y realizaremos algunas Katas para practicarlo.

También hablaremos sobre los pros y contras de usarlo en Android.

Matrícula

560€ (+IVA) por alumno, con un mínimo de 8 alumnos, o pago del precio equivalente.

Si el número de alumnos fuera inferior, el coste sería igualmente el de 8 alumnos (4480€)

No dudes en ponerte en contacto para ver qué opciones podemos plantear.

Si te interesa esta formación para ti o tu empresa, ponte en contacto con nosotros haciendo click en el siguiente botón: