jueves, 14 de enero de 2016

Primera Meetup de TestingAR



Bueno, hace mucho que no escribo, pero esto valia la pena.

Se viene la primera Meetup en Buenos Aires de Testing. Una nueva comunidad empieza y esperemos que de a poco crezca y tenga un alcance mayor.
La idea es dar 2 charlas sobre diferentes temas, compartir un rato y hablar sobre lo que nos interesa.
En un futuro trataremos de dar algun workshop y si podemos lograr que tenga una frequencia bimestral, sería genial. Pero eso depende de la participación de todos.

Pueden anotarse aqui
Compartan!

Apenas tenga mas informacion sobre las charlas, lo comentare en este post.

martes, 26 de mayo de 2015

Mi set de Herramientas de Testing 2015: Basta de screenshots, hola GIFs!




Cuando empecé a trabajar en Marzo en Mulesoft, me encontre con que me habian dado una MacBook Pro, mi primera Apple! Siempre fui un "chico PC" por razones obvias, este pais no esta hecho para Mackintoshs, iphones, ipads o MacBooks, no, somos un pais-PC.
Junto con la MacBook me encontre tambien con que muchas de las herramientas de escritorio que usaba para testear, no me servían porque eran para PC, como el Snag-it o el Qtrace (que ya no existe en su forma gratuita) asi que me tuve que armar un nuevo set de herramientas, pero no hay mucho para Mac propiamente dicho.
Por suerte mi jefe me recomendó mi primera herramienta para Mac: Lice-Cap


Con esta pequeña herramienta puedo armar  videos cortos en donde mostrar problemas que encuentro en formato GIF, por lo que el developer no tiene que hacer nada mas que abrir el GIF y verlo repetirse. Es útil para videos cortos, cosas mas largas se complica por que no se puede pausar.

Por suerte hay muchas herramientas online como add-ons de los browsers, algunas de las que mas uso son:

Awesome Screenshot: Aunque ya no lo uso tanto, de vez en cuando sigo utilizando este excelente add-on para sacar y comentar screenshots, se puede agregar tanto a Chrome como a Firefox

MindMup: La mejor herramienta para hacer mapas mentales, sencilla de usar, agradable a la vista, con muchas funcionalidades utiles, la estamos usando mucho en nuestro proceso de testing (Comentaré mas de esto en un futuro post) Puede compartirse mapas con Drive, Github o la herramienta propia

Postman: Me gusto siempre que fuera sencilla de usar, ahora que tengo que testear APIs mas seguido, me es fundamental. Tiene un add-on para chrome y una version de escritorio

BugMagnet: comente de esta herramienta hace poco, sigue evolucionando, aunque no está funcionando muy bien en Firefox, anda perfecto en Chrome. Herramienta fundamental para el testing exploratorio.

Seguiré buscando herramientas para Mac o nuevos add-ons, y los iré posteando aqui.

El Fin Del Mundo

jueves, 23 de abril de 2015

Gracias Belatrix, Hola Mulesoft!


 





Acá en Argentina no se acostumbra mucho esto. En EEUU si (obviamente si te fuiste bien del lugar en donde estuvistes) escribir sobre tu cambio laboral en tu blog es algo mas común en aquellos pagos.
Pero la verdad es que queria hacerlo porque estoy muy emocionado y contento con este gran paso que he dado.
He dejado buenos amigos y grandes compañeros de trabajo, con los cuales comparti mas de 3 años de alegrías, asados, trabajo duro y aprendizaje. Realmente Belatrix es una gran empresa para aprender y mejorar tu forma de trabajar. Es una empresa con gran crecimiento y que seguirá expandiendose por todo latinoamerica. Si quieren irse a vivir al interior no hay mejor lugar para elegir y empezar una nueva vida que Belatrix, les deseo lo mejor.

Y por que Mulesoft? Bueno, creo que era el momento de dar el paso y seguir creciendo en mi carrera como Software Tester, en una startup que crea un producto propio, no un producto que será vendido por otro. Quiero sentir la sensación de crear algo y que mi influencia sea importante en el resultado final.
Mulesoft es genial, te obliga a cambiar tu mentalidad, a autoexigirte porque tenes al lado gente muy capaz, ademas te sentis parte de lo que sucede en el crecimiento de la empresa y sus productos.
Otro gran motivo ha sido que Mulesoft esta apostando a mejorar la calidad de sus productos, que la calidad sea un agente diferenciador frente a la competencia. Por lo que hay mucho por hacer y crear y en donde podré aportar ideas nuevas para lograr un mejor proceso de testing utilizando las ultimas tendencias. Mucho por aprender y mucho por aportar, me encanta este nuevo rumbo.
A veces uno no puede elegir en donde trabajar, yo tengo la suerte de poder hacerlo en donde quería estar.  Uno no debe bajar los brazos e insistir, porque la primera vez que me postulé, no quedé. Pero no me desanimé y apenas surgió otra posibilidad, la aproveché.
Ojalá pueda contarles en futuros posts, que estamos creando en Mulesoft sobre testing.

Si quieren conocer más de Mulesoft o postularse pueden verlo aquí

viejos y nuevos amigos en mi escritorio





martes, 10 de febrero de 2015

The Testing Manifesto




Así como existe un Manifiesto Agile, está bueno que exista uno sobre el testing de hoy en día. Una propuesta es el que ven acá arriba. Son 5 cuestiones básicas que deben regir sobre como actuamos mientras hacemos testing y que resumen qué es, realmente, hacer Testing.

Probar durante antes que probar al final: Si estas en un proyecto bajo la metodologías ágiles y pruebas solamente cuando el desarrollo está completo, no estás siendo ágil y tampoco estas haciendo bien tu trabajo. Es mucho mejor ir testeando a medida que los desarrolladores van completando sus tareas, de manera de poder darles un feedback rápido y solucionar los problemas antes del final del sprint.

Prevenir los defectos antes que encontrar defectos: Generalmente nos contratan para encontrar defectos...pero ese no es nuestro trabajo principal. Lo que debemos lograr es prevenir que se creen esos defectos antes que lo encontremos. Como? ayudando a los desarrolladores a testear mejor sus desarrollos, a que entiendan los posibles caminos alternativos. Analizando los requerimientos, buscando fallas en los mismos o cosas asumidas y que no son claras.

Entendimiento del testing antes que chequear funcionalidad: Verificar que la funcionalidad nueva ¨funcione como se espera¨ no  es hacer testing, es solo hacer un checking manual, el cual podría automatizarse a futuro, pero no es hacer testing.
Testing es entender la funcionalidad, su contexto, quienes la pueden usar, como afectara a las viejas funcionalidades, que cosas le faltan, que cosas le sobran, y cualquier otra información necesaria que nos permitirá entender mejor qué estamos testeando y generar luego un reporte con la información obtenida a partir de nuestro trabajo, para que la gente que decide sobre la calidad del producto, pueda tomar decisiones.

Construir el mejor sistema antes que romper el sistema: aparte de encontrar defectos, los demás creen que lo que hacemos es romper el sistema, y nos ven como seres negativos y oscuros porque rompemos eso tan bonito que pensaron, diseñaron y construyeron. Pues les tengo noticias, los testers no rompen el sistema...ya estaba roto. Nuestro trabajo es ayudar a los que lo construyen a hacerlo lo mejor posible, con la mayor calidad posible, somos parte de ese proceso de construcción, no los agentes de destrucción!

Responsabilidad del equipo por la calidad antes que responsabilidad del tester: No somos los guardianes de la calidad, no somos los policías que van descubriendo los crímenes de los desarrolladores. Como testers, somos responsables de ayudar al equipo en su totalidad a comprometerse con la calidad del producto. El producto se realiza entre todos, y la calidad también. Debemos asegurarnos que el equipo desarrolle practicas que ayuden a mejorar la calidad, ya sea desde el análisis, el diseño, el desarrollo o el mismo testing. La calidad es responsabilidad de todos, si eso es entendido por todos, será mucho mas fácil mejorar.

Creen que falta algún punto? algo para mejorar? Seguramente que si, pero con estos principios básicos, la calidad del producto, y nuestro trabajo, será mucho mejor.

lunes, 19 de enero de 2015

Bug Magnet - Pequeña herramienta para facilitar la vida


Me encanta cuando los testers que se dan mañana para programar, hacen pequeñas joyas como esta. Hoy les presento Bug Magnet, un add-on originalmente para Chrome, creado por Gojko Adzic que facilita la vida haciendo un checklist con diferentes tipos de inputs a tan solo un  click derecho de distancia.
Podemos usar Lorems, diferentes tamaños de textos, tipos de nombres, emails validos/inválidos, números, espacios en blanco, SQL injection y un largo etcétera. Muy útil para no olvidarse ningún tipo de combinación rara.
Muy fácil de usar, me encanta cuando las ideas simples se vuelven herramientas imprescindibles.
Les dejo acá bajo donde bajarlo, espero que les sea útil

Chrome: http://gojko.github.io/bugmagnet/
Firefox:  https://addons.mozilla.org/en-us/firefox/addon/bugmagnet-firefox/?src=search


miércoles, 19 de noviembre de 2014

Como trabajar en el interior del país y no morir en el intento

Este post está dirigido a los "porteños", los cuales nos referimos al resto del país como "El Interior", y especialmente a los que sueñan con irse de la gran ciudad y vivir mas tranquilos en alguna provincia.
Por razones personales, debo volver a Buenos Aires, es por eso que antes quiero contar mi experiencia en Mendoza y mi búsqueda previa y primeros tiempos aquí.
la dura vida en el interior...
Todos vemos normalmente en las películas y series estadounidenses, que los protagonistas se van de una ciudad a otra, ya sea por trabajo o por estudio, pero generalmente cuando es por trabajo, lo hacen ya con el trabajo conseguido desde su lugar de origen. Tal vez no sea algo tan común o fácil de hacer, pero es mas normal que en Argentina.
En nuestro país, generalmente la gente "del interior" viene a la Mega ciudad de AMBA (Area Metroplitana de Buenos Aires...o sea Capital y Gran BsAs) a vivir y tratar de conseguir trabajo, muy pocos llegan ya con un trabajo. Lo mismo sucede con los locos que nos vamos a otra provincia, la mayoría primero llega y luego consigue el trabajo. Es muy dificil conseguir el trabajo estando lejos, la mayoría de las empresas tiene procesos arcaicos en donde en un punto u otro te quieren ver en vivo y en directo. Hoy por hoy hay 2 rubros en donde se puede conseguir trabajo antes de llegar: Turismo (mayormente trabajos temporales) o en Informática, como es mi caso.
Camino al trabajo
En 2011, cuando estaban terminando mi carrera, empecé mi búsqueda de oportunidades en las provincias Argentinas. Lamentablemente, como en casi todos los rubros, la mayoría de las empresa tecnológicas se encuentran en el AMBA y en menor medida en las grandes ciudades (Córdoba, Rosario, Mar del Plata, Tucuman y Mendoza), en los polos tecnológicos (San Luis, Paraná, Tandil, Posadas, entre otros) o en el único lugar en donde se hace tecnología de punta: Bariloche (Centrales Nucleares y Satélites tambien necesitan ingenieros en sistemas).

La mejor forma de empezar es tratando de saber primero a donde queremos ir a vivir (y tener más de una opción por las dudas) y luego armar una lista con todas las empresas que están en esa zona. A veces es dificil ir hasta el lugar y conocerlo en persona, aunque es lo ideal, hay que aprovechar unas vacaciones para ir y conocer.
Hoy en día ayuda mucho Linkedin y Google, buscando palabras claves como "relocalización", "relocarse","trasladarse", etc.
Luego hay que empezar a hacer networking en Linkedin con los de RRHH y empleados de las empresas de la zona que nos interesa. Los reclutadores por razones obvias, y los empleados por que a veces te pueden dar información a cerca de la empresa que trabajan ( es solo cuestión de pedirlo amablemente)
Una vez que tenemos la ciudad donde queremos vivir, las empresas disponibles, y los contactos, hay que empezar la búsqueda. Muchas veces las empresas no publican en los medios tradicionales que usamos, como los portales de trabajo o Linkedin mismo, por eso hay que mandarles nuestro curriculum igual, uno nunca sabe.

El asadito se hace con Leña!
Lo ideal es empezar por las empresas que hacen búsquedas activas y una vez que entremos en contacto ir tanteando cuales están dispuestas a contratar gente "de afuera". La mayoría quieren al candidato en el mismo lugar para poder entrevistarlo, hay que tratar que te acepten tener una primera entrevista via skype o similar. Luego hay que tratar de reducir el grupo de empresas a aquellas que esten dispuestas a ofrecer un plus por trasladarnos hasta allí a trabajar y vivir y negociar.
En mi caso particular tuve una sola propuesta en donde me ofrecían el alquiler temporal de un departamento y un plus por mudarme y fue en Belatrix, una de las principales empresas de servicios nearshore de latinoamerica. Todo el proceso lo hicimos via skype y me facilitaron todo lo necesario para ayudarme en la transición a mi nuevo trabajo y ciudad. Belatrix tiene oficinas en Chacras de Coria, con unos hermosos jardines y otras en plena Ciudad de Mendoza, mas parecidas a cualquiera de las que se pueden encontrar en BsAs.
Finalmente, una vez que conseguimos el trabajo, lo que hay que hacer es sacarse el miedo al cambio.
Tenes hijos? te lo van a agradecer, van a vivir mas tranquilos, conseguiles una casa con jardín (generalmente cuestan menos alquilar que en AMBA). Estas casado? habla mucho con tu pareja antes de empezar la búsqueda, pero mucho, y si pueden ir juntos a conocer la ciudad en donde quieren vivir, mejor. Vas a extrañar a tu familia? cuantas veces la ves al año? skype y 1 o 2 horas de avión hacen que las distancias sean cortas. Yo he visto a mi familia al menos una semana al año en estos 3 años.
Es fácil cambiar? y no, no lo es, pero si no probas nunca vas a saber que vale la pena. Hay que dejar de tenerle miedo al "interior" y ver las oportunidades que hay mas allá del Gran Buenos Aires.
Cada día hay más empresas dispuestas a contratar gente de Buenos Aires, por que, como en todos lados, la gente de sistemas escasea. Es cuestión de buscar y ser valiente.
Ojalá mi estadía en Buenos Aires sea lo mas corta posible y pueda volver a ver estos jardines.

Vista desde mi escritorio en Chacras de Coria
Nota aclaratoria: Aunque trabajo para Belatrix, este post lo hago por que quiero. No ha sido solicitado por nadie de la empresa y es mi opinión personal.

jueves, 6 de noviembre de 2014

Disipando Conceptos Erróneos - "Vamos a automatizar todo y deshacernos de todos nuestros Testers"

Hoy les traigo un post de Dan Ashby, un Analista de Testing de Londres.
Este es el 5to post de una serie, y como se trata de automatización y me estoy metiendo de lleno en estos temas, me pareció muy interesante traducirlo. Espero que les guste.



Oigo esto todo el tiempo. Incluso de gente de muy alto rango. El último de ellos fue de un gerente de desarrollo, preguntando por qué estamos "todavía necesitando tener testers probando el software, si estamos apuntando a  automatizar el 100% de todo"...

En primer lugar, la verdad es muy simple: sólo se puede automatizar lo que sabe y esperas.

Cuando pensamos acerca de los "órdenes de ignorancia", entonces se hace más claro de por qué no es posible automatizar todo. Para aquellos que no están familiarizados con las órdenes de la ignorancia, permítanme explicarlos...

Hay 5 órdenes de ignorancia:


  • El orden 0 de la ignorancia es la falta de ignorancia. Esto es esencialmente conocimiento. El conocimiento que se puede demostrar en una forma tangible. Por ejemplo, yo estoy bien informado sobre el hecho de que es imposible automatizar todo.
  • El primer orden de la ignorancia es la falta de conocimiento. Esto es cuando no sabes algo y sabes que no sabes eso. Un ejemplo de esto sería que no sé cómo utilizar la herramienta  OWASP Zed Attack Proxy tool, en todo su potencial. Soy consciente de que yo no sé mucho acerca de esta herramienta específica y puedo elegir entre aprender o continuar el uso de diferentes herramientas como Fiddler o Burp Suite.
  • El segundo orden de la ignorancia es la falta de conciencia. Esto es cuando no sabes que no sabes algo. Así que aquí es donde yo no soy más que un ignorante sobre algo, pero yo soy ignorante al hecho de que soy ignorante respecto a eso. Obviamente no se puede dar un buen ejemplo de esto, ya que eres ignorante de ello. :)
  • El tercer orden de la ignorancia es la falta de proceso del descubrimiento. Así que aquí es donde no estás enterado de ninguna forma de obtener el conocimiento que no sabes que no sabes algo. Esto significa que no se puede aprender sobre las cosas que no sabes, por que no sabes (es decir no puedes tomar conciencia de las cosas que son del segundo orden ignorancia para convertirlas en cosas del primer para la ignorancia).
  • El cuarto orden de la ignorancia es un poco descarado. Se trata básicamente de no estar al tanto de los 5 órdenes de la ignorancia. :)


Entonces, al relacionarse esto a la automatización... Puedes sólo automatizar realmente las cosas que están dentro de el orden 0 de ignorancia, donde se tiene el conocimiento y la expectativa de cómo debe funcionar la funcionalidad, por lo tanto, escribes una afirmación que comprueba la salida y devuelve un "pass" o "fail", en cuanto a si la salida cumple esa expectativa inicial.

Por otro lado, cualquier cosa que se ajuste dentro del resto de los órdenes de la ignorancia (en concreto el primer y segundo orden de la ignorancia), será imposible de automatizar, ya que no tienes conocimientos previos sobre cómo funcionará la funcionalidad o función. No tienes una expectativa o no eres consciente de ciertos escenarios o variables que rodean la funcionalidad con el fin de ser capaz de formar una expectativa que sea capaz de afirmar ese chequeo.

El Pensamiento Lateral y Testing Exploratorio ayudan en la transformación de los "desconocidos" en "conocidos", también ayudan en la transformación de los "desconocidos-desconocidos" en "incógnitas conocidas". Si bien no es posible hacerlo únicamente manteniendo conversaciones previas, las conversaciones ayudan. La mejor manera de aprender adecuadamente acerca de cómo funciona realmente un sistema, es de aprender del sistema a medida que investigamos. Por lo tanto estamos aprendiendo continuamente, diseñando nuestras pruebas (pensando nuevas preguntas para hacer al software) y haciendo nuestras pruebas a medida que aprendemos más.

Un segundo punto que me gustaría resaltar es que, incluso para las cosas de orden 0 (las cosas que usted sabe, ni pensar en las cosas que usted no sabe en este momento), es:  va a ser realmente de valor en la lucha para automatizar todo en lo que usted tiene una expectativa? Por ejemplo, ¿vale la pena la automatización de un escenario que sólo tenemos que ejecutar una vez?

Al pensar en lo que hay que automatizar, tenemos que pensar en VALOR... Yo soy un gran defensor de la automatización. Es muy valiosa en los entornos ágiles de hoy, con todo moviéndose mucho más rápido y fluido, con más agilidad. Nos da repetibilidad y feedback extremadamente rápido para nuestras tareas de comprobación, tales como pruebas de regresión o sanity/smoke testing. También es muy útil para ayudar a tus actividades de ensayo pensantes, usarlo para cosas como la creación de datos o la realización de acciones para llegar a lo profundo del flujo de trabajo a la parte del sistema que necesitas para poner a prueba... 
Sin embargo, tenemos que ser conscientes para qué la automatización es útil, y cuáles son las limitaciones, para que no caigamos en este concepto erróneo y cometer algunos errores graves.

Por lo tanto, la próxima vez que escuche a alguien decir "Vamos a automatizar todo", habla con ellos acerca de por qué eso en realidad no es posible y ayuda a hacer del mundo un mejor lugar :)

Dan Ashby