Desarrollo continuo de software
El desarrollo continuo de software es un término general que describe varios aspectos del desarrollo iterativo de aplicaciones de software, incluyendo la integración continua, la entrega continua, las pruebas continuas y el despliegue continuo.
- La integración continua se refiere específicamente al proceso de añadir constantemente nuevos cambios de código permanentes a la fuente de código, un concepto que ha evolucionado a lo largo de los años. Originalmente, una construcción diaria era el estándar para la integración continua. Hoy en día, la regla habitual es que cada miembro del equipo presente el trabajo tan pronto como se haya terminado y que se realice una construcción con cada cambio significativo. Por lo general, se realiza una determinada línea de base de las pruebas automatizadas de unidad y de integración para asegurar que el nuevo código no rompe la construcción. De esta manera, los desarrolladores saben, tan pronto han terminado, si su código cumple con los estándares mínimos y pueden arreglar los problemas mientras que el código está todavía fresco en sus mentes. Una ventaja importante de la integración continua es que proporciona a los desarrolladores con retroalimentación y actualizaciones de estado inmediatas para el software en que están trabajando.
- La entrega continua se basa en la integración continua y, como con la integración continua, cada cambio permanente de código se prueba de forma automática en el momento en que se añade. Además de las pruebas automatizadas de unidad e integración, un sistema de entrega continua incluirá pruebas funcionales, pruebas de regresión y posiblemente otras pruebas, tales como las pruebas de aceptación pregeneradas. Después de pasar las pruebas automatizadas, los cambios en el código son enviados a un entorno de ensayo para la implementación.
- Las pruebas continuas añaden pruebas manuales al modelo de entrega continua. Con pruebas continuas, el grupo de prueba constantemente probará la versión más actualizada del código disponible. Las pruebas continuas generalmente agregan pruebas exploratorias manuales y pruebas de aceptación del usuario. Este enfoque de las pruebas es diferente de las pruebas tradicionales porque se espera que el software bajo prueba cambie con el tiempo, de forma independiente a un cronograma definido de liberación de pruebas.
- El despliegue continuo añade una mayor automatización al proceso de desarrollo de software. Después de pasar por todas las pruebas de entrega automatizadas, cada cambio de código se despliega en producción tan pronto como esté disponible. Debido a que los cambios se entregan a los usuarios finales de forma rápida y sin intervención humana, el despliegue continuo puede ser visto como arriesgado. Requiere un alto grado de confianza, tanto en la infraestructura de aplicaciones existente, como en el equipo de desarrollo. El despliegue continuo se ve con frecuencia en aplicaciones web y móviles dirigidas al consumidor, que con frecuencia empujan cambios a sus clientes como parte del valor que aportan.
Este contenido se actualizó por última vez en diciembre 2015