Automatizando los tests de tu web en la vida real

@delr3ves 

http://serch.emaginalabs.com 

sergio.arroyo@sonatalocal.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!!

 

@delr3ves 

https://slides.com/delr3ves/smashtech2015/

http://serch.emaginalabs.com 

sergio.arroyo@sonatalocal.com 

MUCHAS GRACIAS

Made with Slides.com