Ultimamente se ha estado hablando mucho del tema de los QA en uno de los grupos de Underc0de, y como actualmente me desempeño como QA en una empresa de Software, voy a comentar mi experiencia personal en esta área

 

¿Qué es un QA?

Para resumir en un par de lineas, QA (Quality Assurance) o Aseguramiento de Calidad hace referencia a la forma de medir la calidad, no solo del producto, sino también del proceso de desarrollo.

Muchas empresas para abaratar costos, dejan de lado el área de QA, quizás lo ven innecesario o una pérdida de tiempo, pero a la larga se nota la diferencia. Es imposible que una aplicación o proyecto sea perfecto, siempre va a tener defectos, la misión de un QA no es simplemente encontrarlos, sino también ayudar a prevenirlos.

 

Tester vs QA

Mucha gente confunde los términos de Tester y QA, o simplemente los mete dentro de la misma bolsa, pero son 2 perfiles totalmente diferentes.

Tester: Es aquel que se encarga de detectar y reportar fallas en un sistema durante la fase de desarrollo.
QA: Se encarga de asegurar la calidad no solo del producto en si, sino también de todas los procesos del desarrollo.

Para resumir, un QA realiza las tareas de un Tester, pero un tester no realiza las tareas de un QA. En otras palabras, un QA es un tester evolucionado.

 

Tareas de un QA

Análisis
Ayuda al Product Owner a definir tareas y criterios de aceptación. el QA suele tener una visión más horizontal del producto y el desarrollo, por lo que puede ayudar a definir las User Stories y que queden claras para los desarrolladores.

Desarrollo de un plan de pruebas
En base a los criterios de aceptación, elabora un plan de prueba (test plan) que va a contener distintos casos de pruebas (test cases) teniendo en cuenta los diferentes flujos de la aplicación

Estrategias de testing
Dependiendo del estado del proyecto, los tiempos, el tamaño de la aplicación, entre otros factores, dependerá de la estrategia de testing que se empleará

Elaboración de reportes
No se si lo harán todos los QA, pero yo envío reportes semanales para que el PO tenga conocimiento del estado de la plataforma (bugs existentes y fixeados)

Scripts Automatizados
No quiero meterme mucho en este tema porque va a dar mucho de que hablar en otro post, pero los QA pueden ser manuales o automatizadores. En este segundo caso, elaboran scripts que ejecuten cierta tarea de forma automática. Para poder automatizar, obviamente es necesario saber programar.

 

Como para concluir el post, se puede decir que un QA le otorga calidad al producto, al desarrollo y al proceso. No es una pérdida de dinero, ya que al cliente final le llega un producto listo para usar.
Muchos desarrollos que no tienen área de QA, entregan productos sin probar y terminan fallando en producción, gastando dinero en arreglar las fallas y perdiendo tiempo para la puesta en marcha.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *