Tradicionalmente, los sistemas de CI solo monitorean los niveles de calidad en una rama de integración, al realizar verificaciones de QA en la base de código donde los cambios ya están confirmados, observando regresiones y enviando notificaciones para intervención humana.
Pero cuando se detectan estas regresiones, la sucursal ya ha estado en problemas al menos desde que comenzó la verificación de control de calidad respectiva y permanecerá en ese estado (¡o incluso empeorará!) Hasta que se identifiquen a todos los culpables, se cometan las reparaciones y una nueva verificación de control de calidad confirma que se restableció el nivel de calidad de la sucursal. La rama puede considerarse bloqueada para el desarrollo normal durante todo este tiempo.
¿Existe una herramienta de CI capaz de evitar que ocurran tales regresiones, que realizaría verificaciones de control de calidad previas a la confirmación y permitiría las confirmaciones solo cuando la base de código actualizada con las confirmaciones respectivas también pasara esas verificaciones de control de calidad previas a la confirmación, garantizando así un mínimo nivel de calidad de la sucursal?
Actualización: se supone que las verificaciones de control de calidad automatizadas adecuadas con la cobertura adecuada para poder detectar las regresiones respectivas están disponibles para su invocación por las herramientas de CI.