Ero sivun ”Ohjelmointivirhe” versioiden välillä
p (fix) |
|||
(15 välissä olevaa versiota 8 käyttäjän tekeminä ei näytetä) | |||
Rivi 1: | Rivi 1: | ||
{{Perustietoa}} | |||
'''Ohjelmointivirhe''' eli bugi (engl. ''bug'') on tietokoneohjelmassa oleva virhe. | |||
==Raportointi== | ==Raportointi== | ||
Ohjelmointivirheen 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. | ||
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== | ||
* [[ | * [[Bugzilla]] - yleisesti käytetty www-pohjainen vikailmoitusten hallinta- ja raportointityökalu, alun perin [[Mozilla]]-projektista. | ||
* [[ | * [[Gnome]]n vikailmoitustyökalu on nimeltään [[Bug-buddy]]. | ||
* [[Launchpad]] on | * [[Launchpad]] on erityisesti [[Ubuntu]]n käyttämä kehitysalusta, johon kuuluu myös vianseurantajärjestelmä. | ||
* Katso myös [[:Luokka: | * [[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== | ==WWW-raportointi== | ||
Ohjelmistokohtaisia vianraportointisivustoja: | |||
* [http://limpet.net/audacity/bugzilla/ Audacious] | * [http://limpet.net/audacity/bugzilla/ Audacious] | ||
* [https://bugs. | * [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/ | * [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: |
Nykyinen versio 3. elokuuta 2016 kello 15.55
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: