lunes, 2 de junio de 2014

Dumb ways to Die...haciendo Testing




Es hora que retome este blog y me ponga a escribir, hoy fui inspirado por un compañero que compartió algo interesante con el grupo de QAs de la empresa en donde trabajo. Era un tema técnico, esperaré a que lo postee en su blog y lo compartiré.
Era algo más técnico de lo que me gusta escribir a mi, pero me ayudo a pensar en que debo tomar las riendas de este blog y volver a escribir, de lo que me salga de adentro, de lo que sienta sobre esta profesión.
Hoy quiero hablar de situaciones negativas, de momentos en que los Testers de sistemas nos sentimos "morir", en donde queremos abandonar la profesión. Muchas veces nos causamos a nosotros mismos estas situaciones evitables, que nos hacen sufrir pero que, si aprendemos a sortearlas, podremos disfrutar un poco mas y ver que esta profesión que nos gusta, vale la pena.
El titulo de este post esta inspirado en una campaña del metro Australiano para evitar muertes en las vías y estaciones de trenes, que podrían evitarse fácilmente: Maneras tontas de morir...testeando en nuestro caso.

Molestar a un Oso...o a un desarrollador:

Si, no son dioses, son seres humanos que se equivocan y mas veces de lo que ellos creen. Pero tampoco debemos estar con un palito pellizcando los cada vez que les encontramos un bug, porque nos comerán vivos, harán que el clima laboral se espese y nos entreguen cosas de mala gana o poca calidad. Debemos convertirnos en sus aliados (pero sin amiguismos, ya veremos por qué) en las personas que los ayudaremos a hacer mejor su trabajo y que se vean bien ante los jefes. De esta manera nos ayudaran a hacer mejor nuestro trabajo, a darnos una mano cuando la necesitemos.
Caso contrario, trabajar en un ambiente hostil (recuerden que los Testers/QAs somos pocos en cada equipo) puede volverse una pesadilla de la que no podamos salir, y tal vez le echemos la culpa a trabajar de Testers de software y no queramos hacerlo mas.

Ser comido por pirañas...o tus amigos los desarrolladores:

Llevarse bien con los Devs esta bien, ser amigos fuera del trabajo...genial. Ahora, a la hora de trabajar, el amiguismo puede ser contraproducente. A veces sucede que un desarrollador, especialmente uno que nos cae bien, nos puede pedir "un favor" a la hora de reportar un bug y que no lo hagamos. Otras veces, la propia simpatía y confianza que le tenemos, nos lleva a testear mas "displicentemente". En ambos casos, estos actos de buena fe nos pueden explotar en la cara, por que no estamos haciendo nuestro trabajo correctamente. No somos policías de la calidad ni debemos ser malos tipos con nuestros compañeros (recuerden el oso...) pero a la hora de testear, no hay amigos, no hay amiguismo ni nada, a cara de perro contra la pantalla y a hacer nuestro mejor esfuerzo. Esos amigos, si lo son realmente, apreciaran nuestro feedback y trataran de solucionar el problema rápidamente.
El amiguismo nos puede llevar a hacer mal el trabajo, a que nuestros jefes nos reprendan y a que terminemos odiando el trabajo. Hay que saber separar la paja del trigo.


Hacer testing solo por la plata...o venderte a cualquier precio:

Hay gente que hace cualquier cosa por la plata, inclusive ver al testing como un escalón mas para llegar a otra puesto que nos de mas plata, claro. Es común que a los QAs nos paguen menos, son cosas inexplicables, generalmente por lo mal que ha llevado la industria del software la importancia que tiene el Testing en el ciclo de desarrollo de software. Pero los buenos testers del mundo son muy buenos en lo que hacen y ganan muy bien, como lo hacen? Bueno, se capacitan, desarrollan su profesión, la llevan a nuevos horizontes, resuelven los problemas mejor y mas rápidamente que el resto...y se hacen valer. No solo económicamente, si no moralmente.
Otro problema de los testers, que los lleva a la inanición profesional, es que venden sus ideales, sus creencias del cómo debe desarrollarse su profesión, por unos pesos mas. Algunos lo hacen aceptando procesos y "buenas prácticas" obsoletas de hace años, otros patrocinando en sus empresas la compra de herramientas caras y obtusas, pero de renombre y con respaldo, con las cuales juegan "sobre seguro" (hp, ejem...) A la larga, esos testers se sienten miserables, así como los testers poco cualificados que buscan escalar, pero al no poder hacer bien su trabajo, solo terminan muriendo en la ignominia.

El tester suicida: 

No somos los gatekeepers, los guardianes del producto y su calidad. Somos los responsables de generar información para que los que toman las decisiones, puedan tomarlas sabiendo el estado actual del producto. Somos los responsables de ayudar a todo el equipo a trabajar en la calidad del producto, del primero al ultimo miembro, del primero al ultimo proceso, pero tampoco somos la policía del equipo, ese no es nuestro trabajo. En ambos casos, lo único que lograremos es inmolarnos en nombre de la calidad, haciendo cosas de poco valor. Y cuando todos nos apunten como los culpables, nos querremos morir y dejar el Testing para siempre.

Quemarse la cabeza...por hacer mal el trabajo

El desarrollo de software es una actividad creativa, una actividad pensante, y el testing lo es aún mas. Usamos todos nuestros sentidos, exprimimos nuestro cerebro al máximo para que no se nos escape ningún bug. El cerebro, según cuenta el Dr. Daniel Kahneman en su libro Pensar rápido, pensar despacio, dice que tenemos 2 sistemas, en donde (a grande rasgos) el sistema1 se encarga de las tareas rutinarias y el sistema2 de las tareas de control y de calculo. Si el tester usa su sistema1 únicamente, se le escapará la mayoría de los bugs. Los testers suelen usar este sistema demasiadas veces cuando hacen scripting testing. Un tester de clase mundial, trata de usar su sistema2 mas tiempo, que le permite chequear y verificar cosas que al sistema1 se le escapan. Esto tiene una consecuencia, el sistema2 usa y gasta mas energía que el sistema1, y nos agotamos mas rápidamente. Es por esto que los testers deben realizar sus tareas en sesiones cortas y tomarse descansos entre una sesión y otra, para poder encarar mejor el trabajo. De esta manera uno evitará que bugs obvios se nos escapen, al mismo tiempo que evitamos quemarnos la cabeza y morir de síndrome de Burnout.


Seguramente puedo escribir sobre muchas otras formas de "morir" testeando, pero el post sería muy largo. Si alguien quiere comentar y agregar nuevas formas, será bienvenido.

Finalmente les dejo abajo el video original de Dumb ways to Die, espero que les guste (es muy adictiva la canción)