7 min read

QA software testing

¿Qué es QA Testing y por qué es tan importante?


El área de Control de Calidad o QA testing se encarga de la detección temprana de errores y de posibles mejoras en el desarrollo y el diseño de productos digitales.

En XOOR esta área tiene un rol primordial ya que se asegura de que las aplicaciones salgan al mercado sin errores de funcionamiento y de ese modo, se garantiza la satisfacción de las personas usuarias, y se evitan a las y los clientes costos adicionales en reparación de bugs o problemas. 

En este artículo:

¿Qué hace un QA?

Las personas que integran el área QA, están presentes a lo largo de todo el ciclo de producción de software y controlan que no haya defectos en cada paso. Además, sugieren mejoras en el sistema para que la experiencia del público sea superlativa.

Muchas personas se preguntan qué quiere decir QA, ya que al tratarse de siglas, es difícil de dilucidar a primera vista. QA quiere decir aseguramiento de calidad, viene del inglés Quality Assurance. Pero para comprender mejor qué hacen las y los QA, primero se necesita diferenciarlo de “QC”. 

QA se refiere al aseguramiento de calidad desde el principio del ciclo de vida de un producto. El trabajo se enfoca en todos aquellos procedimientos que tiendan a asegurar que se mantengan los estándares de calidad deseados, prevenir errores y proponer mejoras

Mientras que QC (Quality Control) implica el control de calidad sobre un producto ya finalizado, buscando defectos que se hayan generado durante el desarrollo. Su misión no es prevenir, sino sólo reportar errores ya existentes.

¿Qué hacen las personas analistas QA?

Las personas analistas QA ejecutan pruebas funcionales, como por ejemplo tests exploratorios, tests de regresión, smoke testing; y pruebas no funcionales como performance, load, stress, accessibility.

Además gestionan bugs o errores de software. Es decir, los reportan al área de desarrollo y/o diseño UX UI y les dan seguimiento. 

Se encargan de diseñar sus propias estrategias de detección y reporte. Elaboran casos de prueba, generan documentación para que sea más sencillo replicar el error y su solución para anticiparse y ganar tiempo en futuros proyectos. Y a su vez, se involucran en la toma de decisiones respecto del producto para asegurar una buena performance del mismo y una experiencia gratificante para las personas usuarias.

¿Cómo se organiza el área QA?

No existe una única manera de organizar un área de QA. Muchas empresas la dividen en sub áreas dependiendo del tipo de testeo que se realice. Aunque comparten criterios y se complementan, la división más usual es: testing manual y testing automatizado. Ambas tienen en cuenta el producto en su totalidad o pueden testear APIs, aislando sólo la lógica para evaluar los flujos.

Esta posible división se debe a que para realizar cada tipo de testeo, se requieren conocimientos particulares y específicos, y se aplican en diferentes tipos de escenarios.

En el caso del testing manual, las pruebas son realizadas por una persona. Esta crea casos de prueba y realiza acciones sobre el producto digital simulando ser una usuaria, con el fin de detectar y/o prevenir fallas y reportarlas. Se utiliza tanto para pruebas funcionales como no funcionales, de usabilidad y/o exploratorias.

El testing automatizado permite realizar pruebas de manera automática y repetitiva para detectar errores en los productos digitales antes de lanzarlos al mercado. Prioriza la precisión repetible, es decir reiterar una acción sin perder la atención. Se suele utilizar este tipo de pruebas en secciones fijas y estables, que no van a ser modificadas en el corto plazo.

Por último, el testing de APIs busca validar y verificar que la lógica de las funcionalidades de un software respondan correctamente, de manera aislada de la interfaz de usuario. Estas pruebas se pueden realizar tanto de manera manual como automatizada. La herramienta más popular a la hora de realizar este tipo de pruebas es Postman.

¿Qué se necesita para ser un QA tester?

Para ser QA tester es necesario formarse en el campo de la tecnología e informática, comprender nociones básicas de programación y código, así como también entender los flujos de funcionamiento de los productos digitales.

Es útil tener conocimientos en desarrollo web, sintaxis HTML y desarrollo front-end y back-end.

A su vez, se necesita prestar mucha atención a los detalles, analizar todo meticulosamente y ser perfeccionista. También puede ser de gran utilidad tener experiencia en alguna profesión similar. 

¿Cuáles son las etapas del proceso de testeo?

Si bien no es una fórmula matemática porque siempre depende de cada proyecto, podemos diferenciar 5 etapas en el proceso de testeo: planificación, diseño de pruebas, corrida de pruebas, evaluación de resultados obtenidos y su consecuente reporte.

  1. Etapa de planificación o test plan: lo primero que se debe hacer es analizar toda la información respecto del producto digital, su ingeniería, sus flujos, especificaciones, el diseño, cómo se va a utilizar, quiénes son las personas usuarias, etc.

Luego, se genera un documento en donde se establecen cuáles son los objetivos del testeo, se detallan las funcionalidades a testear, se definen los entregables, la cobertura, los tipos de pruebas y los recursos con los que se va a contar. 

  1. Diseño de pruebas: una vez analizados en profundidad los requerimientos, junto con los criterios de aceptación para cada feature, se determinan cuáles serán los casos puntuales a probar, contemplando las interacciones válidas e inválidas, para asegurar la mayor cobertura posible.

  2. Ejecución de pruebas: ya sea manual o automática, la tercera instancia es la de correr todos los casos de prueba, y se documentan los resultados obtenidos.

  3. Evaluación: a la vez que se realizan los testeos, se evalúan los resultados obtenidos y se los compara con los resultados deseados en busca de diferencias.

De no encontrar discrepancias, se considera que el resultado de la prueba fue exitoso. En estos casos, es posible plantear posibilidades de mejora de esas funcionalidades. Por otra parte, si se encuentra alguna divergencia, el resultado del testeo se considera fallido.

  1. Elaboración de reportes: finalmente esos resultados se vuelcan en reportes que luego serán elevados a las áreas correspondientes, ya sea para corregir errores o para optimizar las funcionalidades.

Entre esos reportes se pueden incluir bugs, es decir, diferencias indeseadas entre resultados obtenidos y resultados esperados; o bien enhancements o improvements, que son sugerencias de mejora para agregar valor al producto y enriquecerla experiencia de las personas usuarias.

¿Cuáles son los beneficios y desventajas de ser QA?

Ser QA tester tiene pros y contras. Aquellas personas que son muy perfeccionistas se sentirán gratificadas con este tipo de trabajo ya que estarán continuamente buscando la excelencia en el funcionamiento de las aplicaciones.

Quienes se dedican al testeo, deberán hacer un seguimiento y asegurarse que todas las features de una aplicación funcionen correctamente.

La parte más difícil de esta disciplina radica en que se basa en señalarle errores a otras áreas y si no se cuidan las formas o no se genera un vínculo más allá de lo laboral, pueden surgir roces. Pero si hay buena predisposición, ganas de trabajar y las personas no se toman las marcaciones como algo personal, no deberían haber problemas. 

Si te quedó alguna duda sobre el modo en que trabaja el área de QA de XOOR, o querés ser parte de este equipo, podés enviarnos tu consulta a hola@xoor.io que te responderemos a la brevedad. ¡También podés seguirnos en Linkedin y en Twitter!