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
- What is a Software Bug? How much does fixing them cost?
- Bugs in Software Testing – What, Where and How
- What is a Software Bug?
- Software Testing Basics: Types of Bugs and Why They Matter
Avainsanat harjoitustehtävän repositoriossa
Listaa tähän käsite-sivut repositorion sisältä, jotka liittyvät kuvaamaasi käsitteeseen/aiheeseen