Ero sivun ”Ohjelmointivirhe” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(Ohjelmointivirhe)
 
p (fix)
 
(21 välissä olevaa versiota 10 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
[[wikipedia:fi:Ohjelmointivirhe|Ohjelmointivirhe]] eli bugi on tietokoneohjelmassa tai lähdekoodissa oleva virhe.
{{Perustietoa}}
'''Ohjelmointivirhe''' eli bugi (engl. ''bug'') on tietokoneohjelmassa oleva virhe.


==Raportointi==
==Raportointi==
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 logitiedostot tai [[komentorivi]]n tulosteet.
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.
 
Hyvä virheilmoitus kertoo ohjelman kehittäjille kolme keskeistä asiaa:
* Mitä odotit tapahtuvan
* Mitä todella tapahtui
* Mitä teit tai olit tekemässä, kun virhe tapahtui
 
=== 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:
  ubuntu-bug paketin_nimi


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


==Jakeluiden vianseurantajärjestelmät==
==WWW-raportointi==
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/ RedHat ja Fedora]
* [https://bugzilla.redhat.com/ RHEL 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]]

Nykyinen versio 3. elokuuta 2016 kello 15.55

Linux.fi-wikissä artikkelit käsittelevät yleensä aihettaan siltä osin, kuin se koskee Linuxia ja avoimia/vapaita ohjelmistoja. Yleisluontoisemman artikkelin tästä aiheesta löydät tietosanakirja Wikipediasta.

Ohjelmointivirhe eli bugi (engl. bug) on tietokoneohjelmassa oleva virhe.

Raportointi[muokkaa]

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 komentorivin tulosteet.

Hyvä virheilmoitus kertoo ohjelman kehittäjille kolme keskeistä asiaa:

  • Mitä odotit tapahtuvan
  • Mitä todella tapahtui
  • Mitä teit tai olit tekemässä, kun virhe tapahtui

Mitä odotit tapahtuvan[muokkaa]

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[muokkaa]

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[muokkaa]

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:

 ubuntu-bug paketin_nimi

Työkalut[muokkaa]

  • Bugzilla - yleisesti käytetty www-pohjainen vikailmoitusten hallinta- ja raportointityökalu, alun perin Mozilla-projektista.
  • Gnomen vikailmoitustyökalu on nimeltään Bug-buddy.
  • Launchpad on erityisesti Ubuntun 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 Vikailmoitusohjelmat-luokka.

WWW-raportointi[muokkaa]

Ohjelmistokohtaisia vianraportointisivustoja: