ohjelmiston testaus ja laatu -...

30
Ohjelmiston testaus ja laatu Laatu

Upload: buinguyet

Post on 05-Oct-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Ohjelmiston testaus ja laatu

Laatu

Page 2: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Määritelmiä

n ohjelmiston laatu = tuotteen kyky täyttää käyttäjänsä kohtuulliset toiveet ja odotuksetq subjektiivinen käsiteq käyttöympäristöstä riippuva

n laatu ei tarkoita huippulaatua, vaan erilaisia mitattavia ominaisuuksia

n tuotteen laatuun vaikutetaan parhaiten toiminnan laadun kauttaq hallittu prosessi à laadukas tuote

n laadunvarmistus = tavoitteena löytää virheitä ajamalla ohjelmaa tietokoneella (sukulaistermejä ovat mm. katselmointi, tarkastus,läpikäynti, laaduntarkastus)

n virhe = jos tuote ei täytä käyttäjänsä kohtuullisia odotuksia, tuote on virheellinen

Page 3: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Laatujärjestelmä - 1

n laatujärjestelmä = yrityksen toimintatapa eli prosessi tuotteen tekemiseksiq laatukäsikirja, ohjeistuksetq ohjelmistoyritysten laatujärjestelmät ovat yleensä väljiä

n tavoite: suunniteltua laatua aikataulun ja budjetin mukaisestiq ei huippulaatua, riittävän hyvää laatua

n todistettavuus ja jäljitettävyysq ulkopuolisen tahon tai sisäisen laadunvarmistuksen kyettävä

varmistamaan, että yritys toimii laatujärjestelmän mukaisestiq todisteita: tarkastuspöytäkirjat, virheraportit...

n laatujärjestelmä on sovellus jostakin laatustandardistan laatujärjestelmän sertifiointi (ISO 9001)

q määrittelee yleisellä tasolla perusasiat, jotka laatujärjestelmän tulee sisältää

Page 4: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Laatujärjestelmä - 2

n sertifiointi = ulkoisen arvioijan tekemä katselmus siitä, että toiminta on laatujärjestelmän mukaistaq sertifiointi ei todista laatujärjestelmän erinomaisuuttaq käytännössä sertifiointi vaaditaan (asiakaspaineet)

n laatujärjestelmämallejaq ISO 9001, CMM, SPICE

n laatujärjestelmän kehittäminen – lähtee aina nykytilastaq edetään pienin askelinq nykyisten toimintatapojen kirjaaminenq toimintatapojen hyvyyden analysointiq toimintatapojen kehittäminen ja muutosten vaikutusten

analysointi

Page 5: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Laadunvarmistus

n laatujärjestelmän olennaisin osan kohdistuu sekä tuotteen että toiminnan

laatuunn tuotteen laatuq vaihetuotteiden laadunvarmistus

n toiminnan laatuq laatujärjestelmän tai sen osien auditoinnitq ulkoinen, sisäinen, asiakas

Page 6: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Laadunvarmistuksen vaiheet - 1

tuottaminentuote

yleiskatsaus

valmistautuminen

tarkastusvirheet

korjaus

seuranta

Page 7: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Laadunvarmistuksen vaiheet - 2n 0) tuote valmistunut

q tekijä ilmoittaa projektipäällikölle tuotteen valmistumisenq valitaan tarkastuksen koordinaattoriq valitaan laaturyhmä ja kutsutaan yleiskatsaukseenq yleiskatsaukseen kopioidaan tuote ja liitteet

n 1) yleiskatsausq koko laaturyhmä osallistuuq tuotteen materiaalit jaetaan ryhmälleq esitellään lyhyt kuvaus tuotteesta

n 2) valmistautuminenq kukin ryhmän jäsen työskentelee itsekseenq huolellinen perehtyminen materiaaliinq tavoitteena ymmärtää tuote, kirjata virheet/puutteetq tarkastuslistan laadinta, positiivinen/negatiivinen kommentti

n 3) tarkastusistuntoq koko laaturyhmäq tavoitteena löytää virheet ja puutteet – ei korjata virheitä, arvioida tuotetta - ei tekijääq koordinaattori vastaa tavoitteiden saavuttamisen, istunnon laadukkuuden/tehokkuudenq istunnon kulku: aloitus – tuotteen läpikäynti – päätös

n 4) korjaaminenq tekijä korjaa virheet

n 5) seurantaq laaturyhmän valitsema henkilö tarkistaa, että virheet on korjattu oikein

Page 8: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Laadunvarmistuskeinoja

n Katselmuksetq Sopimuskatselmuksetq Projektin edistymiskatselmuksetq Lopputuotteeseen liittyvät katselmukset

n Testausn Auditoinnit

q Sisäisetq Ulkoiset

Page 9: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Virheanalyysi – eräs menetelmä laadunvarmistukseen

n ohjelmiston havaitut virheet ja oireet dokumentoidaan

n jokainen virhe analysoidaanq 1. mitä tehtiin väärinq 2. milloin virhe tehtiin ja missä vaiheessaq 3. miksi virhe tehtiin – perimmäinen syyq 4. miksi virhettä ei havaittu aiemminq 5. miten saman virheen teko estetään toistumastaq 6. miten sama virhe löydetään aikaisemmin, jos

se toistuu

Page 10: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Laadunvarmistuksen tavoitteet

n tavoite 1: virheiden estäminenq tarkastus (muodollinen), katselmus (epämuodollinen)q soveltuu kaikille dokumenteilleq tuotteen jäädytys projektin vaiheen katselmuksen jälkeenq paras tapa vähentää lopputuotteen vikoja!

n verifiointi eli todentaminen “Are we building the product right?”n validointi eli kelpoistaminen “Are we building the right product?”

n tavoite 2: virheiden etsiminenq testausq soveltuu vain ohjelmilleq kuuluu elinkaaren toimintoihinq testauksen suorittaminen helppoa, mutta suunnittelu vaikeaa

etenkin reaaliaikajärjestelmissäq automatisoitava

Page 11: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Laadunvarmistus ja projekti

n projektin seurantaq tekniset katselmukset (technical review)q vaiheen tuote käydään läpi ja hyväksytäänq todetaan vaihe päättyneeksi!

n projektin eteneminen saadaan näkyväksin katselmuspisteet välietappeja

Page 12: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Projektin katselmukset ja tarkastukset

Page 13: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Katselmusn Katselmointi/katselmus (review) = käsite, joka voi tarkoittaa esim.

hallinnollista johdon suorittamaa katselmointia tai teknistä katselmointia, jota tehdään tärkeimmissä projektin vaiheissa. Tällöin varmistetaan, että kaikki vaaditut vaiheet ja dokumentit on tehty.

n Tarkastus (inspection) = määritelty prosessi, jossa tarkastettava tuote tarkastetaan tiettyjen sääntöjen ja tarkistuslistojen avulla. (Mitä aikaisemman tarkistus tehdään vaiheen kuvaukseen, sitä tehokkaampaa)

n Läpikäynti (walk-through) = epämuodollinen ohjelmakoodin tarkastuksen muoto, missä tekijä selittää, mitä hän ”luulee ohjelmansa tekevän”

n Vertaiskatselmointi (peer review) = käsite katselmoinnille tai tarkastukselle, joka voi tarkoittaa tarkastusta, läpikäyntiä tai näiden välimuotoa

n katselmukseen piiriin kuuluvat osatq sopimusq määrittelydokumenttiq suunnitteludokumenttiq testaussuunnitelmaq koodiq käyttöohjeetq projektisuunnitelma

n katselmuksilla varmistetaan tuotteen eri vaiheiden henkilöriippumattomuusn katselmoinnin ajallinen kesto oltava lyhyt (esim. 2 tuntia)

Page 14: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Dokumentointi ja laatun ohjelmistotyö on dokumenttien tuottamista!

q dokumentit projektin keskeinen tuotosn dokumentaation vähimmäismäärä

q projektisuunnitelmaq määrittelydokumentti - toiminnallinen määrittely (IEEE830)q suunnitteludokumentti - tekninen määrittely (IEEE1016)q testaussuunnitelma

n hyvätasoisessa laatujärjestelmässä dokumentaatio on huomattavasti laajempi

n dokumentaation ylläpitoq ajallinen ylläpito (versiointi), sisäinen eheys, jäljitettävyys molempiin suuntiin

ja dokumenttien välillän dokumentaation luokittelu

q projektidokumentaatio ja tuotedokumentaatioq projektin aikainen ja projektin tuotos (projektin jälkeen jäävä)q tekninen ja yleinenq yrityksen dokumentaatio ja asiakasdokumentaatio

Page 15: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Garvin (1984) näkökulmat laatuun - 1

n Ihannenäkökulmaq näkee laadun sellaisena, joka voidaan havaita, mutta ei määritelläq pyritään sitä kohden, mutta ei välttämättä päästä

n Käyttäjän näkökulmaq näkee laadun sopivuutena haluttuun tarkoitukseen

n Tuotenäkökulmaq tuotteen sisäisillä laatuindikaattoreilla voidaan kertoa tuotteen

ulkoisesta laadusta, eli miltä tuote tuntuu asiakkaastaq ISO 9126-1 standardin ulkoiset ja sisäiset laatuindikaattorit

n Toiminnallisuus (Functionality)n Luotettavuus (Reliability)n Käytettävyys (Usability)n Tehokkuus (Efficiency)n Ylläpidettävyys (Maintainability)n Siirrettävyys (Portability)n à Missä määrin tiettyjen käyttäjien käyttämä tuote vastaa heidän asettamia

tavoitteita tehokkuuden, tuottavuuden, turvallisuuden, tyytyväisyyden suhteen

Page 16: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Garvin (1984) näkökulmat laatuun - 2

n Rakentamisnäkökulmaq Toimitaan määritellyn prosessin mukaan, ei niinkään tietylle

tuotteelle tehtyjen vaatimusmäärittelyjen mukaan.q kritiikkiä edellisen lauseen perusteella: ”ei tuoteta

välttämättä parasta tuotetta, vaan rutiiniluontoisesti käypä, joskus jopa huono tuote”

q Prosessin jatkuva parantaminen vaatii kohteen (prosessin) mittausta

n Arvonäkökulmaq näkee laadun rahana, jonka asiakas on valmis sijoittamaan

siihenq arvonäkökulman mukaisesti voidaan myös tehdä valintoja

hyötyjen, kustannusten ja laadun suhteenq asiakas voi hyväksyä käyttöönsä ”keskeneräisen” tuotteen,

jos sen tarjoamat uudet ominaisuudet ovat riittävän houkuttelevia

Page 17: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Ohjelmiston laatuongelmien aiheuttajian Ongelmat asiakkaan ja kehittäjän välisessä viestinnässä n Vaatimusmäärittelyjen virheet

q virheelliset, puutteelliset, ylimääräiset ominaisuudetn Poikkeamat vaatimuksista

q ohjelmistomoduulien uudelleenkäyttö, ajanpuutteesta johtuvat toteuttamattomat osat, kehittäjän omat lisäykset

n Suunnitteluvirheetq virheelliset algoritmit, prosessin virheet, järjestelmän tilan puuttuvat tarkastukset,

virhetilanteiden puuttuva käsittely n Koodausvirheetn Dokumentointiohjeista ja koodausohjeista poikkeaminen

q kehitystiimi saa puutteelliset kommentitn Testausprosessin puutteet

q testisuunnitelmat puutteelliset, havaittujen virheiden raportointi puutteellinen, virheen aiheuttaja epäselvä à ongelmia virheen korjaamiseen, korjaamiseen varattu aikaa liianvähän

n Dokumentointivirheetq toimintojen kuvaus puutteellinen, esitellään ylimääräisiä toimintoja, virheet

käyttöohjeissan Käyttöönottovaiheen ongelmat

q puutteellinen opastus, ympäristön puutteellisuudet, puutteellinen ylläpito

Page 18: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Tietojärjestelmän laatu

n oikea tuoteq oikeat tiedot ja palvelutq oikea käyttöliittymäq oikea luotettavuusq oikea ylläpidettävyys

n oikeaan aikaanq oikeat työmääräarviotq oikea aikatauluq oikea projektinhallinta

n oikeaan hintaanq oikeat työmääräarviotq oikea projektinohjausq oikea testattavuusq oikea ylläpidettävyysq oikeat määrittelyt

n laadun tasotq pohjana ”Täytyy olla” -laatuq kuorrutuksena ”Houkutteleva”

-laatu

Page 19: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Korjauskustannukset – arvio

n ”teoreemoja”q mitä aikaisemmin virhe tehdään, sitä myöhemmin se havaitaanq mitä myöhemmin virhe havaitaan, sitä kalliimpaa on sen korjaaminenq mitä myöhemmin virhe korjataan, sitä todennäköisempää on sen

korjaaminen väärin

x

30x

90x

270x

tarvemäärittely

toiminnallinen määrittely

tekninen suunnittelu

ohjelmointi moduulitestaus

integrointitestaus

järjestelmätestaus

käyttö

Page 20: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Mietittäväksi1. terveydenhoito

virheiden ennaltaehkäiseminen oikeilla työtavoilla – ennen ohjelmointia

2. terveystarkastuksetvirheiden etsiminen ja korjaaminen ennen ohjelmointia

3. sairaanhoitovirheiden etsiminen ja korjaaminen testausvaiheessa

4. ensiapuvirheiden korjaaminen käytönaikana

kustannusvaikutus

Page 21: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Laadun päälajit

n Tuotelaatu q liittyy kehitettävään ohjelmistotuotteeseen

n Resurssilaatuq liittyy ohjelmiston kehittäjiin

n Prosessilaatuq liittyy kehitysprosessiin

n Objektiivinen laatuq suoraan mitattavissa oleva (tekninen) laatu

n Subjektiivinen laatuq eri käyttäjien kokema laatu

Page 22: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Laadun alalajit - 1

n 1) Mitattavuusq Tuotosten, prosessin ja henkilöstön ominaisuuksien mitattavuus

(esim. laskemalla, keräämällä ja tallentamalla systemaattisesti mittaustietoja)

q Objektiiviset (esim. palkkataso) tai subjektiiviset määreet (esim. motivaatiotaso)

n 2) Toteutettavuusq Toteutettavuus nykyteknologialla tai tulevalla teknologialla (esim.

soveltuvuustutkimus, tekninen analyysi)n 3) Varmennettavuus

q Todennettavuus (esim. käyttäen formaaleja menetelmiä ja matemaattista todennusta)

q Testattavuus (esim. välttäen sellaisten kehitysratkaisujen käyttöä, jotka vähentävät mahdollisuutta käyttää tehokkaita testauksen apuvälineitä)

Page 23: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Laadun alalajit - 2

n 4) Tehokkuus (tuotteen)q Suorituskyky, nopeus (tarkoitukseen sopivan ohjelmointikielen käyttö,

mahdollisesti kriittisten osien toteuttaminen käyttäen assembleria)q Muistitilan ja muiden resurssien tehokas käyttöq Vasteaikavaatimusten täyttäminenq Ajoitustarkkuusq Korkea käyttöaste

n 5) Virheettömyys (tuotteen)q Loogisten virheiden vähäinen määräq Syntaktisten virheiden vähäinen määrä (syntaksin huomioivan editorin

käyttö)q Suunnitteluvirheiden vähäinen määräq Ohjelmointivirheiden vähäinen määrä (käyttäjäpalaute)q Ohjelman vakiotoiminta vakiosyötteelläq Virheettömyys julkistuksen aikana ja ”pitkässä juoksussa”q Laskennallinen tarkkuusq Toimintojen ajoituksien tarkkuus

Page 24: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Laadun alalajit - 3

n 6) Luotettavuusq Vakaus, toimintavarmuus, käyttövarmuus q Turvallisuus erityisesti kriittisissä tilanteissaq Vikasietoisuus, poikkeustilanteiden hallittu käsittelyq Toipumiskyky virhetilanteistaq Tietosuojan huomiointitaso

n 7) Käytettävyysq Käytön oppimisen helppous (dokumentaatio, koulutus)q Helppokäyttöisyys (huomioiden käyttäjäryhmän taitotason)q Subjektiivinen käyttötyytyväisyysq Toimintojen ennakoitavuus ja yhdenmukaisuus

n 8) Ymmärrettävyysq Lähdekoodin ja dokumenttien luettavuus ja tulkittavuusq Hyvän ohjelmointityylin noudattamisasteq Jäljitettävyys, “läpinäkyvyys”q Järjestelmän toimintatavan ymmärrettävyys ja sen tuki

Page 25: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Laadun alalajit - 4

n 9) Dokumentoinnin riittävyysq Käyttäjädokumenttien laatuq Teknisten raporttien ja referenssimanuaalien laatuq Lähdekoodin kommentoinnin yhdenmukaisuus, kattavuus ja oikea

kohdentuminenn 10 ) Ylläpidettävyys

q Joustavuus, muunnettavuus, muokattavuus, päivitettävyys, varioitavuus, “räätälöitävyys” (esim. panostamalla ehkäisevään ylläpitoon, spekulatiivinen suunnittelu, parametrointi, geneerisyys, redundanssin välttäminen)

q Lähdekoodin käytettävyys (käyttöoikeuksien varmistaminen)q Tarvittavien kehitysvälineiden (kääntäjät) käytettävyys pitkällä tähtäimellä

n 11) Standardinmukaisuusq Yleinen asianmukaisten vakiintuneiden menetelmien, kielten, rajapintojen

jne. käyttöq “Kohdealueen sääntöjen” noudattaminen (esim. ohjelmointityylit)q Lainsäädännön asettamien rajoitteiden (esim. henkilötietojen tallentaminen)

huomiointi suunnitelmallisuus ja järjestelmällisyys

Page 26: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Laadun alalajit - 5

n 12) Uudelleenkäytettävyysq Uudelleenkäytettävyys eri tasoilla: ohjelmat, funktiot, moduulit, komponentit,

suunnitelmat, data (esim. oliolähestymistavan, suunnittelumallien, uudelleenkäytettävien komponenttien ja sovelluskehysten käyttö).

q Yleiskäyttöisyys, monipuolisuus, geneerisyysq Yhteenliitettävyys, yhteensopivuusq Laajennettavuus, skaalautuvuus (käsiteltävät tietomäärät, käsiteltävät tietotyypit,

käyttäjien määrä, jne.)q Siirrettävyys eri ohjelmointikielille, käyttöjärjestelmiin, laitealustoille jne.

n 13) Toiminnallisten tuotevaatimusten täyttöasteq Vaatimusten täytön kattavuusq Toiminnallisuuksien oikea kohdentuminen, tarkoituksenmukaisuusq Soveltuvuus käyttötarkoitukseen

n 14) Kustannustehokkuusq Tuotteen hinnan sopivuus (käyttäjätutkimukset)q Projektin aikataulun pitävyysq Yleinen resurssien käytön tehokkuus/tarkoituksenmukaisuusq Mahdollinen saavutettava kilpailuetu (markkina-analyysit)

Page 27: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Laadun alalajit - 6

n 15) Tekninen laatuq Yksinkertaisuus, suoraviivaisuus (ei tarpeetonta

kompleksisuutta, joka ei johdu ongelmasta)q Tyylillinen yhdenmukaisuus (vähän “kirjavuutta” loogisten

osien sisällä)q Rakenteisuus, hierarkkisuus, asianmukainen osittaminen

(esim. modularisointi)q Tiedon kapselointiaste (esim. oliolähestymistapa)q Rajapintojen käyttöasteq Korkean tason rakenteellisten osien (moduulit tms.)

välisten kytkentöjen suhteellinen vähäinen määräq Abstraktioiden hyödyntäminenq Suunnittelu tai toteutustekninen laatu

Page 28: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Ohjelmistotuotteen laatukriteerit - 1n ISO 9126

q toiminnallisuusn Löytyykö ohjelmistosta siltä vaaditut toiminnot?n Sopivuus (Suitability)

q Miten hyvin toiminnot täyttävät niille määritellyt tehtävät?n Tarkkuus (Accurateness)

q Onko tulosten tarkkuus sovitulla tasolla?n Yhteensopivuus (Interoperability)

q Ohjelmiston kyvykkyys toimia muiden järjestelmien kanssan Mukautuvuus (Compliance)

q Ohjelmiston kyky noudattaa sovellusalueeseen liittyviä standardeja, sopimuksia tai lainsäädäntöä

n Turvallisuus (Security)q Miten ohjelmisto hoitaa tietoturva-asiat?

q tehokkuusn Kuinka tehokas ohjelmisto on?n Ajankäyttö (time behavior)

q Ohjelmiston vaste- ja suoritusajatn Resurssien käyttö (resource behavior)

q Miten ohjelmisto varaa ja käyttää resursseja?

Page 29: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Ohjelmistotuotteen laatukriteerit - 2n ISO 9126

q ylläpidettävyysn Kuinka helposti ohjelmistoa voi muuttaa ?n Analysoitavuus

q Kuinka voit paikallistaa muutoksen vaikutuksen?n Muunneltavuus

q Kuinka helposti voit muuttaa tai korjata ohjelmistoa? q Miten voit muokata ohjelmistoympäristöä?

n Stabiilisuusq Miten ohjelmisto kestää muutosten aiheuttamat yllättävät vaikutukset?

n Testattavuusq Miten muutetun ohjelmiston toimivuus voidaan testata?

q siirrettävyysn Miten helposti ohjelmiston voi siirtää toiseen ympäristöön?n Mukautuvuus

q Millä toimilla ohjelmisto saadaan siirrettyä toiseen toimintaympäristöön?n Asennettavuus

q Miten ohjelmisto asennetaan määriteltyyn ympäristöön?n Yhteensopivuus

q Miten ohjelmisto noudattaa siirrettävyyteen liittyviä standardeja ja sopimuksia?n Korvattavuus

q Millä toimenpiteillä ohjelmisto voi korvata toisen ennalta määritellyn

Page 30: Ohjelmiston testaus ja laatu - webd.savonia.fiwebd.savonia.fi/home/ktrasse/muut/testaus_laatu/laatu_1.pdf · q määrittelydokumentti - toiminnallinen määrittely (IEEE830) q suunnitteludokumentti

Ohjelmistotuotteen laatukriteerit - 3

n ISO 9126q käytettävyys

n Miten helppokäyttöinen ohjelmisto on?n Ymmärrettävyys

q Ohjelmiston toimintojen loogisuus käyttäjän näkökulmastan Opittavuus

q Miten helppoa ohjelman käytön oppiminen on käyttäjälle?n Käyttökelpoisuus

q Miten hyvin ohjelmisto sopii käyttäjän työhön?q luotettavuus

n Kuinka luotettava ohjelmisto on?n Ohjelmiston kypsyys

q Miten usein ohjelmistovirheet aiheuttavat häiriötilanteen?n Vikasietoisuus

q Ohjelmiston kyky sietää virhetilanteitan Palautumiskyky

q Miten ohjelmisto palautuu häiriötilanteesta?