Laadunvarmistus (Quality Assurance)

Kuvauksen kirjoitti: Joel Harjunheimo, tunnus L8342

Lyhyt kuvaus käsitteestä tai aiheesta

Laadunvarmistuksen tehtävä on nimensä mukaan tarkoitus varmistaa ohjelmiston laatu. Ohjelmiston laatua mitatessa tarkkaillaan sen sisäisiä ja ulkoisia ominaisuuksia. Ulkoista laatua mitataan sillä, miten ohjelmisto suoriutuu todellisessa käytössä ja miten paljon se hyödyttää ohjelmiston käyttäjää. Sisäinen laatu taas mittaa ohjelmiston lähdekoodin laatua. Käyttäjä kiinnittää yleensä eniten huomiota ulkoiseen laatuun, eli siihen miten ohjelmisto toimii, mutta hyvä ulkoinen laatu vaatii hyvän sisäisen laadun. Laadunvarmistuksessa on tällä hetkellä kaksi lähestymistapaa: Vianhallinta (Defect Management) ja laatuattribuutit (Quality Attributes).

Vianhallinta

Kaikki asiat, jotka poikkeavat asiakkaan vaatimuksista, voidaan määritellä vioiksi. Viat voivat johtua ohjelmistokehittäjien puutteellisesta ymmärryksestä, suunnitteluvirheistä tai huonosta koodista. Jotta kehittäjät pysyvät kartalla vioista, käytetään vianhallintamenetelmiä. Vianhallintamenetelmien tarkoitus on jakaa viat eri kategorioihin niiden vakavuuden perusteella. Vian vakavuus määrittelee myös sen mitä korjaavia toimenpiteitä asialle tehdään.

Laatuattribuutti

Laatuattribuutti -lähestymistapa keskittyy kuuteen eri ominaisuuteen, jotka ovat: toiminnallisuus, toimintavarmuus, käytettävyys, tehokkuus, huollettavuus ja siirrettävyys.

Toiminnallisuus tarkoittaa sitä, että ohjelmiston toiminnot ovat sopivia (soveltuvuus) ja oikein toteutettuja, ohjelmisto toimii oikein muiden komponenttien kanssa (yhteentoimivuus) ja se on kaikkien lakien ja ohjeistuksien mukainen (ohjeidenmukaisuus). Myös turvallinen tiedon käsitteleminen ja välittäminen (turvallisuus) on tärkeä osa toiminnallisuutta.

Toimintavarmuus viittaa ohjelmiston kykyyn toimia tietyissä olosuhteissa määritellyn ajan, mutta myös mahdollisen komponenttivian sattuessa. Toimintavarmuutta mitataan häiriöiden tiheydellä ja ajalla, joka tarvitaan ohjelmiston toimintakuntoon laittamiseen häiriön jälkeen. Tehokkuus riippuu yleisesti siitä, miten hyvin ohjelmiston arkkitehtuuri on rakennettu ja miten ohjelmiston kehitys on noudattanut hyviä ohjelmointitapoja.

Käytettävyys määrittyy siitä, miten helppo ohjelmiston toimintoja on käyttää. Sitä voidaan mitata toimintojen ymmärtämisen helppoudella, sekä miten paljon aikaa eri osaamistasoisilla käyttäjillä menee opetellessa käyttämään ohjelmistoa.

Huollettavuuteen vaikuttaa suurelta osin koodin luettavuus ja sen monimutkaisuus, jotka vaikuttavat paljon virheiden tunnistamiseen ja korjaukseen. Huollettavuutta voidaan mitata sillä, miten helppo ohjelmistoa on analysoida, miten helppo siihen on tehdä muutoksia virheiden poistamiseksi, miten vakaa ohjelmisto on, kun siihen tehdään muutoksia ja kuinka paljon aikaa menee sen testaukseen.

Siirrettävyyttä voidaan mitata sillä, miten hyvin ohjelmisto sopeutuu uusiin määrityksiin, miten helposti se voidaan asentaa ja miten helposti ohjelmistosta voidaan vaihtaa komponentteja.

Ohjelmistotestaus ja laadunvarmistus

Vaikka ohjelmistoteustauksen ja laadunvarmistuksen päämäärä on laadukas tuote, ohjelmistotestaus keskittyy vikojen etsintään ja kehityksen pitämisessä asiakkaan määrityksen mukaisena kun taas laadunvarmistus pitää huolta siitä, että ohjelmiston laatu vastaa asiakkaan vaatimuksia.

Lähteitä liittyen aiheeseen

What is Software Quality Assurance

Linkit wikin muihin sivuihin

Poikkeama

Virhe

Kelpuuttaminen

Vianhallinta