Flaky Tests

flaky test android

Episodio 73 – Flaky Tests en Android

En este episodio, te voy a hablar sobre qué es un flaky test en Android. Qué son y qué es lo que tenemos que hacer para lidiar con ellos.

Básicamente un test que es Flaky, es que falla de vez en cuando. ¡Y eso no mola! 😅

Y no porque seamos más o menos puristas. Sino porque nuestos tests pueden llegar a no ser confiables, tenemos que repetirlos si fallan, y por ende, gastamos más dinero en nuestro CI.

Dentro del audio, te hablo sobre el episodio 57, que iba sobre los Contract Tests. Si no lo has escuchado aún, igual es interesante que le pegues una oída.

Y con respecto a los tests de dudosa confianza 🤨, te doy tips. Básicamente estos:

Te he creado un repositorio en Github, para que tengas a mano el código y puedas probar todo esto.

Pero lo mejor, antes de nada, es que le des al play y escuches el episodio, que te lo explico de tú a tú. 😉

Flaky Tests

Transcripción

¡Muy buenas! Soy Gabi Moreno y te doy la bienvenida al episodio número 73 de Productividad
en el Desarrollo Android, el podcast donde hablamos sobre qué deberías hacer para ser
una desarrolladora o desarrolladora Android más eficaz y eficiente.
Te contamos técnicas, hábitos, herramientas, conceptos, tips y todo aquello que te va a
hacer crecer sí o sí, porque hay algo que todas y todos tenemos en común y es que el
día dura 24 horas, como inviertas o gastes este tiempo, es cosa tuya.
Los Flakitest son un quebradero de cabeza. Y un saludo a los que escucháis el podcast
desde los States, España, Francia, México, Venezuela, Argentina, Bolivia, Alemania, Ecuador,
Canadá, Bélgica, Cuba, UK, República Checa, Rusia, Armenia y Finlandia. Si estás en otro
país te agradecería un montón que me envíes un e-mail a holaarrobagabymoreno.soy diciendo
a mi tu país y desde qué plataforma escuchas el podcast.
Y antes de comenzar a comer el tema de hoy, como desarrolladoras y desarrolladores Android
hay etapas dentro de nuestra carrera profesional en las que es muy probable que tengamos alguna
carencia técnica que nos gustaría solventar y que por falta de tiempo, porque la empresa
en la que estamos actualmente no se utiliza o por el motivo que sea, nos está resistiendo.
Si llevas programando en Android a nivel profesional, menos de 5 años y no eres un
crack en Testing, Inyección de Dependencias, Clean Architecture, principios SOLID…

Y este episodio del podcast sobre UI Testing en Android, a lo mejor también te interesa.

Publicado: 2021-11-08 Actualizado: 2023-11-26
Comentarios
2
Jimmy Sáenz
2021-11-10 17:26

Gracias por los tips Gabi!
Otro posible dolor de cabeza es el manejo de permisos.
Como trabajo normalmente con Barista me ahorro tiempo con PermissionGranter.allowPermissionsIfNeeded(), aunque admito que por pereza lo invoco en «@Before», pero podrían haber casos en que brindar o rechazar el permiso es parte del test perse. Qué opinas?
Slds!

Gabi
2021-11-10 19:31

¡Es muy buena pregunta, Jimmy! 🙂
Y la respuesta para mí, no es de un sí o un no. Pero me inclino más a delegar toda la lógica en los tests unitarios y dejar a los tests de UI únicamente los happy paths. Por lo que tu approach, me parece superbien.
A lo mejor, lo que sí podrías hacer en lugar de usarlo en cada @Before, es crearte una regla que haga lo propio. Pero eso ya dependerá del caso. Igual no aplica para ese proyecto en cuestión.
¡Gracias por un comentario tan interesante! 🤗

Lo siento, los comentarios están closed.