Una versión de mantenimiento es una versión de software que corrige una falla de seguridad o un error menor sin alterar ningún componente principal o agregar nuevas funciones. Por lo general, están numerados en décimas o centésimas para diferenciarlos de las versiones principales, que se enumeran simplemente en la versión 1.0, la versión 2.0, etc. Una versión de mantenimiento es parte de la operación del sistema y la etapa de soporte del ciclo de vida de la versión de software.
Cada aplicación de software pasa por el ciclo de vida de la versión del software. Comienza con el análisis de sistemas y el descubrimiento de requisitos, una etapa en la que se modelan los datos y los procesos. Luego pasa a la etapa de diseño, la etapa de construcción, la etapa de implementación y, finalmente, la etapa de operación y soporte. Es dentro de esta última etapa donde se aplica el soporte técnico continuo para los usuarios mediante la introducción de versiones de mantenimiento que corrigen errores o actualizan todo el sistema mediante la remodelación de los requisitos básicos.
Por lo general, se requiere una versión de mantenimiento para corregir errores básicos de programación. Estos suelen aparecer debido a errores que se cometieron en una de las etapas anteriores del ciclo de vida del software. Si durante la etapa de análisis de requisitos, por ejemplo, los requisitos se comunican o validan incorrectamente, puede dar lugar a fallas importantes que no aparecen hasta mucho más tarde. En realidad, esto es algo común, por lo que casi todos los programas de software que se han lanzado han tenido que someterse a una versión de mantenimiento en un momento u otro.
Hay varios objetivos fundamentales de una versión de mantenimiento. En primer lugar, la versión debe realizar cambios en los programas existentes para corregir los errores cometidos en las etapas de requisitos, diseño o implementación. También debe garantizar que las correcciones realizadas recientemente no interfieran con otros aspectos del segmento modificado y que los cambios realizados recientemente no interfieran con las actividades de otros segmentos. Por último, la versión no debería afectar el rendimiento del sistema. En general, los ingenieros de software intentan completar este proceso lo más rápido posible, sin sacrificar ni la calidad ni la confiabilidad.
Antes de que se pueda emitir una versión de mantenimiento, se debe probar a fondo mediante tres métodos: prueba unitaria, prueba del sistema y prueba de regresión. Las pruebas unitarias aseguran que el segmento específico del programa que se corrigió ahora funciona correctamente. Las pruebas del sistema, por otro lado, aseguran que el segmento recién fijado del programa no interfiera con otros segmentos del programa. Las pruebas de regresión utilizan datos estadísticos para verificar si el rendimiento general o el tiempo de respuesta se vieron afectados positiva o negativamente por los cambios.
El último y quizás más importante aspecto del mantenimiento del sistema es el control de versiones. En esta parte del proceso, un bibliotecario capacitado basado en software registra y rastrea meticulosamente todos los cambios que se realizaron. Esto hace posible que los ingenieros de software retrocedan en caso de que la versión de mantenimiento encuentre errores inesperados.