Si quieres mejorar… Utiliza el WC (además así ayudas al Testing)

Mientras que en muchas oficinas “Fashion” no te dejan ni pegar un posit en la mesa sin tener que pedir permiso a dos o tres personas y rellenar unos cuantos formularios, hay otras organizaciones, que saben que los espacios físicos están para apoyar a los equipos, disfrutarlos, ganar en productividad, en las que se incentiva hasta para ensuciar los baños.
Uno de estos casos fue Google. Por si no conocías esta historia, hace unos años no sólo pensaron que decorar las paredes con mensajes es más beneficioso que dejarlas como las dejó el decorador (que ya sabemos que los decoradores no saben crear equipos de trabajo potentes), sino que a alguien se le ocurrió usar también las paredes de los baños.
En 2007, desde el grupo de Testing de Google (me refiero al equipo interno, el de la propia empresa, no a un foro de uso global sobre alguna plataforma Google) compartían la siguiente iniciativa, que te he resumido y traducido yo (translated by jgarzas):

Queremos que escribas más pruebas. Sí, tú. Las pruebas son la red de seguridad que te protege cuando se necesita refactorizar código o cuando otro desarrollador agrega características. Incluso sabes que las pruebas pueden ayudar con el diseño.

Pero, a pesar de que has leído los libros y escuchado conferencias, tal vez necesitas un poco más de inspiración, consejos. Y es necesario que sea en un lugar donde cuando lo veas, no lo puedas ignorar.

Ahí es donde nosotros podemos ayudar. Somos el «Grupo de Pruebas de Google» un pequeño grupo de voluntarios apasionados de Testing.

Y queremos lanzar «Testing en el baño»: uno de los pequeños secretos de Google que nos ha ayudado a inspirar a nuestros desarrolladores escribir código bien Testeado. Escribimos carteles de todo, desde la inyección de dependencias a la cobertura de código, y con regularidad los pegamos cada uno de los baños de todo Google, casi 500 en todo el mundo.

Hemos recibido muchos comentarios al respecto. Algunos favorables ( «Esto es muy bueno porque siempre me olvido de llevar mi copia de Linux Nerd 2000 para al baño!») Y otros no ( «Estoy tratando de usar el baño, ¿por favor, sólo déjame en paz?»).

Cada uno de los carteles que se mencionan anteriormente, además de pegarse en los baños, se iba subiendo al blog de Testing de Google, bajo la iniciativa “Testing on The Toilet”. De hecho, hasta hubo un premio final para los mejores de ellos, debajo te dejo el preciado trofeo que se entregó.

En su día fui bajando esos carteles, que ocupan una sola página, pensados para decorar ese bonito lugar por el que todo el mundo pasa, pero que, además de eso, son muy buenos resúmenes de patrones y buenas prácticas de Testing.
Aparte de compartir contigo la historia, reflexionar sobre el uso de los espacios, también te voy a dejar aquella lista que en su día hice, apuntando a cada uno de los carteles del “Testing in The Toilet”, por si te animas a leerlos… y a usarlos para la decoración (mánda fotos). Ahí van los 30:

  1. Naming Unit Test Responsaibility
  2. JavaScript: Simulating Time in jsUnit Test
  3. Stubs Speed up your Unit Test
  4. Refactoring Test in the Red
  5. Extracting Methods to Simplify Testing
  6. Extracting Helper Classes
  7. The Stroop Effect
  8. To Many Test
  9. Understanding your Coverage Data
  10. TestNG in the Toilet
  11. Time is Random
  12. Avoiding Flaky Test
  13. Partial Mocks using Forwarding Objects
  14. Literate Testing with Matchers
  15. Testing State vs Testing Interactios
  16. Don’t overuse mocks
  17. Fake your way to Better Test
  18. Know your Test Doubles
  19. Test behaviour, not implementaion
  20. What makes a good test
  21. Test behaviours not methods
  22. Effective Testing
  23. Risk-Driven Testing
  24. Don’t put logic in test
  25. Web Testing Made Easier: Debug IDs
  26. Writing Descriptive Test Names
  27. Truth: a fluent assertion framework
  28. Prefer Testing Public APIs Over Implementation-Detail Classes
  29. Change-Detector Tests Considered Harmful
  30. Better Stubbing in Phyton

jgarzas

Ph.D. en informática, Postdoctorado en la Carnegie Mellon (EE.UU) e Ingeniero en Informática.

Primera vez que me tocó hacer una gestión Ágil en una empresa... año 2001. Desde entonces he trabajado en, o para, más de 90. Y he formado a más de 2000 alumnos.

También soy profe de la Universidad Rey Juan Carlos.

2 comentarios en “Si quieres mejorar… Utiliza el WC (además así ayudas al Testing)”

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *