Insights

Noticias, novedades e información sobre el mundo Hard Tech

El nuevo perfil de QA

por: Inmetrics em

| 21.09.2018

Ante la creciente demanda por Calidad de Software, el Analista de Pruebas pasó a ser reconocido como pieza clave en el ciclo de desarrollo de software. En medio de estos cambios, es importante saber cómo este profesional debe prepararse para atender las necesidades del mercado.

Para saber a dónde vamos, es importante recordar de dónde venimos

Cuando hablamos sobre el ciclo de vida de desarrollo de software vimos el surgimiento de modelos como Cascada, Modelo en V, Incremental, Evolutivo, RAD, Prototipado, Espiral, RUP y muchos otros surgir y menguar. Una característica común entre estos modelos es la gran cantidad de documentación como: casos de uso, diagramas de clase, secuencia, actividad, procesos y etcétera, todo muy orientado hacia el desarrollador y la forma de desarrollo.

En este contexto, casi siempre la Calidad no se llevaba como prioridad, normalmente la fase de pruebas era más bien corta (cuando existía) y ocurría al final del ciclo de desarrollo, cerca de las entregas del producto. Esto es un fuerte indicador de que las pruebas generalmente no se realizaban con la eficiencia necesaria.

Las pruebas se realizaban solamente de forma manual, el equipo de calidad estaba apartado de los otros equipos involucrados en el proyecto y poseía muy poco conocimiento del negocio y baja inversión en personas y tiempo para la arquitectura y la ejecución de las pruebas.

En este escenario, surgió el perfil de profesional volcado a la Calidad de Software, conocido como Analista de Calidad, y otros diversos nombres que existían de acuerdo con la función.
El profesional de QA debe poseer un perfil que le permita efectuar buena comunicación, aplicar conceptos, procesos, definir, priorizar, analizar, ejecutar pruebas manuales, gestionar herramientas y el ciclo de ejecución. El conocimiento técnico en herramientas y desarrollo, así como en ingeniería de software, no eran siempre exigidos y tampoco utilizados por la mayoría de los profesionales del área.

Nuestro ambiente ha cambiado, hemos evolucionado mucho, y ahora estamos insertos en nuevos contextos de desarrollo con una enorme diversidad de herramientas, metodologías, lenguajes y negocios cada vez más complejos y dinámicos.

La preocupación del equipo con la experiencia del usuario asumió grandes proporciones, puso la calidad como pieza fundamental del ciclo de vida del producto y elevó el QA a un papel destacado.
Pero ese movimiento fue un cuchillo de dos filos. Con mayor visibilidad, el papel del Analista de Calidad creció, abarca hoy mucho más actividades y requiere mucho más conocimientos, pero no todos los están preparados.

¡Pero calma! Hay un camino

La realidad actual de la calidad del software es bastante distinta. Las pruebas automatizadas son una obligación, la virtualización de los servicios está ahí para permitir los diversos tipos de pruebas, la necesidad de calidad llegó al mundo de la IoT – Internet de las Cosas–, las pruebas deben satisfacer las demandas de Mobile y Multiplataformas, y el mundo de la Calidad de Software recibe el fuerte impacto de la llegada de la Inteligencia Artificial.

Además de la importancia de conocer todos estos conceptos y tecnologías, el perfil QA debe ser capaz de interactuar con:

  • documentación viva
  • flujos de desarrollo
  • pruebas manuales y automatizadas
  • pruebas de servicios
  • diferentes plataformas de software (web, app, desktop, responsivo…)

El conocimiento de las herramientas (Jenkins, Chef, Docker, Cucumber…) y metodologías (Scrum, ATDD, BDD…) que aceleran esas culturas es un gran diferencial, pero ¿de qué sirve saber manejar un martillo si usted no sabe para qué sirve un martillo?

De todo lo que ya se ha discutido, hay una cosa básica y fundamental: la capacitación en lenguajes de programación. Las herramientas de automatización de pruebas son esenciales para la carrera de este profesional (“todo el mundo coda”).

Conclusión

Frente a la mayor demanda por Calidad, el camino más corto está delante de aquellos que ya actúan con prueba de la forma tradicional y para los desarrolladores que desean trabajar con calidad (SDET – Software Development Engineer in Tests), pues el primero ya sabe lo que quiere el usuario, mientras que el segundo tiene la expertise de programación.

El nuevo QA debe mirar siempre a la “mejor experiencia de uso” y para ello debe verse como parte del universo de desarrollo de un producto buscando siempre la excelencia técnica y la proximidad con el usuario.