Ero sivun ”Debuggaus” versioiden välillä

[katsottu versio][katsottu versio]
Poistettu sisältö Lisätty sisältö
Ipr1 (keskustelu | muokkaukset)
Ei muokkausyhteenvetoa
Ipr1 (keskustelu | muokkaukset)
Ei muokkausyhteenvetoa
Rivi 2:
'''Debuggaus''' eli '''virheenjäljitys''' on [[ohjelmistotuotanto|ohjelmistotuotannon]] osa, jossa testauksessa löytyneen virheellisen toiminnan aiheuttanut [[Ohjelmointivirhe|virhe]] paikallistetaan. Virheenjäljitykseen voidaan käyttää apuna [[debuggeri]]a. Termiä käytetään usein virheellisesti [[Ohjelmistotestaus|testauksesta]] puhuttaessa.
 
Virheenjäljitys on tiedon etsimistä, jossa haetaan vastauksia mitä ohjelma tekee tietyllä hetkellä, miten se on päätynyt tiettyyn tilanteeseen sekä miten kauan kestää suorittaa tietty operaatio tai joukko operaatioita.<ref>{{Verkkoviite | osoite = https://www.embedded.com/hardware-assisted-debugging/ | nimeke = Hardware-Assisted Debugging | ajankohta = 24.9.1991 | viitattu = 14.10.2022 | kieli = {{en}} }}</ref> Debuggauksen aikana voidaan tarvita esimerkiksi laitteiston simulaatiota tai prototyyppejä laitteistosta.<ref>{{Verkkoviite | osoite = https://embeddedcomputing.com/technology/debug-and-test/debugging-at-the-hardware-software-interface | nimeke = Debugging at the hardware/software interface | ajankohta = 1.6.2012 | viitattu = 14.10.2022 | kieli = {{en}} }}</ref> [[Sulautettu järjestelmä|Sulautetun järjestelmän]] debuggaus voi erota merkittävästi pelkän laitteiston tai ohjelmiston debuggauksesta.<ref name="ecedt">{{Verkkoviite | osoite = https://web.engr.oregonstate.edu/~traylor/ece473/beamer_lectures/debug_techniques.pdf | nimeke = Debugging Techniques | tiedostomuoto = PDF | viitattu = 14.10.2022 | kieli = {{en}} }}</ref>
 
Testauksessa havaitut ongelmakohdat raportoidaan virheinä, jolloin virheenjäljityksellä etsitään virheen aiheuttaja (vian syy). Tämän jälkeen voidaan tehdä päätös korjaamisesta, joka voi tapauksesta riippuen olla yksinkertaista tai vaatia suurempia muutoksia. Virheen aiheuttaja voi olla myös konfiguraatiovirhe, jolloin ohjelma ei välttämättä tarvitse lainkaan muutoksia.
Rivi 9:
 
Kaupallisessa ohjelmistotuotannossa virheiden havaitseminen ja korjaaminen pyritään suorittamaan mahdollisimman aikaisessa vaiheessa ennen ohjelmiston julkaisua. Testaus- ja julkaisuprosessi riippuu käytettävästä prosessimallista, mutta yleinen käytäntö on suorittaa ''riittävän kattava'' testaus ja korjaaminen ohjelmiston kehitysvaiheessa ja julkaista ohjelmistosta ''[[julkaisuehdokas]]'' (yleisesti käytetään termejä ''beeta-versio'' tai ''Release Candidate''), jota suunnitellut loppukäyttäjät voivat testata. Kaikki havaitut virheet raportoidaan ja todetaan mahdollisuuksien mukaan joko ominaisuuksiksi tai virheiksi ja luokitellaan sen mukaisesti. Kun kaikki havaitut virheet on korjattu, ohjelmistosta tehdään varsinainen julkaisu. Jos julkaisun jälkeen havaitaan virheitä, ne korjataan normaaliin tapaan ja jossain vaiheessa ohjelmistosta julkaistaan päivitetty versio.
 
== Menetelmät ==
Avainkohdat debuggauksessa ovat:<ref name="ecedt" />
# toista bugin esiintyminen
# seuraa ja kerää bugista tietoa
# tee luettelo mahdollisista syistä ja muodosta hypoteesi
# kokeile korjausta, poista korjaus ja palauta korjaus
 
== Termi ==