Ohjelmointivirhe

Linux.fista
Versio hetkellä 24. maaliskuuta 2015 kello 20.20 – tehnyt Foliohattu (keskustelu | muokkaukset) (alun perin)
Siirry navigaatioon Siirry hakuun

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

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 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

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

  • 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

Ohjelmistokohtaisia vianraportointisivustoja: