Skip to content

Bug - Vika

Kuvauksen kirjoitti: Matias Ruha

Lyhyt kuvaus käsitteestä tai aiheesta

Bug eli vika on ohjelmassa tai järjestelmässä oleva vika, joka aiheuttaa ohjelman tai järjestelmän virheellistä, normaalista poikkeavaa ja/tai suunnittelematonta toimintaa. Valtaosa vioista syntyy inhimillisistä virheistä kuten väärinymmärryksistä, joita on tehty ohjelmistosuunnittelun aikana. Vikoja voidaan luokitella moniin eri luokkiin monin eri tavoin. Vika voi olla pieni ja vaaraton kuten käännösvirhe verkkosivuilla tai jokin kosmeettinen ongelma. Se voi olla myös suuri ja vakava, joka voi kaataa koko ohjelmiston tai järjestelmän ja aiheuttaa henkilövahinkoja ja suuria taloudellisiavahinkoja.

Vikojen luokittelu

Vikoja voidaan luokitella monin eri tavoin kuten esimerkiksi vian luonteen perusteella:

  • Toiminnallinen vika eli vika, jonka seurauksena ohjelmiston tai järjestelmän toiminta ei ole toiminnallisten vaatimusten mukaista
  • Suorituskykyyn liittyvät viat, jotka liittyvät ohjelmiston tai järjestelmän nopeuteen, vakauteen ja resurssien käyttöön. Ohjelmisto tai järjestelmä ei saata täyttää suorituskykyyn liittyviä vaatimuksia.
  • Käytettävyyteen liittyvät viat, joiden seurauksena ohjelmiston käyttäminen on epämukavaa.
  • Yhteensopivuuteen liittyvät viat, joiden seurauksena ohjelmisto ei toimi tietynlaisessa selaimessa tai laitteistossa.
  • Tietoturvaan liittyvät viat, joiden seurauksena arkaluontoista tietoa käyttäjistä voi vuotaa ulkopuolisille.

Vikoja voidaan luokitella myös vian vakavuuden perusteella:

  • Kriittinen: Aiheuttaa esimerkiksi ohjelmistoon huomattavia häiriöaikoja ja liiketoimintaa harjoittavalle yritykselle vakavia taloudellisia seuraamuksia.
  • Vakava: Aiheuttavaa esimerkiksi ohjelmiston tärkeimpien toiminnallisuuksien virheellisen toiminnan.
  • Kohtalainen: Aiheuttaa esimerkiksi vähemmän tärkeän toiminnallisuuden virheellisen toiminnan.
  • Vähäinen: Aiheuttaa esimerkiksi käyttöliittymän painikkeen virheellisen ulkonäön.

Lisäksi vikoja voidaan luokitella prioriteetin perusteella:

  • Kiireellinen, korjattava 24h kuluessa.
  • Korkea, korjattava seuraavassa julkaisussa.
  • Kohtalainen, korjattava tulevan julkaisun jälkeen.
  • Matala, korjattava ennen kuin ohjelmisto tulee yleiseen käyttöön.

Vikojen syntyminen ja niiden estäminen

Vikoja syntyy monista eri syistä. Useimmat viat ovat kuitenkin ohjelmistosuunnittelijan ihnhimillisiä virheitä, jotka johtuvat esimerkiksi väärinymmärryksistä ja kirjoitusvirheistä (syntaksi- ja käännösvirheet). Näitä voidaan estää selkeällä ja riittävällä kommunikoinnilla.

Kaikki virheet eivät kuitenkaan johdu ainoastaan ohjelmistosuunnittelijasta. Projektin alussa tehtävä suunnittelu- ja speksaustyö on tärkeää, koska liian epäselvät vaatimukset, käyttäjätarinat, dokumentit ym. lisäävät vikojen mahdollisuutta. Lisäksi jatkuvat muutokset vaatimuksissa sekoittavat ohjelmistosuunnittelijoita ja johtavat usein virheisiin. Projektissa on tärkeää pitää järkevät deadlinet, jotta aikaa jää myös testaamiselle, jonka tarkoituksena on estää vikojen pääsy julkaistavaan versioon.

Vikojen etsiminen ja korjaaminen

Vikoja voidaan etsiä ohjelmistotestauksella. Ohjelmistotestauksella tarkoitetaan ohjelmiston toimintojen ja ominaisuuksien testaamista, jolla voidaan todentaa niiden täyttävän vaatimukset ja toimivan suunnitellusti. Testaamisen aikana löytyvät viat raportoidaan ja korjataan. Kaikki viat eivät löydy testaamisen aikana, vaan niitä voi lipsahtaa myös julkaisuun. Asiakkaan ilmoittamat viat voidaan korjata ohjelmistopäivityksellä.

Linkit ulkopuolisiin lähteisiin

Avainsanat harjoitustehtävän repositoriossa

Listaa tähän käsite-sivut repositorion sisältä, jotka liittyvät kuvaamaasi käsitteeseen/aiheeseen