Muokataan sivua Ohjelmointivirhe

Siirry navigaatioon Siirry hakuun
Varoitus: Et ole kirjautunut sisään. IP-osoitteesi näkyy julkisesti kaikille, jos muokkaat. Jos kirjaudut sisään tai luot tunnuksen, muokkauksesi yhdistetään käyttäjänimeesi ja saat paremman käyttökokemuksen.

Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.

Nykyinen versio Oma tekstisi
Rivi 1: Rivi 1:
{{Perustietoa}}
[[wikipedia:fi:Ohjelmointivirhe|Ohjelmointivirhe]] eli bugi on tietokoneohjelmassa tai lähdekoodissa oleva virhe.
'''Ohjelmointivirhe''' eli bugi (engl. ''bug'') on tietokoneohjelmassa oleva virhe.


==Raportointi==
==Raportointi==
Ohjelmointivirheen raportointi tehdään usein erillisen vikailmoitustyökalun avulla, joka automaattisesti hakee tiedot ohjelman tilasta ja lähettää ilmoituksen eteenpäin. Raportointi voidaan myös tehdä www-käyttöliittymän tai sähköpostin avulla, jolloin käyttäjän tehtäväksi jää selvittää tarkka kuvaus virheestä ja liittää mukaan tilannetta selvittävät lisätiedot kuten lokitiedostot ja [[komentorivi]]n tulosteet.
Ohjelmointivirheen raportointi voidaan suorittaa esimerkiksi vikailmoitustyökalun avulla, joka kirjaa tarkat tiedot käyttäjien ja kehittäjien ilmoittamista vioista ja virheistä. Jokaiselle vialle annetaan numero, ja se pidetään tallessa kunnes vika merkitään korjatuksi tai muuten hoidetuksi. Ohjelmavirheen raportointi voidaan myös ilmoittaa www-käyttöliittymän tai sähköpostin avulla, jolloin käyttäjän tehtäväksi jää selvittää tarkka kuvaus virheestä ja mahdolliset ohjelman luomat logi-tiedostot tai [[komentorivi]]n tulosteet.


Hyvä virheilmoitus kertoo ohjelman kehittäjille kolme keskeistä asiaa:
==Työkalut==
* Mitä odotit tapahtuvan
* [[Gnome]]n vikailmoitustyökalu on nimeltään [[bug-byddy]].  
* Mitä todella tapahtui
* [[Bugzilla]] on [[komentorivi]]pohjainen vianseurantajärjestelmä
* Mitä teit tai olit tekemässä, kun virhe tapahtui
* Katso myös [[:Luokka:vikailmoitusohjelmat|vikailmoitusohjelmat]] luokka.
 
=== Mitä odotit tapahtuvan ===
Ohjelmointiviat voidaan jakaa kahteen tyyppiin. Ensimmäisessä jokin on selvästi rikki, näet ohjelman virheilmoituksen, lataamasi tiedot katoavat tai lomakkeella antamasi tiedot eivät päivity. Tällaiset virheet ovat yleensä helppo raportoida ja tunnistaa. Ohjelman kehittäjän tarvitsee vain tietää tarkalleen mitä olit tekemässä tai mitä tietoja olit syöttämässä pystyäkseen toistamaan ja korjaamaan ongelman.
 
Toisen tyyppinen vika ilmenee niin, että sovellus ei toimi odotetulla tavalla. Tämä voi johtua siitä, että ohjelmoija on ymmärtänyt väärin ohjelman kuvauksen. Tällöin ohjelmoija saattaa uskoa ohjelman toimivan hienosti, vaikka se "toimii" itse asiassa väärin. Jos virheraportissa tällöin vain kerrotaan, että "toiminto on rikki" eikä kerrota, että se itse asiassa toimii mutta väärällä tavalla, voi ohjelmoija käyttää turhaan aikaansa yrittämällä etsiä ohjelmointivirhettä koodista. Raportissa on hyvä mainita. mitä halusit tapahtuvan, niin ohjelmoijan on helpompi ymmärtää, että halusit ohjelman tekevän x mutta se tekikin y.
 
=== Mitä todella tapahtui ===
Hyvin harvoin oikeasti "ei tapahtunut mitään", vaikka näin usein raportoidaankin. Jos esimerkiksi painat lomakkeella Lähetä -nappia eikä lähetys onnistunut ja et päässyt seuraavalle sivulle, voit ilmoittaa että "Lomakkeen lähetys ei toiminut. Lomakesivu jäi näkyviin." tai "Lomakkeen lähetyksen jälkeen latautui tyhjä sivu." Jos ohjelma tulostaa virheilmoituksen, on se syytä kopioida raporttiin.  
 
=== Mitä teit tai olit tekemässä, kun virhe tapahtui ===
Ohjelman kehittäjät eivät kerää tätä tietoa osoittaakseen sinun toimineen väärin, vaan koska on erittäin todennäköistä, että virhe esiintyy vain ainoastaan tiettyjen toimenpiteiden ja vaiheiden jälkeen. Mitä enemmän voit antaa lisätietoja tapahtumasta sitä helpompi on ohjelman kehittäjän toistaa ja korjata ongelma. Tee luettelo toimenpiteistä siinä järjestyksessä kun ne teit. Jos mahdollista voit yrittää toistaa samat vaiheet
uudestaan ja kirjata ne samalla muistiin. Ohjelman kehittäjät ovat tyytyväisiä jos onnistut säästämään heidän aikaansa kun he yrittävät toistaa saman ongelman.
Tehokas virheraportointi voi nopeuttaa valtavasti ongelmien ratkaisua sekä estää käyttäjien ja ohjelman kehittäjien turhautumista.


Esimerkiksi [[Ubuntu]] jakelussa ongelmaraportti kerätään ja lähetetään esimerkiksi seuraavalla komentorivi komennolla:
==WWW raportointi==
  ubuntu-bug paketin_nimi
Ohjelmakohtaisia vianraportointisivustoja
* [https://bugzilla.mozilla.org/ https://bugzilla.mozilla.org/] on vianseurantajärjestelmä Firefox, Thunderbird, SeaMonkey, Camino ohjelmille.
* [https://bugs.launchpad.net/audacious/+login Audacious]


==Työkalut==
==Työpöytäympäristöt==
* [[Bugzilla]] - yleisesti käytetty www-pohjainen vikailmoitusten hallinta- ja raportointityökalu, alun perin [[Mozilla]]-projektista.
* [https://bugs.kde.org/ https://bugs.kde.org/] on [[KDE]]:n vianseurantajärjestelmä.
* [[Gnome]]n vikailmoitustyökalu on nimeltään [[Bug-buddy]].
* [http://bugzilla.gnome.org/ http://bugzilla.gnome.org/] on [[Gnome]]:n vianseurantajärjestelmä.
* [[Launchpad]] on erityisesti [[Ubuntu]]n käyttämä kehitysalusta, johon kuuluu myös vianseurantajärjestelmä.
* [[reportbug]] on Debianin virheilmoitusohjelma.
* [[ubuntu-bug]] on Ubuntun virheilmoitusohjelma.
* [[Abrt]] on automaattinen ohjelmistovirheiden etsintä- ja raportointityökalu.
* Katso myös [[:Luokka:Vikailmoitusohjelmat|Vikailmoitusohjelmat]]-luokka.


==WWW-raportointi==
==Jakeluiden vianseurantajärjestelmät==
Ohjelmistokohtaisia vianraportointisivustoja:
* [http://limpet.net/audacity/bugzilla/ Audacious]
* [https://bugs.kde.org/ bugs.kde.org] - [[KDE]]
* [http://bugzilla.gnome.org/ bugzilla.gnome.org] - [[Gnome]]
* [https://bugzilla.mozilla.org/ bugzilla.mozilla.org] - [[Firefox]], [[Thunderbird]], [[SeaMonkey]] ja [[Camino]]
* [http://www.debian.org/Bugs/ Debian]
* [http://www.debian.org/Bugs/ Debian]
* [http://bugs.gentoo.org/ Gentoo]
* [http://bugs.gentoo.org/ Gentoo]
* [https://bugzilla.redhat.com/ RHEL ja Fedora]
* [https://bugzilla.redhat.com/ RedHat ja Fedora]
** [https://admin.fedoraproject.org/pkgdb/packages/bugs Yksinkertaisempi näkymä Fedoran vikaraportteihin]
* [https://launchpad.net/ubuntu/+bugs Ubuntu]
* [https://launchpad.net/ubuntu/+bugs Ubuntu]
**[https://wiki.ubuntu.com/BugSquad Ubuntu BugSquad]
 
[[Luokka:Ohjeet]]
 
[[Luokka:ohjeet]]
Wikin materiaali on kaikkien vapaasti käytettävissä Creative Commons 3.0 - nimi mainittava -lisenssin alaisuudessa. TEKIJÄNOIKEUDEN ALAISEN MATERIAALIN KÄYTTÄMINEN ILMAN LUPAA ON EHDOTTOMASTI KIELLETTYÄ!

Muokataksesi tätä sivua vastaa alla olevaan kysymykseen (lisätietoja):

Peruuta Muokkausohjeet (avautuu uuteen ikkunaan)

Tällä sivulla käytetyt mallineet: