Automatizando los tests
de tu web en la vida real
 
 
sergio.arroyo@sonatalocal.com
@delr3ves
http://serch.emaginalabs.com
(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:
1. Tener código más mantenible
2. Hacernos la vida más fácil
3. 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 
@delr3ves
http://serch.emaginalabs.com
MUCHAS GRACIAS
Estamos contratando!!!!
http://jobs.taptapnetworks.com/
@TAPTAP_Networks

Sergio Arroyo | Tap Tap Networks | I am a Developer