- Sistema de Control de Versiones: En este sistema se resguarda todo lo necesario para la construcción, pruebas, empaquetamiento y despliegue del producto de Software, es indispensable poseer una herramienta que permita resguardar toda la información del producto.
- Repositorio de Artefactos: Es otra herramienta transversal, en ella se almacenan los binarios o ejecutables del producto de software y están disponibles a lo largo de todo el proceso automatizado.
- Fase de construcción: En esta fase, apoyados por un Sistema de Integración Continua, se extrae, del sistema de control de versiones, los últimos cambios realizados sobre el producto por un miembro del equipo de desarrollo, de forma automática se ejecutan las pruebas unitarias, pruebas de integración y componentes, se corren análisis estáticos del código fuente y se generan los ejecutables, se ensambla el producto y se guardan estos ejecutables en el repositorio de componentes para hacerlo accesible a las siguientes fases.
- Fase de Aceptación: Es en esta fase donde el producto se recupera del repositorio de componentes y se realiza de forma automática la preparación de todo el ambiente requerido para la ejecución de pruebas del software en un ambiente lo más parecido o idéntico al ambiente de producción. El ejecutable es sometido a una serie de pruebas funcionales y de aceptación automatizadas y al finalizar tenemos la confianza de que el artefacto está apto para ser entregado en manos del cliente.
- Fase de Desempeño: En esta fase, el producto puede ser sometido a pruebas de stress y de volumen de datos grandes, generados por un proceso automatizado, donde es posible evaluar aspectos de desempeño y comportamientos en entornos similares a producción y detectar problemas que típicamente se dejan de lado en el desarrollo. En esta etapa se chequean los llamados requerimientos no funcionales del sistema.
- Fase de Aprobación (UAT): Las pruebas exploratorias por parte del cliente no pueden ni deben ser automatizadas, sobretodo, cuando se trata de medir aspectos como usabilidad y navegabilidad que son un poco más subjetivos, es por eso que en esta fase, el proceso permite que se despliegue la aplicación en ambientes para pruebas manuales, pero estos despliegues pueden ser realizados por los propios equipos de pruebas, el equipo de infraestructura del cliente o cualquier rol que tenga los privilegios para hacerlo, es decir, el despliegue y configuración del ambiente es un proceso automatizado que se realiza a petición y en algunos minutos. Minimizando las complicaciones que involucran preparar un ambiente con estas características.
- Producción: Finalmente y una de las ventajas más importantes del proceso, la fase de Producción permite al equipo de operaciones del cliente desplegar, usando el mismo proceso validado en las fases previas, una versión del producto de software en un ambiente para los usuarios finales, con tan solo presionar un botón y eliminando el alto riesgo que típicamente involucra un despliegue en este tipo de ambientes.
Autor: Juan Bustamante









