Ohjelmiston testaus ja laatu. Laatu



Samankaltaiset tiedostot
ITK130 Ohjelmistojen luonne

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

LAATU, LAADUNVARMISTUS JA f RISKIEN HALLINTA JOUNI HUOTARI ESA SALMIKANGAS PÄIVITETTY

Käytettävyyslaatumallin rakentaminen verkkosivustolle

Sytyke ry:n laivaseminaari Software Technology Transfer Pekka Forselius

TARKASTUSMENETTELYT JA NIIDEN APUVÄLINETUKI

Ohjelmistotekniikka kevät 2003 Laatujärjestelmät

tsoft Tarkastusmenettelyt ja katselmukset Johdanto Vesa Tenhunen

Ohjelmistotuotanto, s /27/2003

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

Ohjelmiston testaus ja laatu. Testaustasot

LAATU, LAADUNVARMISTUS JA f RISKIEN HALLINTA JOUNI HUOTARI ESA SALMIKANGAS

Laatukäsikirja - mikä se on ja miten sellainen laaditaan?

Laatukustannukset. Laadun hallinta. Laadun kustannuksista

KONEAUTOMAATION LAATU JA TURVALLISUUS Marko Varpunen

Katselmoinnin määritelmä. Katselmoinnit osa 1. ja vielä ajatuksia katselmoinneista. Katselmointi. Katselmointi, katselmus (review) IEEE Std

Yleiskuvaus - LVpalvelukerroksen. laadulliset vaatimukset Jari Kokko & Vesa Mettovaara LUVAT JA VALVONTA -KÄRKIHANKE

Toiminnan laadunvarmistus SYSTEEMITYÖ. Laatu

Laadun hallinta. Laatukustannukset. Laadun kustannuksista. Sami Kollanus TJTA330 Ohjelmistotuotanto

Laadun hallinta. Laatukustannukset. Sami Kollanus TJTA330 Ohjelmistotuotanto

2. päivä. Etätehtävien purku Poikkeamat. Poikkeamat Auditoinnin raportointi Hyvän auditoijan ominaisuudet Harjoituksia

Projektin suunnittelu

Ohjelmistotuotanto, syksy laatu Ohjelmiston laatu

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Arviointi ja mittaaminen

Uudelleenkäytön jako kahteen

SYSTEEMITYÖ. Tärkeitä sanoja

Oleelliset vaikeudet OT:ssa 1/2

Katselmoinnit. review) Katselmoinnit (review( Mitä ovat katselmoinnit? Katselmoinnin määritelmä (IEEE 1988)

ISO 9001:2015 JÄRJESTELMÄ- JA PROSESSIAUDITOIN- NIN KYSYMYKSIÄ

Laatu ohjelmistotyössä

TOIMINNALLINEN MÄÄRITTELY MS

Tik Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu. LiKe Liiketoiminnan kehityksen tukiprojekti

Projektityö

Tietojärjestelmän osat

Sähköi sen pal l tietototurvatason arviointi

Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen

Kontrollipolkujen määrä

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

PROJEKTIN DOKUMENTOINTI JOUNI HUOTARI

Onnistunut SAP-projekti laadunvarmistuksen keinoin

Periaatteet standardien SFS-EN ISO/IEC 17025:2005 ja SFS-EN ISO 15189:2007 mukaisen näytteenottotoiminnan arvioimiseksi

Projektisuunnitelma Nero-ryhmä

Testaus-tietoisku: Tärkeimpiä asioita testauksesta projektityökurssilaisille

Käytettävyyden testaus

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

Ohjelmistojen testaus

Convergence of messaging

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Projektinhallinta SFS-ISO mukaan

Mitä käytettävyys on? Käytettävyys verkko-opetuksessa. Miksi käytettävyys on tärkeää? Mitä käytettävyys on? Nielsen: käytettävyysheuristiikat

PROJEKTIN OHJAUS JA SEURANTA JOUNI HUOTARI

Miksi auditoidaan? Pirkko Puranen FT, Ylitarkastaja

Testaus käsite. Sekalaista testausasiaa. Testauksen käsitteestä. Kattavuusmitat. Jos ajatellaan, että testaus = V&V, voidaan erottaa:

Ohjelmistojen virheistä

Ketterä vaatimustenhallinta

SERTIFIOINNIN JA AKKREDITOINNIN EROT. Tuija Sinervo FINAS-akkreditointipalvelu

HELIA 1 (19) Outi Virkki Käyttöliittymät ja ohjelman suunnittelu

Testaussuunnitelma. Pizzeria - Pitseria HAAGA-HELIA ammattikorkeakoulu Tietojenkäsittelyn koulutusohjelma. WebPizza

Omavalvonta ja laadunhallintajärjestelmä. Elintarvikkeiden tarjoaminen julkisille keittiöille

TOIMIVAN LAADUNHALLINTAA JA LAADUN JATKUVAA PARANTAMISTA TUKEVAN JÄRJESTELMÄN KRITEERISTÖ

Koulutuksen suhdannevaihtelut. Zeppeliinistä suihkukoneaikaan

akkreditointistandardi SFS-EN ISO FINAS - akkreditointipalvelu

Toimikuntien jäsenet laadunvarmistajan roolissa

Luku 8 Rakennusvaihe. Detailed Design. Programming. Moduulisuunnittelu. Ohjelmointi

Kehittää ohjelmointitehtävien ratkaisemisessa tarvittavia metakognitioita!

Miten varmistaa laboratoriotoiminnan hyvä laatu nyt ja tulevaisuudessa. Tuija Sinervo FINAS akkreditointipalvelu

TIETOKANNAN SUUNNITTELU

KOKONAISARKKITEHTUURIN ARVIOINTI

IT2015 EKT ERITYISEHTOJA OHJELMISTOJEN TOIMITUKSISTA KETTERIEN MENETELMIEN PROJEKTEILLA LUONNOS

Algoritmit 1. Luento 3 Ti Timo Männikkö

Laboratorioprosessin. koostuu Labquality-päivät PSHP Laboratoriokeskus

Ohjelmistotekniikka - Luento 2

Käyttäjäkeskeinen suunnittelu

SFS-ISO/IEC Tietoturvallisuuden hallintajärjestelmät. Ohjeistusta. Riku Nykänen

Avoin lähdekoodi. Jani Kylmäaho Maanmittauslaitos

7. Koneenohjausjärjestelmien suunnittelumallit. OhAr Veli-Pekka Eloranta

Ohjelmistotuotanto, laadunvalvonta Syksy Laadunvalvonta. Mitä laatu on? Laadun komponentit. Laatuvaatimukset.

GroupDesk Toiminnallinen määrittely

Tietohallinnon nykytilan analyysi. Analyysimenetelmä (sovitettu Tietohallintomallista)

Menetelmäraportti Ohjelmakoodin tarkastaminen

Mittaaminen projektipäällikön ja prosessinkehittäjän työkaluna

Yhdeksän mittaria ohjelmistotuotannon. seuraamiseen. tsoft. Vesa Tenhunen Joensuun yliopisto, TKT:n laitos

2. Ohjelmistotuotantoprosessi

Valtioneuvoston kanslia VAIN VIRKAKÄYTTÖÖN Hallinto- ja palveluosasto/hallintoyksikkö Terja Ketola PTJ2008-työsuunnitelma 1 (5)

Taltioni teknisen alustan arviointi

Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Rakentamisen prosessi ja energiatehokkuus

Suunnitteluvaihe prosessissa

Hankesuunnitelma. Novus-Hanke. Novus-Hanke. YYL:n tietojärjestelmien kokonaisuudistus HANKESUUNNITELMA. LIITE 1

ABB Drives and Controls, Koneenrakentajan ja laitetoimittajan yhteistoiminta toiminnallisen turvallisuuden varmistamisessa

Käyttövarmuuden peruspilarit

58160 Ohjelmoinnin harjoitustyö

OPPIMISTULOSTEN ARVIOINNIN TAVOITTEET JA PERIAATTEET SEKÄ KEHITTÄMISHAASTEET. Opetusneuvos Anu Räisänen

Testaaminen ohjelmiston kehitysprosessin aikana

Standardi IEC Ohjelmisto

Mitä laatu on. Laadunhallinta vesiviljelyssä

OHJ-3010 Ohjelmistotuotannon perusteet. Ohjelmistoprojektin hallinta

Transkriptio:

Ohjelmiston testaus ja laatu Laatu

Määritelmiä ohjelmiston laatu = tuotteen kyky täyttää käyttäjänsä kohtuulliset toiveet ja odotukset subjektiivinen käsite käyttöympäristöstä riippuva laatu ei tarkoita huippulaatua, vaan erilaisia mitattavia ominaisuuksia tuotteen laatuun vaikutetaan parhaiten toiminnan laadun kautta hallittu prosessi laadukas tuote laadunvarmistus = tavoitteena löytää virheitä ajamalla ohjelmaa tietokoneella (sukulaistermejä ovat mm. katselmointi, tarkastus, läpikäynti, laaduntarkastus) virhe = jos tuote ei täytä käyttäjänsä kohtuullisia odotuksia, tuote on virheellinen

Laatujärjestelmä - 1 laatujärjestelmä = yrityksen toimintatapa eli prosessi tuotteen tekemiseksi laatukäsikirja, ohjeistukset ohjelmistoyritysten laatujärjestelmät ovat yleensä väljiä tavoite: suunniteltua laatua aikataulun ja budjetin mukaisesti ei huippulaatua, riittävän hyvää laatua todistettavuus ja jäljitettävyys ulkopuolisen tahon tai sisäisen laadunvarmistuksen kyettävä varmistamaan, että yritys toimii laatujärjestelmän mukaisesti todisteita: tarkastuspöytäkirjat, virheraportit... laatujärjestelmä on sovellus jostakin laatustandardista laatujärjestelmän sertifiointi (ISO 9001) määrittelee yleisellä tasolla perusasiat, jotka laatujärjestelmän tulee sisältää

Laatujärjestelmä - 2 sertifiointi = ulkoisen arvioijan tekemä katselmus siitä, että toiminta on laatujärjestelmän mukaista sertifiointi ei todista laatujärjestelmän erinomaisuutta käytännössä sertifiointi vaaditaan (asiakaspaineet) laatujärjestelmämalleja ISO 9001, CMM, SPICE laatujärjestelmän kehittäminen lähtee aina nykytilasta edetään pienin askelin nykyisten toimintatapojen kirjaaminen toimintatapojen hyvyyden analysointi toimintatapojen kehittäminen ja muutosten vaikutusten analysointi

Laadunvarmistus laatujärjestelmän olennaisin osa kohdistuu sekä tuotteen että toiminnan laatuun tuotteen laatu vaihetuotteiden laadunvarmistus toiminnan laatu laatujärjestelmän tai sen osien auditoinnit ulkoinen, sisäinen, asiakas

Laadunvarmistuksen vaiheet - 1 tuottaminen tuote yleiskatsaus seuranta valmistautuminen korjaus virheet tarkastus

Laadunvarmistuksen vaiheet - 2 0) tuote valmistunut tekijä ilmoittaa projektipäällikölle tuotteen valmistumisen valitaan tarkastuksen koordinaattori valitaan laaturyhmä ja kutsutaan yleiskatsaukseen yleiskatsaukseen kopioidaan tuote ja liitteet 1) yleiskatsaus koko laaturyhmä osallistuu tuotteen materiaalit jaetaan ryhmälle esitellään lyhyt kuvaus tuotteesta 2) valmistautuminen kukin ryhmän jäsen työskentelee itsekseen huolellinen perehtyminen materiaaliin tavoitteena ymmärtää tuote, kirjata virheet/puutteet tarkastuslistan laadinta, positiivinen/negatiivinen kommentti 3) tarkastusistunto koko laaturyhmä tavoitteena löytää virheet ja puutteet ei korjata virheitä, arvioida tuotetta - ei tekijää koordinaattori vastaa tavoitteiden saavuttamisen, istunnon laadukkuuden/tehokkuuden istunnon kulku: aloitus tuotteen läpikäynti päätös 4) korjaaminen tekijä korjaa virheet 5) seuranta laaturyhmän valitsema henkilö tarkistaa, että virheet on korjattu oikein

Laadunvarmistuskeinoja Katselmukset Sopimuskatselmukset Projektin edistymiskatselmukset Lopputuotteeseen liittyvät katselmukset Testaus Auditoinnit Sisäiset Ulkoiset

Virheanalyysi eräs menetelmä laadunvarmistukseen ohjelmiston havaitut virheet ja oireet dokumentoidaan jokainen virhe analysoidaan 1. mitä tehtiin väärin 2. milloin virhe tehtiin ja missä vaiheessa 3. miksi virhe tehtiin perimmäinen syy 4. miksi virhettä ei havaittu aiemmin 5. miten saman virheen teko estetään toistumasta 6. miten sama virhe löydetään aikaisemmin, jos se toistuu

Laadunvarmistuksen tavoitteet tavoite 1: virheiden estäminen tarkastus (muodollinen), katselmus (epämuodollinen) soveltuu kaikille dokumenteille tuotteen jäädytys projektin vaiheen katselmuksen jälkeen paras tapa vähentää lopputuotteen vikoja! verifiointi eli todentaminen Are we building the product right? validointi eli kelpoistaminen Are we building the right product? tavoite 2: virheiden etsiminen testaus soveltuu vain ohjelmille kuuluu elinkaaren toimintoihin testauksen suorittaminen helppoa, mutta suunnittelu vaikeaa etenkin reaaliaikajärjestelmissä automatisoitava

Laadunvarmistus ja projekti projektin seuranta tekniset katselmukset (technical review) vaiheen tuote käydään läpi ja hyväksytään todetaan vaihe päättyneeksi! projektin eteneminen saadaan näkyväksi katselmuspisteet välietappeja

Projektin katselmukset ja tarkastukset

Katselmus 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. 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) Läpikäynti (walk-through) = epämuodollinen ohjelmakoodin tarkastuksen muoto, missä tekijä selittää, mitä hän luulee ohjelmansa tekevän Vertaiskatselmointi (peer review) = käsite katselmoinnille tai tarkastukselle, joka voi tarkoittaa tarkastusta, läpikäyntiä tai näiden välimuotoa katselmukseen piiriin kuuluvat osat sopimus määrittelydokumentti suunnitteludokumentti testaussuunnitelma koodi käyttöohjeet projektisuunnitelma katselmuksilla varmistetaan tuotteen eri vaiheiden henkilöriippumattomuus katselmoinnin ajallinen kesto oltava lyhyt (esim. 2 tuntia)

Dokumentointi ja laatu ohjelmistotyö on dokumenttien tuottamista! dokumentit projektin keskeinen tuotos dokumentaation vähimmäismäärä projektisuunnitelma määrittelydokumentti - toiminnallinen määrittely (IEEE830) suunnitteludokumentti - tekninen määrittely (IEEE1016) testaussuunnitelma hyvätasoisessa laatujärjestelmässä dokumentaatio on huomattavasti laajempi dokumentaation ylläpito ajallinen ylläpito (versiointi), sisäinen eheys, jäljitettävyys molempiin suuntiin ja dokumenttien välillä dokumentaation luokittelu projektidokumentaatio ja tuotedokumentaatio projektin aikainen ja projektin tuotos (projektin jälkeen jäävä) tekninen ja yleinen yrityksen dokumentaatio ja asiakasdokumentaatio

Garvin (1984) näkökulmat laatuun - 1 Ihannenäkökulma näkee laadun sellaisena, joka voidaan havaita, mutta ei määritellä pyritään sitä kohden, mutta ei välttämättä päästä Käyttäjän näkökulma näkee laadun sopivuutena haluttuun tarkoitukseen Tuotenäkökulma tuotteen sisäisillä laatuindikaattoreilla voidaan kertoa tuotteen ulkoisesta laadusta, eli miltä tuote tuntuu asiakkaasta ISO 9126-1 standardin ulkoiset ja sisäiset laatuindikaattorit Toiminnallisuus (Functionality) Luotettavuus (Reliability) Käytettävyys (Usability) Tehokkuus (Efficiency) Ylläpidettävyys (Maintainability) Siirrettävyys (Portability) Missä määrin tiettyjen käyttäjien käyttämä tuote vastaa heidän asettamia tavoitteita tehokkuuden, tuottavuuden, turvallisuuden, tyytyväisyyden suhteen

Garvin (1984) näkökulmat laatuun - 2 Rakentamisnäkökulma Toimitaan määritellyn prosessin mukaan, ei niinkään tietylle tuotteelle tehtyjen vaatimusmäärittelyjen mukaan. kritiikkiä edellisen lauseen perusteella: ei tuoteta välttämättä parasta tuotetta, vaan rutiiniluontoisesti käypä, joskus jopa huono tuote Prosessin jatkuva parantaminen vaatii kohteen (prosessin) mittausta Arvonäkökulma näkee laadun rahana, jonka asiakas on valmis sijoittamaan siihen arvonäkökulman mukaisesti voidaan myös tehdä valintoja hyötyjen, kustannusten ja laadun suhteen asiakas voi hyväksyä käyttöönsä keskeneräisen tuotteen, jos sen tarjoamat uudet ominaisuudet ovat riittävän houkuttelevia

Ohjelmiston laatuongelmien aiheuttajia Ongelmat asiakkaan ja kehittäjän välisessä viestinnässä Vaatimusmäärittelyjen virheet virheelliset, puutteelliset, ylimääräiset ominaisuudet Poikkeamat vaatimuksista ohjelmistomoduulien uudelleenkäyttö, ajanpuutteesta johtuvat toteuttamattomat osat, kehittäjän omat lisäykset Suunnitteluvirheet virheelliset algoritmit, prosessin virheet, järjestelmän tilan puuttuvat tarkastukset, virhetilanteiden puuttuva käsittely Koodausvirheet Dokumentointiohjeista ja koodausohjeista poikkeaminen kehitystiimi saa puutteelliset kommentit Testausprosessin puutteet testisuunnitelmat puutteelliset, havaittujen virheiden raportointi puutteellinen, virheen aiheuttaja epäselvä ongelmia virheen korjaamiseen, korjaamiseen varattu aikaa liian vähän Dokumentointivirheet toimintojen kuvaus puutteellinen, esitellään ylimääräisiä toimintoja, virheet käyttöohjeissa Käyttöönottovaiheen ongelmat puutteellinen opastus, ympäristön puutteellisuudet, puutteellinen ylläpito

Tietojärjestelmän laatu oikea tuote oikeat tiedot ja palvelut oikea käyttöliittymä oikea luotettavuus oikea ylläpidettävyys oikeaan aikaan oikeat työmääräarviot oikea aikataulu oikea projektinhallinta oikeaan hintaan oikeat työmääräarviot oikea projektinohjaus oikea testattavuus oikea ylläpidettävyys oikeat määrittelyt laadun tasot pohjana Täytyy olla -laatu kuorrutuksena Houkutteleva -laatu

Korjauskustannukset arvio tarvemäärittely toiminnallinen määrittely tekninen suunnittelu ohjelmointi x 30x 90x 270x käyttö järjestelmätestaus integrointitestaus moduulitestaus teoreemoja mitä aikaisemmin virhe tehdään, sitä myöhemmin se havaitaan mitä myöhemmin virhe havaitaan, sitä kalliimpaa on sen korjaaminen mitä myöhemmin virhe korjataan, sitä todennäköisempää on sen korjaaminen väärin

Mietittäväksi k u s t a n n u s v a i k u t u s 1. terveydenhoito virheiden ennaltaehkäiseminen oikeilla työtavoilla ennen ohjelmointia 2. terveystarkastukset virheiden etsiminen ja korjaaminen ennen ohjelmointia 3. sairaanhoito virheiden etsiminen ja korjaaminen testausvaiheessa 4. ensiapu virheiden korjaaminen käytönaikana

Laadun päälajit Tuotelaatu liittyy kehitettävään ohjelmistotuotteeseen Resurssilaatu liittyy ohjelmiston kehittäjiin Prosessilaatu liittyy kehitysprosessiin Objektiivinen laatu suoraan mitattavissa oleva (tekninen) laatu Subjektiivinen laatu eri käyttäjien kokema laatu

Laadun alalajit - 1 1) Mitattavuus Tuotosten, prosessin ja henkilöstön ominaisuuksien mitattavuus (esim. laskemalla, keräämällä ja tallentamalla systemaattisesti mittaustietoja) Objektiiviset (esim. palkkataso) tai subjektiiviset määreet (esim. motivaatiotaso) 2) Toteutettavuus Toteutettavuus nykyteknologialla tai tulevalla teknologialla (esim. soveltuvuustutkimus, tekninen analyysi) 3) Varmennettavuus Todennettavuus (esim. käyttäen formaaleja menetelmiä ja matemaattista todennusta) Testattavuus (esim. välttäen sellaisten kehitysratkaisujen käyttöä, jotka vähentävät mahdollisuutta käyttää tehokkaita testauksen apuvälineitä)

Laadun alalajit - 2 4) Tehokkuus (tuotteen) Suorituskyky, nopeus (tarkoitukseen sopivan ohjelmointikielen käyttö, mahdollisesti kriittisten osien toteuttaminen käyttäen assembleria) Muistitilan ja muiden resurssien tehokas käyttö Vasteaikavaatimusten täyttäminen Ajoitustarkkuus Korkea käyttöaste 5) Virheettömyys (tuotteen) Loogisten virheiden vähäinen määrä Syntaktisten virheiden vähäinen määrä (syntaksin huomioivan editorin käyttö) Suunnitteluvirheiden vähäinen määrä Ohjelmointivirheiden vähäinen määrä (käyttäjäpalaute) Ohjelman vakiotoiminta vakiosyötteellä Virheettömyys julkistuksen aikana ja pitkässä juoksussa Laskennallinen tarkkuus Toimintojen ajoituksien tarkkuus

Laadun alalajit - 3 6) Luotettavuus Vakaus, toimintavarmuus, käyttövarmuus Turvallisuus erityisesti kriittisissä tilanteissa Vikasietoisuus, poikkeustilanteiden hallittu käsittely Toipumiskyky virhetilanteista Tietosuojan huomiointitaso 7) Käytettävyys Käytön oppimisen helppous (dokumentaatio, koulutus) Helppokäyttöisyys (huomioiden käyttäjäryhmän taitotason) Subjektiivinen käyttötyytyväisyys Toimintojen ennakoitavuus ja yhdenmukaisuus 8) Ymmärrettävyys Lähdekoodin ja dokumenttien luettavuus ja tulkittavuus Hyvän ohjelmointityylin noudattamisaste Jäljitettävyys, läpinäkyvyys Järjestelmän toimintatavan ymmärrettävyys ja sen tuki

Laadun alalajit - 4 9) Dokumentoinnin riittävyys Käyttäjädokumenttien laatu Teknisten raporttien ja referenssimanuaalien laatu Lähdekoodin kommentoinnin yhdenmukaisuus, kattavuus ja oikea kohdentuminen 10 ) Ylläpidettävyys 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) Lähdekoodin käytettävyys (käyttöoikeuksien varmistaminen) Tarvittavien kehitysvälineiden (kääntäjät) käytettävyys pitkällä tähtäimellä 11) Standardinmukaisuus Yleinen asianmukaisten vakiintuneiden menetelmien, kielten, rajapintojen jne. käyttö Kohdealueen sääntöjen noudattaminen (esim. ohjelmointityylit) Lainsäädännön asettamien rajoitteiden (esim. henkilötietojen tallentaminen) huomiointi suunnitelmallisuus ja järjestelmällisyys

Laadun alalajit - 5 12) Uudelleenkäytettävyys Uudelleenkäytettävyys eri tasoilla: ohjelmat, funktiot, moduulit, komponentit, suunnitelmat, data (esim. oliolähestymistavan, suunnittelumallien, uudelleenkäytettävien komponenttien ja sovelluskehysten käyttö). Yleiskäyttöisyys, monipuolisuus, geneerisyys Yhteenliitettävyys, yhteensopivuus Laajennettavuus, skaalautuvuus (käsiteltävät tietomäärät, käsiteltävät tietotyypit, käyttäjien määrä, jne.) Siirrettävyys eri ohjelmointikielille, käyttöjärjestelmiin, laitealustoille jne. 13) Toiminnallisten tuotevaatimusten täyttöaste Vaatimusten täytön kattavuus Toiminnallisuuksien oikea kohdentuminen, tarkoituksenmukaisuus Soveltuvuus käyttötarkoitukseen 14) Kustannustehokkuus Tuotteen hinnan sopivuus (käyttäjätutkimukset) Projektin aikataulun pitävyys Yleinen resurssien käytön tehokkuus/tarkoituksenmukaisuus Mahdollinen saavutettava kilpailuetu (markkina-analyysit)

Laadun alalajit - 6 15) Tekninen laatu Yksinkertaisuus, suoraviivaisuus (ei tarpeetonta kompleksisuutta, joka ei johdu ongelmasta) Tyylillinen yhdenmukaisuus (vähän kirjavuutta loogisten osien sisällä) Rakenteisuus, hierarkkisuus, asianmukainen osittaminen (esim. modularisointi) Tiedon kapselointiaste (esim. oliolähestymistapa) Rajapintojen käyttöaste Korkean tason rakenteellisten osien (moduulit tms.) välisten kytkentöjen suhteellinen vähäinen määrä Abstraktioiden hyödyntäminen Suunnittelu tai toteutustekninen laatu

Ohjelmistotuotteen laatukriteerit - 1 ISO 9126 toiminnallisuus Löytyykö ohjelmistosta siltä vaaditut toiminnot? Sopivuus (Suitability) Miten hyvin toiminnot täyttävät niille määritellyt tehtävät? Tarkkuus (Accurateness) Onko tulosten tarkkuus sovitulla tasolla? Yhteensopivuus (Interoperability) Ohjelmiston kyvykkyys toimia muiden järjestelmien kanssa Mukautuvuus (Compliance) Ohjelmiston kyky noudattaa sovellusalueeseen liittyviä standardeja, sopimuksia tai lainsäädäntöä Turvallisuus (Security) Miten ohjelmisto hoitaa tietoturva-asiat? tehokkuus Kuinka tehokas ohjelmisto on? Ajankäyttö (time behavior) Ohjelmiston vaste- ja suoritusajat Resurssien käyttö (resource behavior) Miten ohjelmisto varaa ja käyttää resursseja?

Ohjelmistotuotteen laatukriteerit - 2 ISO 9126 ylläpidettävyys Kuinka helposti ohjelmistoa voi muuttaa? Analysoitavuus Kuinka voit paikallistaa muutoksen vaikutuksen? Muunneltavuus Kuinka helposti voit muuttaa tai korjata ohjelmistoa? Miten voit muokata ohjelmistoympäristöä? Stabiilisuus Miten ohjelmisto kestää muutosten aiheuttamat yllättävät vaikutukset? Testattavuus Miten muutetun ohjelmiston toimivuus voidaan testata? siirrettävyys Miten helposti ohjelmiston voi siirtää toiseen ympäristöön? Mukautuvuus Millä toimilla ohjelmisto saadaan siirrettyätoiseentoimintaympäristöön? Asennettavuus Miten ohjelmisto asennetaan määriteltyyn ympäristöön? Yhteensopivuus Miten ohjelmisto noudattaa siirrettävyyteen liittyviä standardeja ja sopimuksia? Korvattavuus Millä toimenpiteilläohjelmisto voikorvata toisenennalta määritellyn

Ohjelmistotuotteen laatukriteerit - 3 ISO 9126 käytettävyys Miten helppokäyttöinen ohjelmisto on? Ymmärrettävyys Ohjelmiston toimintojen loogisuus käyttäjän näkökulmasta Opittavuus Miten helppoa ohjelman käytön oppiminen on käyttäjälle? Käyttökelpoisuus Miten hyvin ohjelmisto sopii käyttäjän työhön? luotettavuus Kuinka luotettava ohjelmisto on? Ohjelmiston kypsyys Miten usein ohjelmistovirheet aiheuttavat häiriötilanteen? Vikasietoisuus Ohjelmiston kyky sietää virhetilanteita Palautumiskyky Miten ohjelmisto palautuu häiriötilanteesta?