Episodio 162 – UNIT TESTING [TOPIC#3]
Sergio Sastre vuelve a visitarnos para hablarnos del increíble mundo del UNIT TESTING.
En esta charla técnica, Sergio nos da respuesta a un montón de preguntas, nos resuelve las dudas que tenemos y nos da un montón de información.
Hablaremos sobre temas como: ¿Qué es el UNIT TESTING? ¿Merece la pena hacer TDD en Android? ¿Qué son los Sociable Tests? y muchos otros temas. No quiero generarte mucho hype, ya que prefiero lo escuches por ti mismo.
Recordarte que esta charla técnica se corresponde con el tercer topic de este año.
¡Te veo dentro! 😉
¿Viste la entrada sobre Cómo ser DESARROLLADOR ANDROID?
¡Y el Audiocurso de Kotlin Multiplatform! 💯
Podcast Premium
Este contenido está restringido.
HAZTE PREMIUM
para difrutar de los audios y vídeos exclusivos.
Puedes ver la otra charla de Sergio sobre UI Testing.
Links nombrados en la charla
- Sociable Tests vs. Solitary tests
- Testing behaviour and not implementation details
- TDD, where did it all go wrong
- TDD free course videos (Android)
Y ahora un par de links que son oro para escribir tests claros y concisos:
Y por último, una técnica que no se habló en la charla pero que Sergio considera que bastante interesante: Property-based testing
Aquí te dejo un par de blogs que escribió Sergio sobre el tema, una charla que dio en droidcon Berlín hace un par de años y un repo con ejemplos:
- Parte 1 (introduccion a property based testing
- Parte 2 (property-based testing en Android
- La charla en droidcon Berlin 2022
- El repositorio para trastear
Contenido del audio
Índice
00:00 | Bienvenida y presentación
01:08 | Sergio nos cuenta sobre él, su experiencia y su background
02:51 | ❓ ¿Qué es el Unit Testing?
04:58 | 💡 Consejos para llegar a un consenso cuando hablamos de unidad de código
08:24 | 🤔 ¿Merece la pena el TDD en Android?
11:46 | ⚙ Proyecto que tarda 5 minutos o más en compilarse, ¿TDD entraría? ¿Qué hace Sergio en este caso?
13:36 | 👀 ¿Qué son los Sociable Tests?
15:23 | ✔ Anotación VisibleForTesting, ¿qué piensa Sergio Sastre sobre ello?
17:00 | 👨🏻💻 ViewModel que llama a un repository. ¿Cómo es mejor instanciar el repository: Fake o Mock? ¿Cuándo usar Fake? ¿Y cuándo Mock?
20:56 | 🕵🏻♂️ ¿Se puede verificar una llamada a un Fake?
22:58 | 🧩 No debemos cambiar los tests cuando el código se refactoriza. Deben seguir funcionando. ¿Cómo podemos conseguir esto? ¿A la hora de hacer los tests o al escribir el código? Sergio nos da un ejemplo
26:37 | 🎯 ¿Un test de integración puede ser unitario?
28:09 | 🆒 Un caso en particular: test que carga un JSON (lo que devuelve el backend) desde los recursos o en assets, lo parsea y lo comprueba; como si estuviéramos testeando una llamada al backend. ¿Esto es un test unitario o un test de integración?
29:17 | ⚔ Los ViewModels tienen una lista larga de dependencias debido a la lógica que manejan internamente. ¿Se puede reducir la lista de dependencias y seguir testeándolos? Alternativas a tomar
30:36 | 🔍 Desde el punto de vista a la hora de testear, ¿cuál es el mejor sitio para realizar la inyección del dispatcher?
33:18 | ⚠ Con la virtudes de Compose para testing, ¿la clásica pirámide de tests debe cambiar? ¿Qué opina Sergio?
35:21 | 🚀 ¿Cómo le explicarías a alguien con experiencia que no hace tests, la importancia de hacerlos? Argumentos
39:12 | ✅ ¿En qué se diferencia un Mock de un Fake?
39:45 | 👉🏼 ¿Qué es un Mock?
41:02 | 🤯 ¿Ha usado Sergio alguna vez Contract Testing con PACT?
42:28 | 🎧 Gabi nos cuenta su experiencia con PACT
44:21 | 😮 ¿Cuántos tests unitarios debería tener nuestra app?
45:56 | ⌛ ¿Cómo podríamos optimizar nuestro CI a la hora de correr los tests unitarios?
48:49 | 🚩 A medida que los tests crecen, las utilidades de dentro de los tests también. ¿En qué circunstancias podría ser una red flag mantener código para tests? Recomendaciones para mantener esa base de código y que no se haga insostenible
56:25 | 📊 ¿Son tests los análisis estáticos de código?
58:39 | ¡Muchísimas gracias Sergio! 😊
59:43 | 🤖 ¿Usa Sergio ChatGPT para testing?
01:02:20 | Despedida y cierre
Transcripción
¡Muy buenas! Soy Gabi Moreno y te doy la bienvenida al episodio número 162 de Los androides.
El podcast en el que te contamos conceptos, tips, aprendizajes y todo aquello que te va a hacer desatar tu potencial como Android Developer.
UNIT TESTING y hoy tenemos una charla técnica correspondiente al tercer topic de este año, que es, ni más ni menos, que eso mismo.
UNIT TESTING y Sergio Sastre nos responde a un montón de preguntas, nos resuelve, nos da un montón de información.
Te recomiendo encarecidamente que escuches este episodio de principio a fin, todos, pero este más aún, porque es que nos habla sobre temas como ¿Qué es el UNIT TESTING? ¿Merece la pena hacer TDD en Android? ¿Qué son los sociable tests? ¿La anotación esta de VisualForTesting? ¿Qué piensa él sobre ello? ¿Cuándo usar un fake? ¿Cuándo usar un mock? Si se puede verificar una llamada a un fake y, por supuesto, en qué se diferencia un mock de un fake.
Y, bueno, también nos resolverá la duda de si él usa ChatGPT para testing.
Ahí se abre un debate muy interesante, ya lo verás.
Por cierto, antes de comenzar, comentarte que el domingo 2 de junio a las 2 de la tarde el precio de Los androides Premium sube de 18 a 24 euros y no creo que tarde mucho en subir a 32, así que ahí lo dejo.
Pero ahora sí vamos con la charla técnica, así que comenzamos.
Muy buenas y bienvenidos a Los androides.
Hoy tenemos una charla técnica con Sergio Sastre correspondiente al tercer topic de este 2024, que es ni más ni menos que UNIT TESTING.
Sergio Sastre es programador Android, es consultor…