Skip to main content

¿Qué es la regresión de software?

La regresión de software es un error en la programación de software que hace que el software retroceda efectivamente en una o más áreas. Hay dos tipos principales de regresión de software: funcional y no funcional. Funcional significa que el programa funciona a las velocidades adecuadas, pero una o más funciones no funcionan, mientras que no funcional significa que todas las funciones funcionan, pero la velocidad disminuye drásticamente. Un evento, como una actualización, suele ser la causa de la regresión. Las pruebas de regresión verifican el software para garantizar que no haya regresión o que ocurra.

La regresión funcional del software es una forma en que la regresión del programa puede manifestarse. Cuando esto ocurre, el programa continuará ejecutándose a toda velocidad, por lo que el usuario puede no notar la regresión al principio. En esta manifestación, hay ciertas funciones que ya no funcionan. Por ejemplo, si un programa puede buscar archivos, es posible que esa función ya no funcione. Esto puede afectar las funciones accesorias, las que no se usan comúnmente, o la función principal del programa.

La regresión de software no funcional es más peligrosa y más fácil de notar, a pesar de que todas las funciones siguen funcionando. En esta manifestación, la regresión hace que el programa se ejecute más lentamente, o la salida del programa será significativamente menor. La falta de velocidad significa que el programa también puede volverse vulnerable a la codificación maliciosa y a los ataques, poniendo en riesgo tanto el programa como la computadora en la que se está ejecutando. La velocidad puede ser tan lenta que puede ser imposible usar el programa.

Para que ocurra la regresión del software, debe tener lugar un supuesto evento. Este evento cambia la codificación del software e introduce estos errores, ya sea intencionalmente, lo cual es raro, o involuntariamente. El desarrollador puede estar tratando de corregir un error o actualizar la versión, pero introduce incorrectamente algún código que hace retroceder el programa. El evento más típico es una actualización, porque esto afecta directamente la codificación del programa. Otros eventos incluyen cambios de versión o configuración.

Para aliviar las posibilidades de regresión de software, generalmente se utilizan pruebas de regresión. Este tipo de prueba analiza el nuevo programa y lo compara con todas las versiones anteriores del programa. Luego ejecuta la programación a través de una prueba para ver si hay algún signo de regresión y para asegurarse de que toda la codificación sea funcional. Cualquier signo de código regresado o que no funcione se devolverá al desarrollador o usuario e informará qué ha retrocedido o dónde se encuentra la regresión.