Una de las preguntas más recurrentes que toca responder cuando se habla de aseguramiento de calidad del software es: “¿qué es lo que hace un analista QA?” y esto se da básicamente porque no siempre existe claridad respecto a las tareas de este rol tan clave dentro del proceso de desarrollo de software. Un analista QA rompe cosas, y lo hace a propósito para que el cliente y/o usuario final no las rompa por accidente. Sin embargo, no rompe las cosas de manera imprudente, sino que lo realiza a través de un proceso metódico que requiere planificación, ejecución cuidadosa y documentación.
Este tipo de profesionales juegan un rol fundamental en el proceso de desarrollo de software, ya que aseguran que el producto final cumpla con los requerimientos establecidos por el cliente y reducen drásticamente la cantidad de defectos en el software. Después del proceso de prueba, el analista documentará cualquier problema que haya tenido y enviará el informe a los desarrolladores que serán los responsables de atender cada uno de los puntos informados. Este ciclo de desarrollo y prueba continuará hasta que el analista QA considere que el producto que está siendo sometido a certificación cumple a cabalidad con cada uno de los criterios de aceptación inicialmente definidos.
Un analista QA se centra en la gestión de la calidad de manera integral, siendo sumamente estricto con los detalles, apuntando a la detección temprana de cualquier tipo de defecto para mantener un alto nivel de calidad en todo el ciclo de desarrollo, a través de una búsqueda constante de mejoras al proceso de pruebas. Este perfil debe ser versátil y creativo, asumiendo diversos roles en función de las tareas que este realizando: como diseñador de las pruebas debe evaluar cada uno de los requerimientos para identificar todos los posibles escenarios de prueba que deben ser validados, como ejecutor debe velar porque existan todas las condiciones necesarias para la ejecución, además de seguir cada uno de los pasos establecidos y documentar correctamente los resultados obtenidos, y como coordinador de las pruebas debe planificar y supervisar al equipo de tal manera de seguir el cronograma de trabajo y que se cumpla con los plazos establecidos.
Cuando uno piensa en los atributos deseables que debe reunir un Analista QA, se entremezclan habilidades duras, que son capacidades más técnicas y cuantificables, junto con habilidades blandas, que generalmente se basan en su personalidad y carácter. Dentro de este listado podemos mencionar principalmente:
Atención a los detalles. La orientación detallada resulta clave para completar las tareas de certificación siguiendo todas las pautas establecidas por la estrategia de trabajo definida. Independientemente de la metodología utilizada es fundamental prestar atención incluso a los detalles más pequeños, ya que cualquier punto que haya sido pasado por alto puede tener una repercusión mucho mayor en la madurez del producto final que será consumido por el cliente.
Gestión del tiempo. Debe ser capaz de administrar eficientemente sus tiempos, de tal manera de completar todas las tareas de manera oportuna. Tener buenas habilidades de gestión del tiempo garantiza que puedan asignar suficiente tiempo para obtener resultados confiables (no es bueno realizar el trabajo a la rápida) y cumplir con los estándares de la organización. Adicionalmente, es clave que dentro de la distribución de sus tiempos pueda considerar las instancias de documentación y apoyo transversal al equipo.
Buena comunicación (escrita y oral). La comunicación efectiva y clara entre todas las partes involucradas en el proceso de desarrollo es clave para la obtención de un producto de calidad. Con sólidas habilidades de comunicación escrita y oral, se pueden explicar procesos de manera simple, discutir problemas de manera efectiva, transmitir mensajes precisos y describir mejor lo que se quiere presentar. Un profesional que trabaja en el área de calidad debe predicar con el ejemplo, y por lo mismo es fundamental que en la documentación generada no existan faltas ortográficas o una redacción pobre.
Resolución de problemas. Es inevitable que a lo largo del ciclo de vida del software surjan problemas, lo importante es que los Analistas QA tengan las competencias necesarias para atender rápidamente estos problemas, buscando soluciones eficientes de manera ágil y retroalimentando al resto del equipo. Tener estas habilidades puede ayudar a analizar una situación de manera lógica y encontrar soluciones o cualquier problema relacionado con el proceso de calidad.
Colaboración. El proceso de aseguramiento de calidad del software debe ser un proceso colaborativo, por lo mismo, no solo es importante saber comunicarse, sino también saber escuchar las problemáticas del resto del equipo de desarrollo y aportar con soluciones en base a la experiencia. Tener la capacidad de trabajar en equipo es clave para generar un ambiente basado en la confianza en que cada uno de los profesionales que forman parte del proceso de desarrollo están siguiendo el mismo nivel de rigurosidad y profesionalismo en cada una de sus tareas.
Conocimientos estandarizados. Un profesional integro no se logra solo con buenas intenciones, y con mayor razón cuando hablamos de QA resulta esencial que exista un conocimiento acabado de lineamientos internacionales de calidad (como por ejemplo: ISTQB), de tal manera de hablar un lenguaje común entre todos los miembros del equipo, y que no existan ambigüedades conceptuales que se puedan traducir en mermas de calidad.
Uso de herramientas. Más allá de si se ocupa un enfoque de pruebas manual o automatizado, es fundamental que los Analistas QA sepan utilizar de manera eficiente una amplia gama de herramientas de apoyo al proceso de certificación, tales como: herramientas de gestión de pruebas e incidentes, automatización de pruebas e integración continua.