DevOps y QA: Reducción de tiempo en los procesos de prueba

La relación entre DevOps y QA considera el resultado de la evolución de los ciclos de trabajo de desarrollo de softwares.  Como explica IBM, antes solo había lanzamientos de extensos cambios en el código que modificaban el funcionamiento de las aplicaciones tras varios meses o años. Ahora, existen actualizaciones que se implementan semanalmente e incluso diariamente.

Al hablar de DevOps, nos referimos a una metodología de desarrollo de software que permite agilizar su ciclo de entrega. Por ello, busca integrar dos áreas de trabajo usualmente separadas: la de Desarrollo y la de Operaciones de TI.

Pero en un enfoque DevOps no solo se trabaja con estos grupos de trabajo. También se consideran los posibles aportes de todos los involucrados en el diseño, creación y uso de la aplicación. Sin embargo, es preciso recalcar la relevancia de la conexión de los equipos de DevOps y QA. La velocidad en que se encuentran y se solucionan errores influye profundamente en la creación de un producto.

QA debe verificar que todo desarrollo entregue resultados aceptables y en caso contrario, encontrar los problemas. Gracias a DevOps, el equipo QA puede realizar sus pruebas en tiempos más breves y en cualquier etapa de producción. 

 

Consideraciones QA al usar DevOps

El área DevOps puede traer grandes beneficios al trabajo realizado por QA. No obstante, el /equipo QA tiene diversos roles que cumplir, aún si se opta por la metodología Devops. El Blog Test Lodge hace referencia a las siguientes responsabilidades relacionadas al QA:

 

  • El objetivo del área de QA es identificar errores en las fases tempranas del proceso de desarrollo de un Software. Además, debe vigilar que dichos errores no se produzcan en otras etapas de producción.
  • Siguiendo el punto anterior, QA no debe limitarse a solo controlar potenciales errores. También es su deber señalar los problemas que surjan en los procesos y cuando sea necesario, recomendar cambios.
  • QA tiene que comprobar que los entornos de las pruebas estén normalizados y que sus ejecuciones sean automatizadas. 

 

Sin embargo, también hay que considerar una responsabilidad hacia el área QA: 

 

  • El rol y la autoridad del equipo QA en las etapas de desarrollo y de operaciones. Uno de sus objetivos es encontrar la forma de mejorar el producto en cualquier momento. Sus comentarios son importantes. De este modo, hay una comprobación de calidad en todas las fases de producción de la aplicación

 

Técnicas para la ejecución de pruebas con DevOps

Para obtener los objetivos del uso de DevOps y QA, es necesario automatizar los procesos de pruebas. A su vez, hay que programarlos para que se ejecuten automáticamente cuando haya un marco de control de calidad óptimo. 

Para ello, debe existir un marco de pruebas automatizadas en el que se puedan implementar nuevos escenarios a probar. Algunos de los consejos que brinda Software Testing Help para el diseño de este marco son:

 

  • Hay que determinar los métodos de las pruebas.
  • No es recomendable llevar a cabo todos los casos de prueba de regresión.
  • Los entornos para las pruebas hay que normalizarlos y su implementación debe ser automatizada.
  • Las pruebas deben ser ajustadas. No pueden abarcar todo. 
  • Agrupar los casos de pruebas según características u objetivos particulares.
  • Se deben definir criterios claros para reconocer qué resultados son óptimos y cuales son insuficientes tras cada realización de pruebas.
  • El Código de la aplicación debe ser suficientemente robusto para implementar pruebas en él. Hasta entonces, QA creará los Script de prueba y los ejecutará automáticamente en compilaciones provisoras.
  • La ejecución simultánea de pruebas reduce los tiempos de desarrollo y testeo, uno de los objetivos de DevOps. QA, usando estrategias de automatización, podría ser capaz de llevar a cabo pruebas automatizadas en diferentes escenarios multiplataformas. A su vez, en aplicaciones web, también debería poder hacer pruebas entre navegadores. 
  • Hay que verificar que la solución a un error crítico identificado por alguna prueba, no afectó al resto del Código. Por ello, el nuevo Código debe ejecutarse en toda la cadena de pruebas realizadas con anterioridad al antiguo Código.

 

Las áreas de DevOps y QA deben identificar conjuntamente los escenarios posiblemente afectados por cambios de Códigos programáticos. Estas modificaciones pueden ser en la estructuración del diseño base o una actualización del Software. Posteriormente a este reconocimiento, hay que realizar las pruebas asociadas a estos escenarios, seguido de una prueba de cordura.

Para más información:

CONTÁCTANOS