Ero sivun ”Debuggaus” versioiden välillä

[katsottu versio][katsottu versio]
Poistettu sisältö Lisätty sisältö
Debuggaus eli virheenkorjaus
Ei muokkausyhteenvetoa
Rivi 1:
{{lähteetönLähteetön}}
'''Debuggaus eli virheenkorjaus''' on [[ohjelmistotuotanto|ohjelmistotuotannon]] osa, jossa testauksessa löytyneen virheellisen toiminnan aiheuttanut virhe paikallistetaan ja korjataan. Virheenkorjaukseen voidaan käyttää virheenetsintä- ja korjausohjelmistoa eli [[Debuggeri|virheidenjäljittäjää]]. Termiä käytetään usein virheellisesti testauksesta puhuttaessa.
 
Virheiden korjaaminen ja paikallistaminen (ohjelmisto)järjestelmistä on usein hankalaa ja aikaavievääaikaa vievää toimintaa. Monet virhetilanteet esiintyvät vain harvinaisissa erikoistilanteissa, joiden toistaminen tai matkiminen voi olla vaikeaa tai jopa mahdotonta "laboratorio-olosuhteissa". Useissa nykyisin käytettävissä moderneissa ohjelmointikielissä ja ajoympäristöissä ongelmaa on helpotettu mahdollistamalla vianetsintää helpottavien lisätietojen upottaminen varsinaisen ohjelmakoodin sekaan. Lisätiedot voidaan tarvittaessa tulostaa ajonaikaiseen lokiin tai näyttää erityisessä virheenkorjaus-sovelluksessavirheenkorjaussovelluksessa, joka mahdollistaa myös ajon hallitun keskeyttämisen, käsky kerrallaan askeltamisen ja erilaisten tilatietojen tarkastelun sekä muuttamisen.
 
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.
 
== Termi ==
Käsite virheenkorjaus ({{k-en|debugging}}) on johdettu ohjelmistotuotannossa käytettävästä [[Ohjelmointivirhe|bug]]-termistä (suom. 'ötökkä', täsmällisemmin 'lude'). Erään käsityksen mukaan termi otettiin käyttöön jo 1940-luvulla, kun releisiin perustuvissa laskukoneissa havaittiin toimintavirheitä, jotka johtuivat releiden sisään joutuneista hyönteisistä. Sittemmin termin merkitys on laajentunut kattamaan kaikki ohjelmisto- tai muissa järjestelmissä esiintyvät virheet, joita virheenkorjauksessa todennetaan, paikallistetaan ja korjataan. Virallisempi vastine bug-termille on ''defect'' (suom. ''virhe'' tai ''puute'').
 
== Kirjallisuutta ==
Virheiden korjaaminen ja paikallistaminen (ohjelmisto)järjestelmistä on usein hankalaa ja aikaavievää toimintaa. Monet virhetilanteet esiintyvät vain harvinaisissa erikoistilanteissa, joiden toistaminen tai matkiminen voi olla vaikeaa tai jopa mahdotonta "laboratorio-olosuhteissa". Useissa nykyisin käytettävissä moderneissa ohjelmointikielissä ja ajoympäristöissä ongelmaa on helpotettu mahdollistamalla vianetsintää helpottavien lisätietojen upottaminen varsinaisen ohjelmakoodin sekaan. Lisätiedot voidaan tarvittaessa tulostaa ajonaikaiseen lokiin tai näyttää erityisessä virheenkorjaus-sovelluksessa, joka mahdollistaa myös ajon hallitun keskeyttämisen, käsky kerrallaan askeltamisen ja erilaisten tilatietojen tarkastelun sekä muuttamisen.
* {{Kirjaviite | Tekijä = Stitt, Martin| Nimeke =Debugging : creative techniques and tools for software repair| Vuosi = 1992| Luku = | Sivu = |Sivut = | Selite = | Julkaisupaikka = New York (NY)| Julkaisija = Wiley| Tunniste = ISBN 0-471-55829-X| www = | www-teksti = |Tiedostomuoto = | Viitattu = | Kieli = {{en}} }}
* {{Kirjaviite | Tekijä = Tip, Frank| Nimeke =Generic techniques for source-level debugging and dynamic program slicing| Vuosi = 1998| Luku = | Sivu = |Sivut = | Selite = Report CS-R9453 | Julkaisupaikka = Amsterdam| Julkaisija = CWI| Tunniste = | www = | www-teksti = |Tiedostomuoto = | Viitattu = | Kieli = {{en}} }}
 
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.
==Lähteet==
==Viitteet==
{{viitteet}}
==Kirjallisuutta==
* {{Kirjaviite | Tekijä = Stitt, Martin| Nimeke =Debugging : creative techniques and tools for software repair| Vuosi = 1992| Luku = | Sivu = |Sivut = | Selite = | Julkaisupaikka = New York (NY)| Julkaisija = Wiley| Tunniste = ISBN 0-471-55829-X| www = | www-teksti = |Tiedostomuoto = | Viitattu = | Kieli ={{en}}}}
* {{Kirjaviite | Tekijä = Tip, Frank| Nimeke =Generic techniques for source-level debugging and dynamic program slicing| Vuosi = 1998| Luku = | Sivu = |Sivut = | Selite = Report CS-R9453 | Julkaisupaikka = Amsterdam| Julkaisija = CWI| Tunniste = | www = | www-teksti = |Tiedostomuoto = | Viitattu = | Kieli ={{en}}}}
{{Tynkä/Tietotekniikka}}