Huoltojulkaisu on ohjelmistoversio, joka korjaa tietoturvavirheen tai pienen virheen muuttamatta ydinkomponentteja tai lisäämättä uusia ominaisuuksia. Ne on yleensä numeroitu kymmenes- tai sadasosiksi erottaakseen ne tärkeimmistä julkaisuista, jotka on numeroitu yksinkertaisesti versioon 1.0, versioon 2.0 ja niin edelleen. Huoltojulkaisu on osa järjestelmän käyttö- ja tukivaihetta ohjelmiston julkaisun elinkaaren aikana.
Jokainen ohjelmistosovellus käy läpi ohjelmiston julkaisukauden. Se alkaa järjestelmäanalyysillä ja vaatimusten löytämisellä, missä vaiheessa data ja prosessit mallinnetaan. Sitten se siirtyy suunnitteluvaiheeseen, rakennusvaiheeseen, toteutusvaiheeseen ja lopulta käyttö- ja tukivaiheeseen. Tässä viimeisessä vaiheessa käyttäjille tarjotaan jatkuvaa teknistä tukea ottamalla käyttöön huoltojulkaisuja, jotka joko korjaavat virheet tai päivittävät koko järjestelmän uudistamalla perusvaatimukset.
Perusohjelmointivirheiden korjaamiseen tarvitaan yleensä huoltojulkaisu. Nämä ilmenevät tyypillisesti virheistä, jotka tehtiin jossakin ohjelmiston elinkaaren aiemmista vaiheista. Jos esimerkiksi vaatimusten analysointivaiheessa vaatimukset ilmoitetaan tai vahvistetaan väärin, se voi johtaa suuriin puutteisiin, jotka näkyvät vasta paljon myöhemmin. Tämä on itse asiassa yleinen ilmiö, minkä vuoksi lähes jokainen koskaan julkaistu ohjelmisto on joutunut suorittamaan huoltotiedon kerralla tai toisella.
Nämä ovat useita huoltotiedon perustavoitteita. Ensinnäkin julkaisun pitäisi tehdä muutoksia olemassa oleviin ohjelmiin vaatimusten, suunnittelun tai toteutusvaiheiden virheiden korjaamiseksi. Sen pitäisi myös varmistaa, että uudet korjaukset eivät häiritse muokatun segmentin muita näkökohtia ja että uudet muutokset eivät häiritse muiden segmenttien toimintaa. Lopuksi, julkaisun ei pitäisi heikentää järjestelmän suorituskykyä. Yleensä ohjelmistosuunnittelijat pyrkivät suorittamaan tämän prosessin mahdollisimman nopeasti uhraamatta kuitenkaan laatua tai luotettavuutta.
Ennen huoltotodistuksen julkaisemista se on testattava perusteellisesti kolmella menetelmällä: yksikkötestaus, järjestelmätestaus ja regressiotesti. Yksikkötestaus varmistaa, että tietty ohjelmaosa, joka on nyt korjattu, toimii oikein. Järjestelmätestaus puolestaan varmistaa, että ohjelman uusi kiinteä osa ei häiritse muita ohjelmasegmenttejä. Regressiotestauksessa tarkistetaan tilastotietojen avulla, vaikuttivatko muutokset kokonaistehoon tai vasteaikaan positiivisesti vai negatiivisesti.
Viimeinen ja ehkä tärkein järjestelmän ylläpidon osa on versionhallinta. Tässä prosessin osassa koulutettu ohjelmistopohjainen kirjastonhoitaja kirjaa ja seuraa tarkasti kaikkia tehtyjä muutoksia. Tämä mahdollistaa ohjelmistosuunnittelijoiden perääntymisen, jos huoltotiedote kohtaa odottamattomia virheitä.