Verano para autodidactas

Tras terminar el semestre universitario (por si alguien no lo sabe, estoy estudiando el Grado en Ingenieria Informática en la UOC) empieza el mejor periodo del año para los autodidactas: el Verano! Una estación donde solamente hay que trabajar (o ni eso, si tienes vacaciones) y se abre casi un trimestre para estudiar, investigar y aprender lo que uno quiera!

Personalmente, me gusta marcarme unos objetivos claros para no caer en la dispersión y agotar el tiempo sin haber hecho nada concreto. Tener unos objetivos y un plazo claros también te ayuda a ser consciente de tus progresos y del grado de esfuerzo necesario en cada momento. Así pues, mis objetivos en este verano para autodidactas 2013 son los siguientes:

Reflexionando mucho sobre este tema quiero realizar las siguientes tareas para mejorar mi profundidad técnica en lo que al testing se refiere:

Realizar el curso “Technical web testing 101” → Completed!

Fantástico curso para entender las diferencias entre testing técnico y testing de la superfície. Gratuito, breve pero intenso, on-line, con un profesor de nivel como Alan Richardson (The Evil Tester) y repleto de información, este curso (alojado en la plataforma de aprendizaje on-line Udemy) es ideal para principiantes y testers cero-técnicos con interés en barnizar su trabajo con una capa de mayor profundidad técnica a la hora de testear aplicaciones web. Es un curso de básicos con muchos punteros a información, recursos, herramientas, trucos y demás material para investigar por cuenta própia, con una filosofía muy del DIY, de conocer las herramientas que tienes a tu disposición (especialmente los navegadores y los proxies HTTP) y de encontrar la motivación dentro de uno mismo para investigar y preguntar hasta entender todo aquello que desconocemos, olvidándonos de la frontera entre lo que es técnico o no, lo que es testing y lo que no, en pro del conocimiento.

Os dejo el link del curso, en inglés (of course) → https://www.udemy.com/technical-web-testing-101/

Completar el track de jQuery en Codecademy → In progress

En mi dominio, tener nociones de HTML, CSS, JavaScript y jQuery es esencial, por ello me valgo de la fantástica plataforma  codecademy para alimentar esos conocimientos. En concreto ahora estoy en plena track de jQuery, el último que me falta, a terminar muy en breve, como puedes ver en mi perfil.

Adquirir nociones de Java → To start

Siempre he querido tener nociones de lenguajes de programación, y en mi trabajo disecciono diáriamente aplicaciones basadas en Java, así que ¿por qué no profundizar en este lenguaje? Para ello, cuento con este libro electrónico (también de Alan Richardson) llamado Java for testers, que parece un muy buen punto de partida para el nivel que quiero alcanzar (que no es el de ser un superdesarrollador, más bien el de entender los fundamentos para poder jugar con ellos).

Por otro lado, hace tiempo que quiero investigar sobre las posibles especializaciones dentro del testing (usabilidad, rendimiento, seguridad…) y aprovecharé este verano para…

Profundizar en el testing de seguridad → To start

Unas nociones superbásicas de este tema apasionante ya se tocan en el curso de “Technical web testing 101” del que ya os he hablado antes, y para profundizar más, tomaré este otro curso también en Udemy: Whitehat hacking and penetration testing, a ver cómo evoluciona!

Para terminar, y pensando en la charla que daré en la próxima edición de la conferencia QA&TEST 2013, quiero…

Mejorar mi inglés hablado! → In progress

Para ello, me he apuntado a un grupo de conversación en inglés que hay en mi barrio, un día cada dos semanas, para quitarle el óxido a esta habilidad cuya precisión depende totalmente del nivel de práctica que lleves encima.

Este es mi plan, y el tuyo? Qué te vas a auto-enseñar durante este verano? Cuéntamelo en los comentarios 😉

Anuncios

[Encuesta – Resultados] Demuestra tus asunciones!

[Encuesta – Resultados] Demuestra tus asunciones!

Siempre me ha preocupado la sobrevaloración de las capacidades técnicas en la carrera del tester, probablemente debido a mi falta de bagaje académico en este aspecto. He dejado constancia de mi opinión (que son importantes per se sobrevaloran a veces) en diversos sitios, por ejemplo aquí mismo y, recientemente, en una conversación en LinkedIn al respecto, por decir dos de ellas.

Cuando vi los resultados de la encuesta sobre el liderazgo en el número de Marzo del “The Testing Planet” me sentí aliviado: las habilidades técnicas / de programación son posicionadas en sexto lugar (de siete) como respuesta a la pregunta “¿Qué habilidades crees que se necesitan para ser un líder influyente y eficaz en el sector del software testing?”, y la comunicación es la primera. Estos son los resultados completos a la pregunta:

The Testing Planet - Leadership survey results

Después de ver esto, sentí la urgencia de escribir sobre ello, sobre cuán diferentes son las prioridades por aquí, donde las habilidades técnicas se valoran mucho más que las comunicativas, analíticas o estratégicas. Pero antes de hacerlo, decidí poner a prueba esta presunción, así que hice una encuesta yo mismo, con esta pregunta solamente, a la comunidad Hispana que me sigue, para probar mi teoría. Traduje la pregunta, la posteé y la distribuí a través de las redes sociales para obtener algunas respuestas.

He dicho antes que no tengo bagaje técnico, pero sí que tengo una licenciatura en Investigación de Mercados (escépticos: lo podéis ver en mi perfil en LinkedIn ;-)), entonces estoy al corriente de algunos de los sesgos derivados de comparar los resultados a ambas preguntas: las muestras no tienen el mismo tamaño ni los mismos rasgos demográficos, hay matices en la traducción al castellano que hacen que las preguntas o su interpretación no sean 100% equivalentes, puede haber duplicidad en las muestras… y, sobretodo, las encuestas no son una ciencia exacta, pero te pueden ayudar a entender una tendencia. Así pues, más allá de los números, estaba interesado en el ranking de las capacidades, y los resultados fueron… EXACTAMENTE LOS MISMOS!

Resultados de la encuesta sobre habilidades en este mismo blog

Las habilidades técnicas o de programación están posicionadas en sexto lugar de siete y las de comunicación e interpersonales en primer lugar. Estoy realmente sorprendido (y encantado) con estos resultados, ya que me han ayudado a consolidar dos átomos de aprendizaje:

  1. Demuestra tus asunciones, puesto que pueden estar completamente equivocadas

  2. Potencia tus habilidades comunicativas!

Así pues, qué has hecho hoy para ser un mejor comunicador en lo que al testing se refiere?

[Encuesta] Las habilidades de un “software testing leader”

Hagamos un ejercicio, responde a la siguiente pregunta…

Y, cuando haya reunido suficientes resultados para decir algo fundamentado al respecto, lo publicaré en este blog. Hay trato? 🙂

PS: sí, me encanta el misterio…

Update: ya he plasmado unas reflexiones sobre esta pequeña encuesta, puedes leerlas aquí.

Juego de tronos: los testers de la noche

Juego de tronos: los testers de la noche

Aparte de fanático del testing, y entre otras muchas cosas, soy un adicto a las series de TV, lo confieso; y series como Juego de Tronos, la serie de la HBO basada en la saga de libros “A song of ice and fire” de George R.R. Martin no hacen más que agrandar esta adicción, para bien :-).

En el universo de Juego de Tronos hay una orden militar que me apasiona, la guardia de la noche, y como más voy sabiendo de ella, más similitudes le encuentro a nuestra ocupación, nuestra orden militar-laboral, los testers (o también, los testers de la noche 😉 ).

Intentaré explicarme en 5 #facts, a ver si lo consigo:

#1 – Objetivo:

El objetivo de la guardia de la noche es claro, defender el muro, protegiendo los reinos de los hombres de lo que haya tras del mismo (especialmente de salvajes y caminantes blancos).

El objetivo de los testers es el mismo, defender las aplicaciones, protegiendo a los usuarios de bugs y de los efectos terribles que estos pueden causarles.

#2 – Compromiso:

El juramento de la guardia de la noche es el siguiente…

La noche se avecina, ahora empieza mi guardia. No terminará hasta el día de mi muerte. No tomaré esposa, no poseeré tierras, no engendraré hijos. No llevaré corona, no alcanzaré la gloria. Viviré y moriré en mi puesto. Soy la espada en la oscuridad. Soy el vigilante del Muro. Soy el fuego que arde contra el frío, la luz que trae el amanecer, el cuerno que despierta a los durmientes, el escudo que defiende los reinos de los hombres. Entrego mi vida y mi honor a la Guardia de la Noche, durante esta noche y todas las que estén por venir.

Un miembro de la guardia de la noche lo es para siempre y su único y máximo compromiso es con la orden y su objetivo, rechazando cualquier otro vinculo afectivo.

Para poder hacer bien su trabajo, un tester no debe casarse con nada ni con nadie, no debe desarrollar dependencias “afectivas” con herramientas, lenguajes, metodologías… que puedan nublar su juicio y alejarlo de su objetivo primordial (ver #fact anterior). Estos instrumentos deben usarse para satisfacer el objetivo de la orden, pero no como objetivo en si mismo.

A su vez, creo humildemente que, un tester lo es para siempre: una vez has puesto tus capacidades analíticas al servicio de la calidad, encontrarás bugs y errores de especificación hasta en la sopa.

#3 – Procedencia:

Los miembros de la guardia de la noche presentan dos origenes muy diferenciados:

  • Convicción: miembros voluntarios de la orden, que consideran la pertenencia orden como un honor y símbolo de la dedicación al deber.
  • Escapatoria: lamentablemente, la guardia de la noche también se presenta como alternativa a la muerte para criminales, exiliados y demás renegados.

Esto nos ha pasado a nosotros también, ha habido testers de vocación y testers “por eliminación”. Por suerte, entre todos, a medida que la profesión gana en complejidad y peso específico, crece el número de testers convencidos y se disipa la tendencia de considerar el testing como una profesión de bajo nivel, cajón de sastre para perfiles desubicados o sin formación.

#4 – Estructura:

Existen tres roles dentro de la guardia, con funciones muy claras…

  1. Exploradores: cuerpo militar dentro de la orden. Defensores, guerreros, entrenados en supervivencia y encargados de patrullar más allá del muro.
  2. Constructores: mantienen y reparan el muro, los castillos y demás propiedades de la orden.
  3. Mayordomos: responsables de funciones criticas como el abastecimiento, comercio, alimentación, utillaje, reparación de armas, cocina…

Más allá de las similitudes con sub-roles que pueda haber dentro de nuestra profesión (los exploradores serían los bughunters o testers funcionales, los constructores podrían ser automatizadores o los encargados de los frameworks de testing y los mayordomos aquellos que se encargan de funciones intermedias como documentación, servir de enlace con helpdesk, producción o business…), me interesa más la idea de fragmentación, de especialización del trabajo según las capacidades y voluntades de cada uno. Todo cuerpo organizado consta de dicha fragmentación y nosotros no somos ni seremos menos. Adicionalmente, la fragmentación y especialización va en la línea de la mayor complejidad de la profesión, algo que apuntan todos los expertos del sector a la hora de reflexionar sobre el futuro del rol, como por ejemplo, en la pasada edición de ExpoQA.

#5 – Anonimato:

En el episodio 6 de la segunda temporada se da una conversación entre Jon Snow (mi favorito) y Qhorin Mediamano sobre lo que implica pertenecer a la guardia de la noche. Este es el corte (alrededor del minuto 1:50, lo siento, sin subtitular) en el que el veterano Qhorin le suelta al novato Snow…

Entiende esto chico: tu muerte será un regalo para los del otro lado del muro. Nadie va a saber nunca qué has hecho, nunca se va a saber cómo has muerto ni tan solo cuál era tu maldito nombre, pero los ciudadanos del reino estarán vivos porque algun bastardo sin nombre al norte del muro entregó su vida por ellos.

Fantástico. Fantástica idea, muy motivadora. Los tropecientos millones de usuarios de las aplicaciones testeadas por testers han podido hacer sus cosas (sus compras, sus ventas, sus registros…) porque, entre otras cosas por supuesto, ha habido una legión de testers que han velado por ellos, para que puedan hacerlo sin problemas, sin fallos de seguridad, sin encontrarse con bugs ni páginas que no existen o enlaces rotos, con una usabilidad aceptable y muchas cosas más, y nunca van a ser conscientes de ello, porque…

…Somos cuervos velando en la oscuridad por la seguridad de los ciudadanos del reino.

Testers técnicos? Testers mejores!

Testers técnicos? Testers mejores!

Así a simple vista, parce que esta notícia (“Recruiters’ advice to testers – get technical!”) y este super-post de Toni Robres (“Tienen que saber programar los testers?”) van de lo mismo, de que ahora toca que los testers sean más técnicos y demás…

Pues no.

Para empezar, el primer artículo no debería llamarse Recruiters’ advice to testers… sino más bien Recruiters’ threat to testers… Porque todo el articulo en si mismo parece diseñado para meter el miedo en el cuerpo de los testers, algo así como…

Si no aprendes a programar, vendrá el hombre-agile-del-saco y te comerá.

Tomémonoslo con calma, que esto es serio. Si tuviera que resumir mi lectura del post de Toni en una frase sería algo así como un consejo, algo más como…

Tester, aprende a programar, que te puede ir bien.

Y humildemente me permito añadirle…

Tester de software, aprende cosas sobre software,
que te puede ir (muy) bien.

Cuidado que no es lo mismo que la amenaza de antes por parte de los recruiters. Se trata de hacer mejor nuestro trabajo. El saber no ocupa lugar, si aprendes cómo se hace el software, seguro que le puedes sacar partido a la hora de testearlo, y esto no tiene nada que ver con el advenimiento del agilismo, tiene que ver con si te interesa profundizar en lo que haces, para saber más y hacerlo mejor y con mayor eficiencia.

Sujeto A: pues yo no quiero saber más, ni hacer mejor mi trabajo.

Sujeto B: ok, pues yo no te quiero en mi equipo.

Más claro no lo puedo decir. Y además me ha salido un interludio teatral que vale para cualquier trabajo en equipo.

Aprender a programar puede venir bien, pero también tener nociones de HTML, bases de datos, aplicaciones web, algo de seguridad… Dependerá de a lo que se dedique la empresa en la que trabajas y/o hacia donde quieras dirigir tu carrera. Pero “get technical” así porque sí, porque lo dicen en el sector y si no prepárate, pues no, porque no es un requisito para TODOS los trabajos relacionados con el testing.

Y ojo, que yo no soy un “tester técnico” (sin saber muy bien qué es eso) pero sí que sé “cosas”, “cosas” que he ido aprendiendo a medida que las he ido necesitando o que las he descubierto y me han gustado, y ahora me facilitan la vida, y si me facilitan la vida, pues quiero saber más y quiero que me la faciliten más. Y en este deseo en forma de saco meto también las ganas y la necesidad de mejorar en la parte del negocio, que también ayuda a testear mejor: quiénes son tus usuarios, cómo usan las aplicaciones, cuál es el origen de los requerimientos…

Además, es que con esto hay que ir con cuidado, porque en España tenemos una obsesión por poner ofertas de trabajo que piden un montón de cosas porque es lo que toca, aunque luego no tenga nada que ver con lo que se tiene que hacer. Entonces, para terminar, lanzo una advertencia con mi tono más duro:

Recruiters del mundo, no vale incorporar por defecto a partir de ahora conocimientos técnicos en las ofertas de trabajo de y sobre testing, o me enfado.

Y yo cuando me enfado… Pues eso, que me enfado. 😐