O versiune de întreținere este o versiune de software care corectează o defecțiune de securitate sau o eroare minoră fără a modifica componentele de bază sau a adăuga funcții noi. Ele sunt de obicei numerotate în zecimi sau sutimi pentru a le diferenția de versiunile majore, care sunt numerotate simplu versiunea 1.0, versiunea 2.0 și așa mai departe. O versiune de întreținere este o parte din etapa de funcționare și suport a sistemelor din ciclul de viață al lansării software.
Fiecare aplicație software trece prin ciclul de viață al lansării software. Începe cu analiza sistemelor și descoperirea cerințelor, o etapă în care datele și procesele sunt modelate. Apoi se trece la etapa de proiectare, etapa de construcție, etapa de implementare și, eventual, etapa de exploatare și suport. În această ultimă etapă se aplică suportul tehnic continuu pentru utilizatori prin introducerea versiunilor de întreținere care fie remediază erorile, fie actualizează întregul sistem prin remodelarea cerințelor de bază.
O versiune de întreținere este de obicei necesară pentru a remedia erorile de programare de bază. Acestea apar de obicei din cauza greșelilor care au fost făcute într-una dintre etapele anterioare ale ciclului de viață al software-ului. Dacă în timpul etapei de analiză a cerințelor, de exemplu, cerințele sunt comunicate sau validate incorect, poate duce la defecte majore care nu apar decât mult mai târziu. Acesta este de fapt o întâmplare comună, motiv pentru care aproape fiecare bucată de software lansată vreodată a trebuit să fie supusă unei ediții de întreținere la un moment sau altul.
Există câteva obiective fundamentale ale unei versiuni de întreținere. În primul rând, ediția ar trebui să facă modificări la programele existente pentru a corecta greșelile făcute în etapele de cerințe, proiectare sau implementare. De asemenea, ar trebui să se asigure că remediile nou făcute nu interferează cu alte aspecte ale segmentului modificat și că modificările nou făcute nu interferează cu activitățile altor segmente. În cele din urmă, lansarea nu ar trebui să afecteze performanța sistemului. În general, inginerii software încearcă să finalizeze acest proces cât mai repede posibil, fără a sacrifica nici calitatea, nici fiabilitatea.
Înainte ca o versiune de întreținere să poată fi emisă, aceasta trebuie testată complet prin trei metode: testarea unitară, testarea sistemului și testarea regresiei. Testarea unitară asigură că segmentul specific al programului care a fost remediat funcționează acum corect. Testarea sistemului, pe de altă parte, asigură că noul segment fixat al programului nu interferează cu alte segmente de program. Testarea de regresie utilizează date statistice pentru a verifica dacă debitul general sau timpul de răspuns a fost afectat pozitiv sau negativ de modificări.
Ultimul și poate cel mai important aspect al întreținerii sistemului este controlul versiunilor. În această parte a procesului, un bibliotecar instruit bazat pe software înregistrează și urmărește meticulos toate modificările care au fost făcute. Acest lucru face posibil ca inginerii de software să revină în cazul în care versiunea de întreținere întâmpină erori neașteptate.