viernes, 7 de febrero de 2014

La primera impresión NO es la que cuenta

Leyendo el post de Gustavo Terrera (@testingbaires) en su blog, se me ocurrió que podría reescribirlo para dar otro punto de vista.
Me gusta el intento de Gustavo por usar una situación que todos pasamos cuando nacemos y vamos creciendo y compararla con el trabajo del tester...pero no me gusta el enfoque, no me gusta lo que intenta enseñar, porque ese tipo de testing ya es obsoleto, debe evolucionar hacia algo nuevo, lamentablemente en Argentina seguimos usando prácticas que tienen más de 30 años.
Ahí va mi intento, espero que no te ofenda Gustavo ;)



Me es grato presentarles a Betore; Betore es un Tester de Software de 4 años de experiencia en la actualidad,es un Tester de software de una aplicación web en un prestigioso Cliente Internacional. Domina Inglés, algo de programación, es muy bueno analizando user stories y es hábil diseñando mapas mentales y tests de cobertura en su software favorito para esto (Hexawise).
Betore era de talla normal, nació por cesárea, en un ambiente tranquilo y sin stress, Betore no lloró, él sonrió…
Betore nació en un hogar cristiano, pero de mente abierta hacia otras culturas y filosofias, lo bañaban y esa obligación era un juego muy divertido, lo hacían dormir (esos ronquidos ya de niño parecía que supieras manejar metralleta) y de allí a jugar al fútbol los domingos por la tardecita, de vez en cuando iban a la iglesia, para cubrir las formas. Cuando le regalaron su primera computadora, lo primero que hizo fue romper el sistema operativo (SYNTAX ERROR!) Seguramente por eso Betore es un maniático de explorar sistemas y ver sus fallas, de conocer si el objeto de estudio sirve a sus propósitos o no (James Bach vive muchach@s!) y es un devoto del Software Testing.
Son muchos los momentos en que Betore exploraba al mundo con sus primeros pasos (exploratory testing- como odian los desarrolladores a esta clase de test…) Un día, aun cuando Betore gateaba, se encontraba en la sala de la casa, cuando vio la puerta abierta. Se fue gateando hacia ella para ver que había afuera (los papis lo sacaban mucho a pasear al muchacho pero siempre acompañado), se fue gateando rápidamente y se colgó de la manija de la puerta, cuando pudo sentir por primera vez solo la fuerza de sus piernas, se agarró de la puerta de manera muy hábil pero cayó y rodó por las gradas que daban al jardin, Betore se golpeó todo su cuerpo, Betore lloró, este Betore siempre curioso, muy curioso (característica de un buen Tester). Cuando mamá Moni escuchó el llorar de su amado hijito, fue pronta a socorrerlo, Betore con solo ver a su mamá sentía que ya estaba todo bien, así que sonrió en medio de las plantas que cuidaba su mamá (ella no lo sacaba por esta razón – por curiosear va a romper el jardín y se romperá él).
Betore había ganado un chichón, y un par de moretones en la pierna y brazo izquierdo, pero lo mas importante ganó una experiencia nueva, su primer paso por si solo, y sentir el dolor en medio del Mundo exterior que hay fuera de la seguridad de la casa. Betore probó si su cuerpito era resistente a las caídas y si había algo mas allá de lo que la vista le permitía observar. Primera Sesión de Pruebas realizada, resultado: aprender de sus errores, aprender cosas nuevas, equivocarse! (Va a tener que pasar un buen tiempo para que sus sesiones de pruebas le permitan aprender sin dolor, recuerden muchach@s los errores enseñan más que los éxitos!). Betore aprendió con la puerta abierta, con la colgada de la manija y con la caída, con el daño que se hizo y supo que lo que sintió por si solo con la fuerza de sus piernecitas le permitiría seguir explorando más adelante, había ganado una nueva herramienta para explorar!; con el horror de la cara de mamá al verlo aprendió que siempre habrá gente que nos cuestionará lo que hacemos, pero que los errores son las mejores lecciones en la vida.
Si Betore no fuera curioso y temiera una nueva reprimenda, nunca más hubiera salido a explorar el mundo.
Betore dentro de si, no sabía que un día viviría del Software Testing y que sería su mayor pasión, pero lo que si aprendió es que la primera impresión NO es la que cuenta!


miércoles, 4 de diciembre de 2013

Porqué el CyberMonday falló en Argentina:


 
Comprar Online en Argentina

 El lunes 2 de Diciembre se realizó el CyberMonday en Argentina, un dia en donde las tiendas online hacen ofertas especiales con supuestos grandes descuentos, al mejor estilo de Black Friday norteamericano. Se realiza en varios países y Argentina no fue la excepción, aunque es realizado mas por marketing que por ofrecer buenas ofertas a los clientes.
Pero como el año pasado, los sitios fallaron, si bien no todos, la mayoría se colapsaron y la experiencia se transformó en una tortura china para poder entrar y ver las ofertas, y en una misión imposible intentar comprar online.


Por qué falló? Bueno, Fabio en su blog tiene muy buenas explicaciones, algunas técnicas y desde el punto de vista de alguien que administra sitios, les recomiendo que las lean.
Pero me interesa verlo desde el punto de vista del Testing, porque esto habla muy claramente de cómo se maneja el Testing en nuestro País.


1) Atraso tecnológico y educativo: el testing sigue siendo una materia menor dentro de las carreras de ingeniería, pero especialmente en informática. Algunas universidades no tienen ni una sola materia al respecto, otras solo mencionan al Testing como una fase del desarrollo de sistemas y punto. Unas pocas tienen una materia que atrasa 40 años...
En Argentina casi no se desarrollan conferencias de nada, y las pocas que hay son mas por marketing que por compartir y desarrollar conocimiento. Obviamente no hay conferencias sobre testing en donde los Testers podamos juntarnos y compartir experiencias, herramientas y conocimiento, la comunidad de testing está muy desperdigada y poco organizada.
Muchos siguen pensando en términos de testing de la epoca en donde trabajar con metodologías de CMMI y Waterfall era algo normal, no buscan actualizarse.


2) A las empresas no les importa el Testing:  la propia industria del software, en su mayoría, no desarrolla especialistas en testing como debiera, usualmente contratan a juniors sin experiencia en desarrollo, diseñadores gráficos o cualquiera que no parezca lo suficientemente bueno como para programar. Se busca pagar poco, capacitar menos y “zafar” antes los requerimientos de los clientes (internos o externos) sobre la calidad de los productos que se desarrollan.
Durante el CyberMonday, grandes tiendas de electrodomesticos y electronicos (si, grandes empresas, no son pymes o startups) vieron desbordados sus sitios por tráfico, en un país de 40 millones de personas en donde apenas el 20% de la población hace compras online (y no muy asiduamente si bien el número crece) y encima rediseñaron sus sitios para este dia especial, haciéndolo mal y feo. A simple vista se veía, si podías entrar claro, que había cosas mal diseñadas, mal programadas, fuera de lugar, dropdowns que tardaban una eternidad en cargar valores traídos de la base de datos, etc.
Básicamente, se cagaron en el testing y por lo tanto, se cagaron en la calidad de su sitio, para finalmente cagarse en el cliente. Se notó, y mucho, que hubo más inversión en Marketing que en IT, no es que no pudieron prever estos problemas, es que no les importó. El año pasado les había pasado algo similar, y las lecciones aprendidas las deben haber guardado en un cajón, y obviamente no contrataron Testers para mejorar y revisar la performance del sitio ante un día
como este, no contrataron testers para revisar el rediseño del sitio, no contrataron testers para revisar que el workflow del carrito de compras funcione correctamente.
Este es un mal endémico en todas las industrias, hay cientos de sitios con problemas, desde Clarín hasta el más pequeño de los negocios con web propia, pasando por los gobiernos federales y provinciales,  pocos tienen en cuenta la importancia del Testing, pocos se preocupan por la calidad de sus sitios y sistemas, pocos se preocupan por la gente que debe usarlos.




3) Las leyes no amparan a los usuarios: Nadie hará nada contra estos sitios por el problema que le causó a los usuarios, hasta hace unos años a las empresas telefónicas no les hacían nada cuando sus sistemas de telecomunicaciones se caían, por suerte ahora eso está cambiando, pero...quien ampara al consumidor que no pudo comprar durante el CyberMonday? habrá sanciones a estas empresas por presentar sistemas defectuosos y fraudulentos?
Se habla mucho en todo el mundo si se puede legislar o no sobre la calidad de un producto de software, pero al menos los gobiernos deberían hacer algo al respecto en casos sonoros como este o el de Healtcare.gov en EEUU.


4) Los Testers no nos hacemos respetar: por último, nosotros debemos hacer un mea culpa, por no replantear nuestra profesión, por no profesionalizarse, porque aún somo “la poca cosa” dentro de un equipo de desarrollo, porque no nos capacitamos y actualizamos como es debido, porque no demostramos nuestra importancia durante el proceso de desarrollo, porque no informamos como es debido sobre el estado actual de la calidad del software a la gente que toma decisiones al respecto. Debemos tomar relevancia, no somos un escalón hacia un trabajo mejor dentro de IT, somos una pieza vital dentro del desarrollo del software, y podemos ayudar, y mucho, al éxito de un producto o empresa. No nos podemos hacer los tontos, es hora que nos pongamos los pantalones largos.

Encontrá el error..se la robé a Fabio.com.ar :)

lunes, 9 de septiembre de 2013

Un tester suelto en una Hackathon



El sábado 7 de Septiembre de 2013 participé como parte del grupo organizador de la Hackatrix 2013, la primera Hackathon organizada por Belatrix, empresa en donde trabajo.

Decidí participar por que quería conocer ese universo, el de programadores codificando una app en pocas horas, y sacar ideas para futuros eventos que estén más relacionados con el Testing.

La armamos con mucho esfuerzo y dedicación, no queríamos que fuera un simple evento de marketing o un evento de poca monta hecho en las oficinas de la empresa y con unas pizzas (hubo ejemplos en Mendoza en estos últimos meses, a mejorar chicos...ejem...)

Por suerte tuvimos algo de repercusión mediática, se lograron los objetivos internos que se planteó la empresa, pero sobre todo logramos que todos los participantes se comprometan con lo que estaban haciendo, no vinieron a comer o a pavear, si hasta muchos se perdieron el coffee break de las 11 por que estaban muy concentrados codeando!

Salió todo muy bien, y estamos súper felices y cansados, pero con ganas que este evento se vuelva anual y marque la agenda "tecnológica" de Mendoza.

Las cosas que rescato de la Hackatrix:

  • Comida! si, un evento con comida es mas agradable y llevadero. Nunca dejen ese punto descuidado.

  • Más allá que participen áreas que no tienen que ver con desarrollo, como Marketing y RRHH, es fundamental que el núcleo de la organización pase por gente que tiene experiencia con esta clase de eventos y desarrolladores, que entienden lo que les gustaría que pase durante el evento, y además tienen en cuenta cosas importantes como cableado eléctrico e internet, 2 puntos fundamentales para que sea un éxito un evento hoy en día.
  •  Relacionarse: si algo me faltó fue relacionarme más con la gente que participó en la hackathon, al ser tester y no tener un equipo al que ayudar directamente, no me involucré mucho con la gente, prometo romper ese hielo en la próxima, entre los equipos y los demás organizadores que sí eran programadores hubo buen feeling y feedback y se complementaron muy bien aunque no se conocían.
  • Nacionalizar: Aunque tu evento sea local, no dejes de pensar a lo grande, hay que invitar gente de otros lugares a que venga y participe. Desde Córdoba vinieron cuatro chicos de la UTN Villa María, y la pasaron muy bien. Su proyecto fue el que mas integrantes tuvo, ya que se sumaron 4 mendocinos al mismo.
  • Prensa: hoy en día se puede hacer mucho ruido con las redes sociales, pero los periodistas ayudan mucho a contar lo que pasó y eso puede ayudar a que los proyectos que se generaron puedan tener difusión post evento, uno nunca sabe el vuelo que puede tener un proyecto más allá de la hackathon.
  •  Hacerlo con ganas: ninguno de los organizadores cobró por hacerlo, fue simplemente ganas de hacer algo bueno que ayude a desarrollar tecnología en Mendoza y mostrar de lo que somos capaces. Interactuar, "salir de la cueva" en la que estamos cada uno para ver que se puede hacer y aprender juntos, esa era la idea y creo que la logramos
  • Seguir haciendo y participando: hay que generar más hackathones y eventos de este tipo, no sólo para desarrollo sino también para Testing, DBA, diseño y todo lo relacionado con tecnología. Que no quede nada en "un evento por única vez", ojalá que la Hackatrix se vuelva un evento anual y que cada año participe más gente.
Les dejo para el final un Storify que hice con lo sucedido en la Hackatrix2013:


viernes, 16 de agosto de 2013

Primera Hackathon Social en Mendoza - Hackatrix



Siempre he dicho que es bueno participar y generar participación en esta industria que es la del software. El software se genera a partir de ideas y necesidades de la comunidad, a veces con fines de lucro, a veces para ayudar a los demás.
En Mendoza, la empresa en donde trabajo, Belatrix, organiza la primera Hackathon con fines sociales de la provincia, y tal vez del país, en donde mucha gente se juntará durante un día a pensar y desarrollar ideas que puedan ayudar a nuestra comunidad.

Será el sábado 7 de Septiembre de 2013, en el Le Parc. Pueden anotarse o dejar su idea en la web del evento.


Pronto publicarán los premios y todas las novedades que se vayan generando. Allí también encontrarán mucha data para prepararse previamente y estar lsitos para ese día.

Ojalá entre todos podamos hacer una hackathon divertida y que genere muchas cosas constructivas para todos, los esperamos!

Estos amargos no vienen...

miércoles, 15 de mayo de 2013

Charla de James Bach en TestBash 2.0

Me encantó esta charla (en inglés) posteada en TestBash 2.0 de James Bach, a él también le gustó,obvio:

lunes, 4 de febrero de 2013

El Tester Arquero

Genios.
Arquero: En el fútbol, el guardameta (también llamado metacancerberoarqueroportero, o golero) es la posición que representa la última línea de defensa entre el ataque del oponente y la propia portería. Es una de las posiciones más difíciles de jugar, debido a su gran complejidad y responsabilidad. La función principal del jugador en esta posición es la de defender directamente la portería y evitar que el contrario marque gol. 1
"Y que queres? Si es Arquero!"  Diego Maradona

En el fútbol, yo soy arquero. Desde chico. También he jugado como delantero, me encanta hacer goles, pero tal vez por mandato paterno, porque no soy tan bueno en otros aspectos que debe tener un goleador, porque nadie quería hacer ese trabajo ingrato de ser arquero en el equipo, me decidí por atajar, volar de palo a palo, tocar con la punta de los dedos la pelota y que se vaya besando el poste, mientras mis compañeros dejan de respirar por un segundo. Muy poético...pero nos odian, nos menosprecian durante 89 de los 90 minutos de un partido y cada gol en contra es una sentencia de muerte para el arquero, culpable de todos los males, poco saludado y apreciado en las alegrías.

El trabajo del arquero es ingrato.

En el trabajo, yo soy Tester. Desde hace poco más de un año. También he sido analista, me gusta analizar los problemas y ver que solución se le pueden dar, cual es la mejor manera de encarar una solución. Pero por razones de la vida, mudarme  a una nueva ciudad, no aburrirme escribiendo innumerables documentos, hacer algo novedoso, porque nadie quiere ser Tester, me decidí por hacer este trabajo, encontrar defectos que nadie encuentra antes de que el producto llegue a producción, ver como ese defecto se arregla, y los desarrolladores suspiran cuando un nuevo release sale a producción y nos felicitan, aunque ellos son felicitados por su gran trabajo, y a los testers nos felicitan con una palmadita por hacer lo que debíamos hacer.

El trabajo del Tester es ingrato.

Dicen que el Tester es el "gatekeeper" de la calidad de un producto. Muchos estamos en contra, como James Bach en su blog, o Joel Montvelisky en el suyo.

Yo propongo que nos comparen con el "goalkeeper", el arquero.
Nosotros no frenamos un release, intentamos que nos hagan la menor cantidad de goles en contra (bugs en producción) de manera que los mayores aciertos de nuestro equipo nos permitan ganar (salir a producción). Los goles son culpa de todo el equipo (atacantes, centros, defensas y el arquero), los bugs son culpa de todo el equipo (desarrolladores, diseñadores, analistas y testers).
El arquero tiene una visión diferente del juego, lo ve todo desde atrás, por lo que puede ver facetas del juego que otros (incluido el técnico) no pueden ver. Por eso es muy importante que tenga buenas habilidades de comunicación, para poder ordenar la defensa y el juego de contraataque. El Tester también tiene una visión diferente del desarrollo de un producto, tiene que ver las cosas desde otro contexto (incluso de sus Managers). Y sus habilidades de comunicación son imprescindibles, para poder hacer las preguntas correctas, a los actores correctos, en el momento justo, para solucionar problemas o bien evitarlos a futuro.
Los mejores arqueros tienen habilidades que normalmente no se le piden, como jugar bien con los pies, transformándose en el ultimo defensor del equipo, o patear penales, que en ciertos momentos de un partido pueden ser importantes para el equipo. Los mejores testers también requieren habilidades que normalmente se cree que no tienen, como el conocimiento de lenguajes de desarrollo, o la aplicación de herramientas para mejorar el trabajo.

Los mejores equipos de fútbol, quieren y miman a sus arqueros de clase mundial, porque saben que los van a necesitar cuando más necesarios son. Debemos lograr lo mismo en los equipos de desarrollo, debemos convertirnos en los "Goalkeepers" del desarrollo de software.

domingo, 3 de febrero de 2013

El Tester Bilingüe - The Bilingual Tester

Chiste malo - Bad joke
Una de las habilidades más importante que debe tener un Tester de software hoy en día, es saber un segundo idioma, con una mayor preponderancia por el Inglés.
En la actualidad, en la mayor parte de Latinoamerica, los ingenieros y analistas de sistemas trabajan en su mayoría para empresas de Outsourcing. Yo soy uno de tantos.
Mis primeras experiencias laborales en IT no involucraron el idioma inglés, ya sea por que fueran clientes de la actividad pública, o empresas que trabajan 100% con el mercado interno, o por que sus principales clientes eran mexicanos. Mi trabajo actual sí implica como condición el inglés, idioma que estudié en forma intermitente desde los 6 años, pero que nunca pude practicar como hubiera deseado. Por suerte pasé las pruebas y estoy en mi trabajo actual, que permitió empezar a conocer el mundo del Testing y que gracias a eso, hoy estoy escribiendo esto.
Pero el segundo idioma, además de la ventaja que le permite a uno comunicarse mejor con los clientes, permite una ventaja adicional: el poder entender lo que quiere el cliente en sus historias o requerimientos. Y esto es algo muy importante para un Tester, porque su trabajo comienza apenas hay un nuevo requerimiento (sea cual fuera la forma en la que recibimos este requerimiento) y si no entendemos lo que quieren, podemos llegar a reportar información sobre nuestro Testing, que no será valiosa para el cliente.
Saber inglés también permite comunicarse con la comunidad de Testers del Mundo. En otros posts anteriores he informado cómo conectarse vía Twitter con estas personas, que todos los días comparten sus ideas, blogs, enlaces e información relacionada a las tareas diarias de los Testers alrededor del mundo.
Para comunicarse con suecos, fineses, rumanos, ingleses, canadienses o norteamericanos, necesitamos una lengua común, y el inglés, aun con sus imperfecciones, domina sobre otros idiomas, aunque no sea el mas hablado (El mandarín y el español tienen mas personas que lo hablan en el mundo que el inglés, ver acá).
Así que he decidido continuar puliendo mis habilidades con el inglés, haciendo un doble trabajo: escribiendo mis posts en español y luego traducirlos al inglés. Obviamente cuando haga un post traduciendo un artículo escrito en inglés, no lo volveré a poner en su idioma original. Pero creo que vale la pena que mis artículos también lo puedan leer gente de más allá de Hispanoamerica.


One of the most important skills you must have as a software tester today, is to know a second language, with a greater emphasis with English.
At present, in most of Latin America, engineers and systems analysts work mostly in Outsourcing companies. I am one of many.
My first work experiences in IT did not involve the English language, whether they were customers in the public activity, or companies that work 100% with the domestic market, or that their main customers were Mexicans. My current job does imply as a condition English, which I studied intermittently since age of 6, but that I could never practice as I have wished. Luckily I passed the tests and I am in my current job, which allowed getting to know the world of Testing and thanks to that, I'm writing this today.
But the second language, in addition to the advantage that allows you to communicate better with customers, allows an additional advantage: being able to understand what the customer wants in their stories or requirements. And this is something very important for a Tester, because their work begins when there is a new requirement (whatever the form in which we receive this requirement) and if we do not understand what they want, we can report about our Testing,something that could not be valuable to the customer.
Knowing English can also allows you communicate with the World Testers community. In previous posts I have reported how to connect with these people via Twitter, that every day they share their ideas, blogs, links and information related to the daily tasks of the Testers worldwide.
To communicate with Swedish, Finnish, Romanian, English, Canadian or American, we need a common language, and English, even with its imperfections, dominates over other languages​​, though is not the most spoken (Mandarin and Spanish are most widely spoken in the world than English, see here).
So I've decided to continue polishing my English skills, doing double duty: writing my posts in Spanish and then translated into English. Obviously when I make a post translating an article written in English, I will not put back in their original language. But I think it's worth that my articles can also be read beyond people of Latin America.

You will see my posts in English, here.