De testers y code reviews

Hola, me llamo Mauri y yo también he ignorado las revisiones de código con la excusa de que son “terreno de los desarrolladores”.

¡Pero ya no! Desde que trabajo en Atlassian que me he dado cuenta que, para que la calidad escale con el desarrollo, hay que invertir esfuerzos en la prevención por delante del control o la mitigación, y un buen lugar para prevenir son las revisiones de código, que acostumbran a ocurrir antes de cualquier testing hands-on.

STASH13_PRactivity

Y no quiero oir a nadie diciendo cosas del estilo “pero yo no soy desarrollador” o “es que no sé leer código”, porque no hace falta ser un developercon213añosdeexperiencia para mirarse una revisión de código. Además, leer código es más fácil de lo que aparenta, y las revisiones de código son un buen lugar por donde empezar, ya que los cambios estan asociados a una funcionalidad o bugfix, de tal manera que el código se puede vincular fácilmente a su objetivo.

Listado de 5 cosas al azar que te interesan, como tester, de las revisión de código:

  1. Mayor conocimiento de los sistemas y aplicaciones: como tester más funcional, seguro que ya te conoces todos los recovecos de la interfaz de usuario, ¿por qué no ampliar ese conocimiento con nociones del funcionamiento de la cara interna de las aplicaciones?
  2. Inspiración para futuras fases de pruebas: dependencias inesperadas, secciones complejas, condicionales gigantes, dudas sin resolver expresadas en los comentarios… Este tipo de cosas son pistas invaluables para exprimir las aplicaciones durante la fase de pruebas. Este conocimiento, bien usado y con práctica, hace que el testing sea como jugar al Trivial Pursuit consultando la Wikipedia.
  3. Mejores tests automáticos: el input de un tester en las pruebas automatizadas que vengan con el código (tests unitários, de integración o de lo que sea) puede ser muy útil para que las nuevas funcionalidades nazcan con una cobertura exhaustiva e útil, más allá de los happy paths.
  4. Se cazan bugs también! Que sí, que sí, que se puede! Y no solo bugs, también comentarios confusos, errores de formato, secciones poco claras, tests unitarios que no testean nada… Las revisiones de código son el momento idóneo para corregir este tipo de problemas.
  5. Respeto: también puedes ganarte (más) el respeto de los desarrolladores con tu participación e interés en las revisiones de código, gracias a tus consejos y aportaciones en las mismas. Sabrás que estás por el buen camino cuando tu input sea solicitado en ellas o (todavía mejor) cuando algún desarrollador te pida consejo sobre qué casos de prueba automatizar ¡en la fase de codificación!

Estas son las mías, pero hay muchas más razones por las que, como tester, puede ser interesante participar en las revisiones de código. ¿Cuáles son las tuyas? ¡Cuéntamelo en los comentarios!

Anuncios

Mi primer EuroSTAR

Después del refrescante QA&TEST Bilbao 2013 llegaron palabras mayores. A raiz de mi colaboración periódica en el blog de la conferencia internacional de software testing EuroSTAR, la organización de la misma me invitó a asistir al evento (realizado entre el 4 y el 7 de Noviembre en Gotemburgo, Suecia) a cambio de escribir algunos posts sobre lo que estaba pasando en ella (por ejemplo este o este otro).

Para el que no lo sepa, EuroSTAR está entre las 3 conferencias más importantes de testing en Europa, y puede ser la que tenga más historia (con 20 ediciones a su espalda). Este año han asistido más de 1000 personas al evento y ha consistido de un día y medio de tutoriales (11 en total, 5 de un día, 6 de medio día), 3 workshops y 47 charlas en 4 tracks con la crème de la crème del testing europeo y mundial debatiendo sobre el tema de este año: “Questioning testing”.

El nivel de las charlas ha sido bastante alto, pero lo que más me ha llamado la atención es que es un evento en el que constantemente pasan cosas, mucho más allá de las charlas. La conferencia facilita la generación espontánea de charlas informales, demostraciones, workshops improvisados y sesiones de testing colectivo proporcionando el espacio y el tiempo para ello. Hay incluso quién dice que este aspecto es lo mejor de todo el evento! También hay que decir que la comunidad internacional está muy acostumbrada a la vertiente social del testing, quien más quien menos asiste con regularidad a testing social meetups en sus países de orígen, y eso se nota en estas situaciones.

Chilling out at EuroSTAR 2014

Chilling out at EuroSTAR 2014

Mucha información tengo ahora que procesar, del más alto nivel y de las más variadas fuentes; pero más allá de la infoxicación que pueda sufrir ahora mismo, mantengo mi opinión sobre la asistencia a eventos de este tipo, son un subidón de adrenalina testeadora importante, además de permitirte estar en contacto con lo más avanzado de esta profesión que no se acaba nunca. 100% recomendable!

La edición del 2014 es en Dublín y el tema es “Diversity, innovation & leadership”. Nos vemos allí? 😉

Mi primera charla

El martes pasado ocurrió, ya puedo decir que he dado una charla como ponente en una conferencia de testing, y no me desmayé ni quedé en blanco ni nada, de hecho fue lo suficientemente bien como para querer repetir 🙂

Tal y como anuncié hace unos meses, el comité organizador del QA&TEST Bilbao 2013 había aceptado mi paper y desde entonces hasta el día de autos he estado creando la presentación propiamente y mentalizándome al respecto.

Los que me conocen saben que soy un control-freak, por lo que una cosa así me ha puesto bastante al límite de mi mismo, por suerte asistí a la edición del año pasado y quedé impresionado con el nivel y la cercanía, qué lugar mejor pues para hacer una primera charla sobre mis opiniones y experiencias?

Pero bueno, al grano con lo que quería contar en este post:

Por qué es importante dar charlas?

Para compartir tus opiniones y experiencias!

 

Por qué es importante dar charlas sobre testing?

Las charlas generan debate, la información fluye, los contenidos mejoran, la comunidad crece!

 

Y si no me gusta la idea o no tengo nada innovador que contar?

Pues no dés charlas, no todo tester es generador de contenidos y eso está bien, encuentra tu lugar, tu aporte a la profesión y explótalo!

 

Tengo una idea para una charla, qué hago?

Busca un lugar para darla! No tiene porqué ser una conferencia, un grupo de discusión o un meetup pueden ser buenos lugares también!

 

Voy a dar una charla, me das un consejo?

Sé tú mismo! Conserva tu nivel de formalidad, tu sentido del humor, tu grado de profesionalidad y tus ideas, son lo mejor que tienes!

 

Voy a dar una charla, me das otro consejo?

Ensaya mucho, es tu momento para dejar una buena impresión!

 

Hala pues, más o menos esto quería decir. Para terminar os dejo con la única foto que tengo del momento histórico. Nos vemos en futuras charlas? 😉

qatest2013_me

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 😉

Reportar defectos ES comunicarse!

The Testing Planet ha publicado un texto mío sobre el bug-reporting y como encajarlo dentro de nuestra estrategia de comunicación como testers para con el resto del mundo. Aquí lo tienes: http://www.ministryoftesting.com/2013/06/dude-pen/

Image

En el artículo, propongo un nuevo mnemotécnico para pulir nuestros reportes de defectos: DUDE, PEN!. Un buen defect report es (como mínimo y en inglés):

  • Direct
  • Unique
  • Documented
  • Entire
  • Prioritised
  • Easy to find
  • Neutral

Espero que te guste! Me dejas tu opinión en los comentarios? 😉

[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í.