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.








jueves, 20 de diciembre de 2012

Como hacer Testing cuando no tienes Test Cases



¿Alguna vez han entrado en un nuevo proyecto y no tiene documentación, ni siquiera Test Cases? O han encontrado que la documentación es deficiente o no se ha actualizado durante un tiempo ... si su respuesta es sí, quiero presentarles  algunas herramientas que podrían ser útiles para el entendimiento y testeo de una aplicación, y que les pueden llevar a crear los casos de prueba (en caso de que su jefe/cliente desee tener casos de prueba) y su base de conocimientos.

Primer paso: Mapas Mentales
Los Mapas Mentales pueden ser una herramienta poderosa, tanto para una tormenta de ideas como para resumir una charla en una conferencia o un backlog review. Pero también se puede utilizar para crear un plan de pruebas. Pueden utilizar un mapa mental para ayudarlos a decidir sobre cómo podrían asignar sus recursos, cuando se trata de una situación incierta.
Al enfrentarnos con una nueva funcionalidad en la aplicación, se puede ejecutar una sesión de análisis, con el objetivo de identificar lo que hay que analizar. Las sesiones de análisis puede ayudarnos a decidir en donde están los potenciales riesgos, lo que queremos cubrir, o cómo queremos cubrirlo. Estas sesiones se pueden traducir en un mapa mental para tener una perspectiva visual de la situación.
Los mapas mentales son la herramienta perfecta para desarrollar y ejecutar las pruebas, evolucionando sus ideas, mientras realiza el testing. Nuestros resultados se pueden expresar en unos mapas mentales como un punto de inicio para agregar nuevas ideas y cobertura.

Test Planning MindMap
Test Planning Mind Map by http://www.ministryoftesting.com

Hay un montón de herramientas que podrían ser utilizadas para crear mapas mentales, he aquí algunas:

LucidChart: un software on-line de diagramas, tiene múltiples tipos de diagramas, incluyendo mapas mentales.
XMind: la herramienta más utilizada para realizar mapas mentales.
SimpleMind: visualmente, los mapas se ven mucho mejor con esta herramienta, por haber sido creado para iOS, aunque tiene su versión de escritorio, sólo tiene una prueba de 30 días.

Pequeña UI,Gran herramienta
Segundo Paso: Qtrace
Incluso si estás haciendo pruebas exploratorias o Scripting Testing, tienes que escribir un informe de bugs si has encontrado defectos.
Qtrace es una herramienta potente y fácil de usar, que te permite grabar tu sesión de pruebas con varias snapshots y capturar cada paso que haces en esas imágenes, añadir tus propias notas y generar un informe para exportar en varios formatos (Word, PDF, etc ) o que puede ser integrado con múltiples trackers como Quality Center, Jira o Version One.
Estos informes podrían ser utilizados como casos de prueba, ya que tienen pasos para reproducir, el ambiente de testing, especificaciones e imágenes que podrían ayudar a los Testers a seguir el caso de prueba y a los desarrolladores a solucionar el defecto.
Puedes bajarlo aquí.



Tercer Paso: Hexawise
Cuando necesitas comenzar a planificar tu pruebas de cobertura o de regresión, puedes encontrarte con múltiples posibilidades, que generan miles de casos de prueba que puede hacer que sea imposible cubrir todo.
Hexawise es una herramienta web, que maximiza la cobertura de la pruebas con un número mínimo de casos de prueba, ya que te permite crear un plan de pruebas mejor sin omitir cualquier combinación de las funcionalidades y configuraciones.
Sólo tienes que crear tus inputs, y Hexawise va a generar los casos de prueba y analizar su cobertura en pocos segundos.
Fácil de usar, con un poco de práctica, puedes crear fácilmente tus planes de prueba y exportarlo a un archivo de Excel o exportarlo a una herramienta de test management o a herramientas de automatización de pruebas como Quality Center, QTP, selenium, etc
Lo puedes descargar aquí:

Cuarto Paso: Wikis
¿Y dónde podríamos guardar toda esta información para que la puedan usar otros Testers?
Como Leah Stockley dice en su blog:
 "Un método eficaz consiste en capturar la información esencial del proyecto (el conocimiento del dominio, aspectos técnicos, consideraciones de prueba, etc) en un wiki. Parte del tiempo ahorrado por no escribir scripts, puede ser invertido en la actualización de la wiki, la captura de los puntos más importantes en un documento conciso que se puede leer y está disponible para cualquier persona en el proyecto que puedan estar interesados, no sólo el equipo de pruebas.
Cuando un tester nuevo comienza, deben comenzar por leer la wiki ... pero para hacerlo más interactivo, les pedimos que revisen la exactitud y que sean responsables de hacer cambios y mejoras en la base de conocimientos. " (Traducción libre hecha por mí)

En "tiempos ágiles", tener un conjunto de potentes herramientas y personas capaces de adaptarse a cualquier situación, puede hacer la diferencia en el desarrollo de software.

Quiero agradecer la inspiración de este post a:
Michael Bolton, específicamente a este post, pero pueden leer todo su blog que es más que interesante.
A este post de Mauri Edo, que habla de mapas mentales.
Y a Leah Stockley que hizo un gran post en su blog y ojalá muchas empresas en Latinoamerica pudieran leerla y empezar a cambiar el modelo de testing actual en la región.