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.

jueves, 31 de enero de 2013

Convertirse en un tester de Clase Mundial



Este post es una traducción de un gran post hecho por Ilari Henrik Aegerter en un blog de Ebay
Es tan bueno y útil que me pareció que debía intentar traducirlo para que los testers de habla hispana también puedan leer esta interesante linea de pensamiento, que está creciendo día a día en el mundo, espero que a Ilari no le importe.

Un Tester es alguien que sabe que las cosas pueden ser diferentes.

Esa es la descripción de Jerry Weinberg de un tester de clase mundial, que nos recuerda que el Testing se trata sobre el pensamiento crítico y la imaginación. Se trata de no creer en nada en su sentido literal, pero manteniendo una mentalidad investigativa.

Testing es cuestionar a un producto con el fin de evaluarlo.

Esta definición de la actividad de Testing de software, de James Bach, incluye uno de los aspectos más importantes del Testing: descubrir información y entregarla. Software Testing trata de revelar lo desconocido.

Si la calidad significa valor para alguna persona que le importa (como Weinberg ha definido), entonces el Testing está al servicio de descubrir cualquier cosa que amenace este valor. Para proporcionar este servicio, un tester tiene que ser capaz de hacer una variedad de cosas, tales como hacer buenas preguntas, comentando sobre los requisitos, e interactuar con un producto de tal manera que produzca información que sea útil.

Mi definición de un tester de clase mundial es una persona que es capaz de descubrir rápidamente información muy relevante sobre el producto, alguien que hace el máximo uso de cualquier recurso que está disponible para él o ella, y que cuenta con el respeto de las personas involucradas en un proyecto. Es una persona en quien se puede confiar.

Por lo tanto, teniendo en cuenta estas definiciones, ¿qué habilidades y mentalidad debería invertir en convertirse en un tester de clase mundial? ¿En qué áreas necesitas ser bueno para evitar ser desacreditado como un "monkey-tester"?

Competencias Técnicas

En los niveles superiores del gerenciamiento, las pruebas de software son a menudo vistas como sólo una disciplina técnica. Creen que su eficacia como tester depende de su capacidad de escribir código que haga las pruebas por voz. Sin embargo, hay muchos aspectos de las pruebas de software que simplemente no son automatizables. Los seres humanos son increíblemente hábiles en pensar y adaptarse a la nueva información que se presenta en función del contexto, y dado que el software es un sistema de cambio constante de funciones y estados, a veces es más eficiente hacer un proceso explorativo. La automatización es todo lo contrario a eso, ya que se trata de scripts.

Sin embargo, la automatización puede liberar tiempo a los testers para hacer más exploración, que permite el descubrimiento. Cualquier cosa que sea altamente repetitiva o aburrida o que tenga que ejecutarse una y otra vez, es un buen candidato para la automatización. La automatización es muy valiosa en estas áreas.

El desarrollo de un automatización poderosa y fácil de mantener es difícil. Estoy convencido de que un desarrollador de software mediocre no es capaz de cumplir con los requisitos para ese trabajo. Si usted quiere hacer la automatización de pruebas útiles, es mejor que sea un programador excelente, además de tener otras habilidades de Testing.

Aquí hay algunas otras habilidades y modos de pensar que creo que le ayudarán:

Curiosidad de Investigación

Si usted piensa que el Testing es un mal necesario - algo para salir del camino hasta que pueda hacer algo realmente bueno - usted está en peligro de perderse problemas importantes. Testers de clase mundial están constantemente explorando las capacidades y limitaciones de sus productos, manteniendo un sano escepticismo sobre la capacidad de esos productos.

Si quiere darse un título de fantasía, piense en si mismo como un "empirista compulsivo", guiado por impulsos irresistibles para encontrar la verdad sobre lo que está pasando. Tester de primera clase significa seguir el impulso de llegar al fondo de las cosas, no darse por vencido hasta que haya experimentado suficiente valor para usted. Cuando ves a un tester rehuir de supuestos no verificados, eso es una buena señal de que toman su trabajo en serio.

Habilidades de observación

Si desea observar algo, usted tiene que notarlo primero. La observación es la capacidad de darse cuenta de detalles importantes o significativos. Al probar un producto tiene que ser capaz de observar situaciones que no son habituales.

¿Quién sería un buen maestro en el dominio de la observación? Vaya a dar un paseo con un niño de cinco años de edad, y vea qué atrapa su atención: una pequeña grieta en el pavimento, una hermosa flor en un jardín, un caracol haciendo lentamente su camino en una pared. Los niños son observadores naturales; están interesados en todo lo que sucede a su alrededor. Sus canales están abiertos y observan con alegría.

Condicionese a sí mismo para mantener sus canales abiertos. Emule el comportamiento de un niño. Entrénese en la conciencia general. Mire más de cerca. Baje la velocidad. Observe.

Habilidades de comunicación

Usted se encontrará con circunstancias en las que uno tiene que defender sus hallazgos. Usted tendrá que convencer a la gente a tomar acción, así que es mejor que sepa cómo explicar por qué sus resultados son relevantes.

Los Testers de clase mundial realmente practican describiendo sus pruebas. Ellos saben que sus explicaciones deben ir mucho más allá de "Sí, lo he probado, confía en mí." Si usted puede describir su prueba, su credibilidad como alguien que sabe lo que está haciendo crece. Una forma de mejorar es utilizar el modelo de estrategias de pruebas heurísticas cuando usted explica lo que está haciendo. O, mejor aún, a usted se le ocurrirán sus propios modelos.

Al contar su historia, recuerde que la comunicación es una calle de dos vías. Los Testers de clase mundial hacen un seguimiento a las respuestas que reciben de sus preguntas y están alertas a la nueva información que aparece en una conversación.

Habilidades de escritura y defensa de bugs

Las comunicaciones más ricas ocurren cuando usted es capaz de hablar con alguien cara a cara. Usted observa las expresiones faciales, puede reaccionar a los indicadores de confusión y los malentendidos pueden aclararse de inmediato. Esto no sucede con la escritura. El canal es más estrecho y más propenso a malentendidos. Las aclaraciones necesitan más tiempo y esfuerzo.

La defensa del Bug a menudo va de la mano con la escritura. Su capacidad para describir el problema con precisión y de manera comprensible influye en la probabilidad de que los errores correctos sean corregidos. No todos los errores reportados deben ser arreglados, pero si aquellos que mejor no se hubieran escapado a causa de una mala redacción.

Un informe de bugs es un documento convincente que necesita influir en las personas adecuadas para actuar. Libere sus informes de errores de información irrelevante y no los atraiga como un titular sensacionalista que le grita en el lector.

Es posible que desee mantener un registro de sus informes de bugs pasados. ¿Cuáles produjeron confusión? Podría haberlos escrito de otra manera? ¿Un cambio de redacción podría traducirse en una mejor comprensión?

Conocimiento del Dominio

Como tester, usted no sólo compara las especificaciones con la implementación. Hay muchas otras referencias, como las expectativas del usuario, la coherencia con otros productos similares, o la historia de su producto, que puede utilizar para identificar problemas. Conocimiento del dominio es también una de las referencias que usted puede desarrollar. Hable con sus clientes. Tenga una charla con los chicos de marketing. Pase un día con Atención al Cliente. Cuanto más conoce lo que es importante para su negocio, mejor será su juicio.

La voluntad de aprender

Usted es un trabajador del conocimiento. El conocimiento no es estático, especialmente no en el dominio técnico. El aprendizaje constante es esencial para llegar a ser mejor en lo que hace. Una situación en la que los seres humanos interactúan con el software es una situación donde el software está interactuando con los seres humanos. Es útil tratar de entender cómo ambos trabajan. Recomiendo explorar las ciencias sociales (psicología cognitiva, las teorías de interacción social, etc), así como incrementar su educación técnica.

En mi opinión, cada tester que quiere llegar a ser realmente bueno se beneficiará de la participación en los cursos excelentes de BBST (Black Box Software Testing) . Cada curso dura cuatro semanas, y usted pasará 15-25 horas cada semana con intensivos ejercicios prácticos. Puede encontrar más información sobre estos cursos en la página web de la Association for Software Testing.

Otro curso que recomiendo es RST (Rapid Software Testing), que se centra en el contexto, la exploración y pensamiento para encontrar mejores bugs. En la actualidad está impartido por James Bach, Michael Bolton y Paul Holland. Una búsqueda hábil en el buscador le llevará al lugar correcto.

Habilidades sociales

Testers que constantemente se quejan de su trabajo y lo horrible que todos los demás son, hace que mi sangre hierva. La Auto-victimización es venenosa. A veces sólo tienes que dejarlo ir. Si usted no puede hacer eso, se le percibe como un amargado. Si la gente va a tomar una cerveza la noche del viernes,usted no será invitado. Imagínese lo que eso influye en la voluntad de las personas en colaborar con usted.

Humor

El humor ayuda. Entre muchas otras cosas, ayuda a mantener la cordura. Como tester, usted a menudo vive en un ambiente estresante. Sonreír y reír reduce los efectos dañinos de las hormonas del estrés. Le ayuda a mantenerse enfocado en lo que quieres hacer: Testing.

Práctica

Y sobre todo, hay que practicar sus habilidades. Si no practica, no se puede llegar a los niveles más altos de capacidad. Mientras que usted practica, observese a sí mismo, encuentre áreas de mejora, y que todas sus acciones sean deliberadas y auto-reflexivas.

Conclusión

Pretender convertirse en un tester de clase mundial no significa llegar a un destino, sino más bien estar en un constante viaje hacia nuevos territorios. La exploración nunca termina, lo cual es estimulante, y hace que Testing sea tan gratificante.

Feliz Testing!

viernes, 25 de enero de 2013

El Tester Pobre: Como mejorar en la profesión cuando no tienes dinero


Si bien James Bach y muchos otros abogan por el auto aprendizaje y que las certificaciones y universidades no sirven de mucho, cuando uno quiere mejorar en su profesión suelen decirte que debes capacitarte, asistir a congresos y contactarte con otra gente, y eso puede costar mucho dinero si uno lo quiere hacer bien.
Pero si uno vive muy lejos de los centros desarrollados en donde todo pasa (es decir USA y Europa) y además vive en un país pobre (Australia y Nueva Zelanda también están lejos, pero viven bien y hablan inglés), no le queda otra que arreglarse con lo que tiene a mano para mejorar y progresar en esta profesión.
Creo que debe pasar en muchas otras profesiones, pero ser Tester en Argentina y con pocos recursos monetarios es muy difícil si uno quiere asistir a Congresos, cursos, hacer certificaciones o networking con otros testers. Intentaré en estas lineas buscar formas de superar estos inconvenientes y lograr nuestros objetivos, sin gastar tanto.

Conferencias:

Ir a las conferencias de Let's Test o EuroStar en Europa, o StarCanada y CAST en Norteamérica hoy por hoy son imposibles, por los costos y porque la mayoría de las empresas en Argentina no pueden/no quieren afrontar los costos de mandar a una persona 4 días a una conferencia al otro lado del mundo que supuestamente no les reportará beneficios a corto plazo.
En Argentina casi no hay conferencias buenas sobre tecnología y no existen para QA/Testing.
Si no puedes ahorrar, o la coyuntura del país te complica realizar el viaje, hay que pensar en otras formas de "participar" en ellas a distancia.
Una forma es ir a sus páginas web y leer los artículos y ver videos de las conferencias anteriores, muchas de ellas brindan mucha información sobre lo expuesto en años previos y pueden ser muy útiles. Eurostar tiene una página con sus webinars, Let's Test tiene una página donde recapitula keynotes y sessions de la conferencia de 2012. CAST tiene su canal de youtube en donde podrán encontrar muchos videos sobre sesiones durante la conferencia.
La otra forma es seguir sus Hash Tags en Twitter como #CAST2013 o #esconf en donde los participantes, tanto los expositores como los asistentes, van contando lo mejor de las conferencias y publican enlaces interesantes en vivo mientras todo sucede.

 

Cursos/Seminarios: 

Uno quisiera ir las Islas Orcas y conocer en persona a James Bach y hacer su curso de Rapid Software Testing, pero para eso hay que tener mucha plata y tiempo para viajar hasta allí. Pero si no es tu caso, al menos puede hacerlo on-line a un costo menor o si ni siquiera puedes afrontarlo (400 dólares no es poco...) entonces al menos puedes leer mucha información en su página, en futuros post trataré de traducir alguna de sus publicaciones.
Si lo que quieres es hacer alguna certificación tipo ISTQB o un curso como el de la AST (ambas cosas son muy diferentes entre si, puedes averiguar mas leyendo este post de Leah Stockley) puedes hacerlo on-line a un costo menor (en euros/dólares of course) o si simplemente quieres estudiar la información que ellos proveen, hay muchos Blogs en donde suben esa información gratis (aunque algunos no muy actualizados o exactos).
Lo que se puede ofrecer en Argentina es muy vago y no es respaldado por ninguna comunidad de Tester, por lo que no puedo  recomendar algo.

Programación:

Si necesitas aprender un lenguaje de programación, ya sea por que quieres ampliar tus conocimientos técnicos, ya sea por querer aprender a automatizar usando scripts, o por alguna cuestión puntual en tu trabajo, no vayas a hacer un curso a alguna de esas consultoras, no valen la pena por costo/tiempo vs. beneficio, lo mejor es el auto aprendizaje, y hay muchas páginas webs muy buenas en donde te enseñan de todo: Codecademy tiene cursos gratuitos e interactivos de HTML, Javascript, Ruby, Jquery, Python,etc. Algunos cursos ya están disponibles en Español. La interfaz es bastante sencilla de usar y los cursos te permiten hacerlos a tu ritmo.
W3Schools es otra muy buena página para aprender lenguajes de programación en forma on-line y gratuita, aunque sólo en inglés.

Auto-Aprendizaje:

Aun no me pude hacer con el libro de James Bach que trata sobre las virtudes del auto-aprendizaje, "Secrets of a Bucaneer Scholar", pero creo que, por sus palabras en diferentes sitios, la habilidad de aprender cosas por uno mismo es cada vez mas importante, tanto en el mundo laboral como en lo personal.
Una de las cuestiones del auto-aprendizaje es leer...leer, leer y leer...y leer mucho y variado. Para eso se necesitan libros...comprar libros, por que los libros sobre Testing no se consiguen en las librerías fácilmente  y mucho menos en las Bibliotecas. Ademas, como todo, están carísimos y el Gobierno no subsidia los libros educativos (como sí lo hacen en la India).
Si tienes la suerte de poder ahorrar y comprar un Kindle, puedes al menos amortizarlo con la compra más barata de libros...o buscarlos y bajarlos (mi opción favorita por razones económicas) pero los libros sobre Testing son difíciles de conseguir "gratis", pero normalmente sus versiones ebook son más baratas y con el kindle se consiguen al toque.
Busca de leer cosas que vayan más allá del Testing, mucho material de otras Ciencias (Antropología, Epistemología, incluso Historia o Psicología) pueden servirte a tu trabajo diario, busca en los Blogs de otros testers, qué libros están leyendo y búscalos.
Otro tema importante son los idiomas, especialmente inglés. Aunque no trabajes en un proyecto con otras personas que hablen inglés, puede que a futuro si lo hagas, ademas que te ayuda a desarrollar mejor tus habilidades de networking. Una opción muy buena es hacer un curso o-line ne Livemocha, en donde puedes aprender muchos idiomas en forma interactiva.

Networking:


Dicen que esa es la principal experiencia que viven los que asisten a los Congresos, conocer otra gente y relacionarse con ellos, hablar sobre temas comunes, entablar amistades o relaciones de negocios/laborales...Networking!
Pero aquí en Argentina no hay nada de eso, entonces...como hacer networking a la distancia?
Las redes sociales obvio! Para cuestiones laborales y de negocios, principalmente uso Linkedin, pero para cuestiones de conocer gente de la comunidad de Testing y relacionarme con ellos o hablar de temas comunes, uso Twitter.
En linkedin hay muchos grupos de Testing QA en donde uno puede participar o leer posts de otra gente de la misma profesión, también conocer en que empresas trabajan y que hacen.
En Twitter puedes seguir Testers, simplemente buscándolos o puedes agregarte esta lista de Testers y afines, que creé para tener un TL mas limpio.
A veces hay información muy interesante y uno puede hacerle preguntas a @jamesmarcusbach o @michaelbolton o a cualquier otro consultor de renombre y seguramente te responderán.


Como verán, hay formas de relacionarse con el Mundo exterior sin tomarse un avión, obviamente a todos nos gustaría viajar, relacionarse con la Comunidad o hacer grandes cursos sobre Testing  pero mientras uno no puede, debe intentar al menos mantenerse capacitado y listo para cuando la oportunidad se dé.
Hay muchas otras maneras de hacer todo lo anteriormente expuesto, esas son las que se me ocurren ahora como más efectivas. Iré agregando cosas nuevas en al medida de lo posible.