Automatizando los tests de tu web en la vida real

(mi)

Quizás me recuerden de otras charlas como...







Software Engineer @
¿Qué vamos a hacer?
Construir un proyecto muy sencillo de tests con cucumber + selenium... ¡¡¡Desde 0!!!
...
Iterar sobre la aplicación construida para:
- Tener código más mantenible
- Hacernos la vida más fácil
- Grabar en video la nuestros tests

WAT!!!!
¿En media hora?
Bueno, y también podemos hablar durante las cañas ;)

¿Un poquito de teoría?

WTH!!
Give me some code, Bit**!

Lecciones Aprendidas

Sabemos qué es cucumber
Como relacionamos la especificación con la implementación
Las posibilidades que nos brinda
Como encaja con los tests de 4 fases:
-
Before + Given = preparar (setup)
-
When = ejercitar el SUT
-
Then = verificar el comportamiento
-
After = limpiar (tear down)

Sabemos que es Selenium
Hemos aprendido a usar el IDE (niños, no hagáis esto en casa)

Carencias

Toda la lógica en los Steps

No es fácil hacer datasets dinámicos
No es cómodo usar datasets grandes

Difícil mantener el estado de los tests

¡El reporting podría ser más molón!

¿Como lo mejoramos?
- Extraemos la lógica de tests a servicios
- Guardamos el estado en un storage clave-valor
- Creamos "Object Builders" para los datasets
- Añadimos hooks para GRABAR la ejecución en video (gracias a nuestros amigos de tuenti)

Para acabar, ten en cuenta que...

Diseña el código pensando en cómo probarlo

No te vuelvas loco con las verificaciones

Ten en cuenta para qué escribes cada test

No automatices un test de integración si puedes evitarlo

¿Preguntas?
Mandad vuestro feedback por favor!!
https://slides.com/delr3ves/smashtech2015/
sergio.arroyo@sonatalocal.com

MUCHAS GRACIAS

smashtech2015
By Sergio Arroyo
smashtech2015
Slides used during Smashtech presentation
- 718