¿Qué son los Full Stack QA y cómo encontrarlos?

Existe la percepción generalizada que el rol de QA es un perfil menos técnico, cuya habilidad principal son las prueba manuales. Con la adopción de metodologías ágiles, DevOps y CI/CD en el desarrollo de software, el enfoque reactivo del tester ya no es suficiente …

Así como un Full Stack Developer es un profesional con conocimientos de backend, frontend, bases de datos, CI/CD, etc. resulta en un perfil muy capaz para trabajar en cualquier capa de la aplicación, análogamente un Full Stack QA será igual de capaz de implementar estrategias de prueba en todas las capas de la aplicación para evaluar los distintos aspectos funcionales y no funcionales teniendo a la automatización como su principal herramienta.

Un Full Stack QA es un perfil con un amplio dominio de negocio, habilidad técnica, experiencia en ejecución de pruebas y una perspectiva orientada al usuario.

Es importante decir que dependiendo de la naturaleza del proyecto, las actividades del Full Stack QA serán diferentes, justamente contar con todas estas habilidades es lo que le permite a este rol involucrarse en cualquier proyecto con diferentes niveles de exigencia técnica, conocimiento de negocio, automatización de pruebas, etc.

Automation is the new normal

Photo by hitesh choudhary on Pexels.com

El aspecto más importante de un Full Stack QA es su habilidad técnica, el sentirse cómodo comprendiendo cómo funcionan las diferentes capas del software para poder automatizar tanto como sea posible.

Hace no mucho, la automatización de pruebas era vista como un “nice to have”; pero ahora es un “must” para escalar software de manera exponencial. Si aun no cuentas con habilidades de programación, no dudes en hacerlo. Como QA tienes una gran ventaja, el lenguaje de programación que elijas puede ser independiente del proyecto en el que participes; si bien te brinda muchas ventajas utilizar el mismo lenguaje de programación que los desarrolladores, la realidad es que deberías enfocarte más en seleccionar primero la herramienta de automatización de pruebas más adecuada y en segundo lugar, considerar el lenguaje de programación que utiliza.

La automatización no solo se limita a las pruebas, también es posible automatizar tareas repetitivas como:

  • Generación de datos de prueba
  • Reportes o resultados de pruebas
  • Notificaciones o alertas cuando las pruebas fallen

Para el rol de QA encargado de asegurar la calidad y de realizar actividades con una tendencia repetitiva como las pruebas de regresión o la generación de datos masivos de prueba, la automatización no es una opción; es la única respuesta.

¿Por qué es tan difícil encontrar a un Full Stack QA?

Es curioso observar que existe una diversidad en como, las personas que reclutan, nombran a las vacantes de QA. Esto no sucede tanto con otros roles en tecnología, ya que por lo general el rol y el lenguaje de programación son suficientes, por ejemplo Python Backend Developer, JS Full Stack Developer o simplemente Java Developer.

Algunos ejemplos:

  • QA Tester
  • Quality Engineer
  • Test Automation Engineer
  • Software Developer Engineer in Test
  • Performance Test Engineer
  • Software Test Engineer
  • Full Stack QA Engineer
  • Quality Assurance Analyst
  • Quality Assurance Tester
  • Quality Assurance Specialist

Y en la realidad cuando se analiza la descripción de la vacante, las actividades no difieren tanto. Si bien existen roles especializados en automatización, performance o pruebas de seguridad, la gran mayoría describen mas o menos las mismas actividades pero con diferente nombre. Esto puede deberse a que nuevas empresas en crecimiento, incorporan el rol de QA más tarde y no tienen clara la estrategia de calidad que van a seguir y en consecuencia tampoco las actividades que este rol puede desempeñar.

¿Cómo se visualiza el rol de QA en cinco años?

Cada vez los objetivos del rol serán mayores, la habilidad técnica del rol de QA permite una comunicación más estrecha con los desarrolladores fomentando una cultura de pruebas adoptada cada vez más en etapas tempranas; la automatización de pruebas dará más y mejores resultados para impulsar a tener empresas que genuinamente hagan continuous delivery.

Lo anterior, hará evolucionar el rol de QA, a volverse un facilitador de la calidad trabajando con uno o varios equipos asegurando que las mejores prácticas de pruebas son implementadas correctamente, haciendo que todos los involucrados en el desarrollo de software compartan auténticamente la responsabilidad de la calidad.

3 Comments

  1. Me siento en profundo desacuerdo con que QA sea un rol, ya que este es mas bien una COMPETENCIA que todo developer debiese tener. Un QA es un developer, no hay necesidad de diferenciarlo. Un developer profesional debe garantizar en si mismo el QA de su código, y debe tener un amplio conocimiento del negocio. Léase las series de Uncle Bob Martin de Clean Code

    Like

    1. Claro que debe ser un rol porque la especialización es algo sumamente importante, no es lo mismo un médico general que un médico neurológo, etc. El programador podrá ser capaz de probar lo que quiera, pero el sesgo de confirmación estará presente, he ahí el asunto.

      Like

Leave a Reply to Juan Reina Cancel reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s