Skip to main content

Vad är programvaruregression?

Programvaruregression är ett fel i programvaruprogrammering som får programvaran att effektivt regressera i ett eller flera områden.Det finns två huvudtyper av programvaruregression: funktionell och icke-funktionell.Funktionellt innebär att programmet fungerar med rätt hastigheter men en eller flera funktioner fungerar inte, medan icke-funktionella innebär att alla funktioner fungerar, men hastigheten minskas dramatiskt.En händelse, till exempel en uppgradering, är vanligtvis orsaken till regression.Regressionstestkontroller programvara för att säkerställa att ingen regression har eller kommer att inträffa.

Funktionell programvaruregression är ett sätt att programregression kan manifestera sig.När detta inträffar kommer programmet att fortsätta köra i full fart, så användaren kanske inte märker regressionen till en början.I denna manifestation finns det vissa funktioner som inte fungerar längre.Till exempel, om ett program kan söka efter filer, kanske den funktionen inte längre fungerar.Detta kan påverka tillbehörsfunktioner mdash;De som inte vanligt använda mdash;eller programmets huvudfunktion.

Icke-funktionell programvaruregression är farligare och lättare att märka, även om alla funktioner fortfarande fungerar.I denna manifestation gör regressionen att programmet körs långsammare, eller programmets utgång blir betydligt mindre.Bristen på hastighet innebär att programmet också kan bli sårbart för skadlig kodning och attacker, vilket sätter både programmet och datorn på vilken det löper risk för hackning på.Hastigheten kan bli så långsam att det kan vara omöjligt att använda programmet.

För att mjukvaruregression ska inträffa måste en så kallad händelse äga rum.Denna händelse ändrar kodningen av programvaran och introducerar dessa buggar, antingen avsiktligt och mdash;som är sällsynt mdash;eller oavsiktligt.Utvecklaren kan försöka fixa ett fel eller uppdatera versionen men introducerar felaktigt någon kod som regresserar programmet.Den mest typiska händelsen är en uppgradering, eftersom detta direkt påverkar programmets kodning.Andra händelser inkluderar versions- eller konfigurationsändringar.

För att lindra risken för programvaruregression används regressionstest vanligtvis.Denna typ av testning tittar på det nya programmet och jämför det med alla gamla versioner av programmet.Den kör sedan programmeringen genom ett test för att se om det finns några tecken på regression och för att säkerställa att all kodning är funktionell.Alla tecken på regresserad eller icke-fungerande kod kommer att föras tillbaka till utvecklaren eller användaren och kommer att rapportera vad som har regresserat eller var regressionen hittas.