Ohjelmistotekniikka ja projektinhallinta, 4 op

  • Upload
    gayora

  • View
    18

  • Download
    0

Embed Size (px)

DESCRIPTION

Ohjelmistotekniikka ja projektinhallinta, 4 op. OHJELMISTON Testaus ja laatu Seppo Räsänen Savonia-ammattikorkeakoulu Terveysala, kuopio 18.8.2008. Ohjelmiston testaus ja laatu…. - PowerPoint PPT Presentation

Citation preview

  • OHJELMISTON TESTAUS JA LAATU

    SEPPO RSNENSAVONIA-AMMATTIKORKEAKOULUTERVEYSALA, KUOPIO18.8.2008*Ohjelmistotekniikka ja projektinhallinta, 4 op

  • Ohjelmiston testaus ja laatu*Testaus on systemaattinen lhestymistapa ohjelmistoissa esiintyvien virheiden lytmiseksi ohjelmaa suorittamalla. Testattaessa pyritn luomaan kattavia testitapausjoukkoja ja lytmn menetelmi, joilla ohjelmissa esiintyvt virheet saadaan selvitetty taloudellisesti ja ohjelman toiminta mahdollisimman luotettavaksi. Ohjelmien testauksen kokonaisuuden hallintaan on tehty erilaisia apuvlineit: testaustykaluja ja testausprosessin hallintaohjelmistoja. Testauksen tarkoituksena periaatteessa on osoittaa, ett ohjelma toimii tai toisin pin, ett ohjelma ei toimi, kuten sen pitisi.

  • Ohjelmiston testaus ja laatu*Testausta suoritettaessa on hyvksyttv se tosiasia, ett kaikkia ohjelmistossa esiintyvi virheit ei kyet saamaan esiin, johtuen ohjelmistojen laajuudesta ja suorituspolkujen moninaisuudesta. Ohjelman toiminta voidaan todistaa oikeelliseksi vain rimmisen triviaaleissa tapauksissa.KysymyksiToimiiko ohjelma vrin suhteessa mrittelyyns? Toimiiko ohjelma eri ympristiss? Tekeek ohjelma sit, mit sen pitisi? Tekeek ohjelma sit mit sen ei pitisi tehd?

  • Ohjelmiston testaus ja laatu*virheHavaittu eroavaisuus ohjelmiston toiminnassa ja sille tuotetuissa mrityksiss. Virheet voidaan jakaa kntjn kannalta katsoen knnksenaikaisiin (syntaksinen virhe), ajon-aikaisiin (semanttinen virhe) ja loogisiin virheisiin. Testauksen vaihemallin mukaan virheet voidaan jakaa virheelliseen vaatimusten mrittelyyn, suunnitteluvirheisiin ja ohjelmointivirheisiinverifiointiTarkoittaa ohjelman oikeellisuuden ja oikean toiminnan todentamista. validointiTarkoittaa varmennusta, ett toteutettava jrjestelm vastaa loppukyttjn tarpeita

  • Ohjelmiston testaus ja laatu*virheidenpoisto l. debuggausProsessi, jonka tarkoituksena on lyt ja poistaa virheiden syit ja aiheuttajia ohjelmakoodista.staattinen testausOhjelmiston testausta ilman, ett ohjelmakoodia suoritetaan.Koodin analysointi voidaan suorittaa joko ksin tai automaattisesti staattisen analyysin tykalulla. Menettelyll pyritn lytmn tutkittavasta ohjelmakoodista loogisia-, suunnittelu- ja koodausvirheit. Ohjelmakoodin tarkastelu manuaalisesti tapahtuu koodin tarkastuksessa (inspection), katselmuksessa (review) ja lpikyntitilaisuuksissa (walkthrough) tai ohjelmoijan itse suorittamissa pyttestauksissa (desk checking)

  • Ohjelmiston testaus ja laatu*esimerkkej staattisesta testauksestafunktiokutsussa parametrien tyypitparametrien kytt (esim. parametrien vr lukumr) funktion paluuarvon tyyppisamannimiset muuttujat/muuttujan uudelleen mrittelyonko ohjelmakoodia, jota ei suoriteta koskaankytetnk esitelty muuttujaaonko muuttujaa esitelty ennen kyttkytetnk esitelty funktiota muuttujaan sijoitettavan arvon tyyppi osoittimien ja indeksien kytt (esim. viittaukset mriteltyjen rajojen ulkopuolelle)

  • Ohjelmiston testaus ja laatu*dynaaminen testausKomponentin tai ohjelmiston testausta itse ohjelman tai sen osan suorituksen aikana ja perusteella Apuvlinein olevat dynaamiset virheenjljitysohjelmat, kuten debuggerittestattavuusOhjelmiston testattavuudella mitataan ohjelmiston kyky paljastaa omat virheens ohjelmakoodissa, komponenteissa tai vaatimuksissa

  • Ohjelmiston testaus ja laatu*Testi tapaustentuottaminenTesti tapaustenajoVirheen paikan-taminenVirheen korjausKorjausten testaustestitapauksetvirheet / virheen oireettestausvirheen poistaminendebuggaustestausvaiheidentehtvt

  • Ohjelmiston testaus ja laatu*tydellinen testaus vaatii kaikkien ohjelmarivien ja kaikkien eri toimintojen kombinaatioiden testaamisen vie aikaa ja on kallista mahdotontatestaus on vaihtokauppaa luotettavuus vs. kustannukset & aikataulutestauksessa silm nkee, mit se haluaa miten tehdn ja kuka tekee luotettavaa testaustaohjelman tekij ei saisi olla ainoa testaajasysteemin tehnyt ryhm ei saisi olla ainoa testaajaryhmtestist saatavat tulokset tulee tutkia tarkkaan, jotta ei j huomaamatta virheittestitapauksissa tulee olla kelvollisia ja kelvottomia sytteitei riit, ett ohjelma tekee sit, mit sen pitkin tehd. Se ei saa tehd sit, mit sen ei pitisikn tehdtestaukselle varattava aikaa, jotta dokumentointi ja korjaus onnistuu

  • Ohjelmiston testaus ja laatu*KatselmointiVaatimus-, mrittely- ja suunnitteludokumenttien teon jlkeen katselmuksetKatselmuskytnt kuvataan projektisuunnitelmassa tai projektitasoisessa testaussuunnitelmassa (mit, kuka, milloin ja miten?)Testauksen kannalta oleellisia ovat mrittely- ja suunnitteludokumenttien sek testaussuunnitelman ja testitapausten katselmoinnit katselmuspalaveripuheenjohtaja ja sihteeri pysytn asiassatarkastuslistojen kytt lis tehokkuuttaptkset kirjataan yls (hyvksyminen, ehdollinen hyvksyminen (havaitut virheet korjattava), uusintakatselmusKest enintn 2 tuntia

  • Ohjelmiston testaus ja laatu*Onnistunut testaus vaatiiTestausmenetelmien ja vlineiden asiantuntemuksenSelket tavoitteetTestaussuunnitteluun panostamisenTarvittavien henkilresurssien olemassa olonTestausprojektin tuloksien seurannan ja toteuttamisenTestausprojektin hyvn vaiheistuksen ja vlietapitSovittujen pelisntjen tiedottamisenSuunnitellun ja toimivan muutos- ja virhehallinnan

  • Ohjelmiston testaus ja laatu*Testausmenetelmiblack-box testitestaaja ei voi tutkia lhdekoodia testaus perustuu sovellukselle suunnitteluvaiheessa tehtyihin mrityksiin ja laadittuihin ohjeisiinmenetelmn kytt edellytt ohjelman suunnittelussa tehdyilt mrittelyilt tsmllisyytt ja oikeaa toteutusta.testattavalle sovellukselle annetaan haluttu syte, jonka jlkeen sovelluksen toimintaa tutkitaan sen tuottaman tulosteen perusteella.testaus kyttliittymn kauttatestaajana ei mielelln tekij tai sovelluksen tuntija, vaan tysin ulkopuolinen henkil testitapaukset todennkisesti paljastavampiatoimintopolut, kaikkien toimintopolkujen tydellinen lpikynti

  • Ohjelmiston testaus ja laatu*white-box (l. glass-box l clear box l. structural) testi testi perustuu lhdekoodin ja toiminnallisen mrittelyn olemassaoloon testitapaukset suunnitellaan lhdekoodin toiminnallisuuden perusteellatestaajalla tietoa jrjestelmn sisisest rakenteestapyrkimys mahdollisimman kattaviin testituloksiinmahdollisimman tydelliseen lausekattavuuteen = testitapauksien tulisi kyd jokainen jrjestelmn sisisen rakenteen haara lpiCs = Se / St * 100% miss Cs on lausekattavuus prosentteina, Se on suorittujen lauseiden mr testitapauksessa, St on suoritettavien lauseiden kokonaismrtestauskohteita ovat ohjelman ohjausrakenteet ja niiden kombinaatiotlauseet, lausekattavuus: kaikki lauseet suoritettava vhintn kerran silmukat, jokaiselle silmukalle suoritetaan testi, jossa toisto suoritetaan: nolla kertaa yhden kerran maksimiarvo kertaa jokin arvo vlilt 0 maksimi kertaa suorituspolut, kaikki suorituspolut tulee suorittaa kerran

  • Ohjelmiston testaus ja laatu*grey-box testi (gray-box am.)yhdistelm white box ja black box testeisttestitapaukset luodaan ohjelmakoodi ja toiminnallisuus tuntientoiminnallisesti orientoitunut, hydynt koodia ja toteutusratkaisujen tuntemustavarmentaa, paikkaa, tydent edellisi testejhyvi testitapauksia ovat esim:rakenteelliset raja-arvotalivuotoylivuotonollalla jaotpyristyksetalku, loppu (esim. kuukausi)jne

  • Ohjelmiston testaus ja laatu*Testauksen dokumentointi

  • Ohjelmiston testaus ja laatu*KytettvyystestausKytettvyys on osa tuotteen laatuominaisuutta Kytettvyys on mittari, jolla mitataan tuotteen kytn tuottavuutta, tehokkuutta ja miellyttvyytt. Nm arvioidaan aina suhteessa kyttjiin sek tyhn ja kyttympristn, joille ja joihin tuote on tarkoitettu. (ISO 9241-11 -standardi) Tuottavuus - tehtvt tulevat tehdyksi tydellisesti ja virheettmsti. Tehokkuus - paljonko resursseja tuotteen kytss tarvitaan henkilin, rahana ja aikana. Miellyttvyys - kuinka miellyttv tuotetta on kyttjien mielest kytt.

  • Ohjelmiston testaus ja laatu*Jakob Nielsen antaa kytettvyydelle seuraavat viisi laatukomponenttia: Opittavuus:Kuinka helppoa kyttjien on tehd tuotteen avulla perusasiat ensimmisell kyttkerralla? Tehokkuus: Kun asia on opittu, kuinka nopeasti kyttjt pystyvt tekemn tehtvt? Muistettavuus: Kun kyttjt palaavat tuotteen reen oltuaan kyttmtt sit jonkin aikaa, kuinka kauan heilt menee saman tuottavuuden saavuttamiseen uudelleen? Virheettmyys:Kuinka paljon kyttjt tekevt virheit, kuinka vakavia ne ovat ja kuinka helppoa niist on toipua? Miellyttvyys: Kuinka miellyttv tuote on kytt? Hydyllisyys: Kuinka hyvin tuote sopii tyhn, johon se on tarkoitettu?

  • Ohjelmiston testaus ja laatu*Muita kytettvyyteen liitettyj ominaisuuksia ovat mm: johdonmukaisuus, hallittavuus, tehtviin sopiva esitystapa, pieni muistettavien asioiden mr ja joustavuus (johdettavissa tehokkuudesta)Kytettvyys-ksitteell on joukko rinnakkaisksitteit:Palvelevuus: Aiemmin kytettvyys, esimerkiksi onko verkko toiminnassa 24 tuntia vuorokaudessa Houkuttelevuus: Tuote houkuttelee ostamaan, kyttmn. Esimerkiksi Webiss tm tarkoittaa sit, ett kyttj selaa etusivua syvemmlle. Helppokyttisyys: Suunnitteluperiaate, jonka mukaan kyttj saavuttaa tavoitteensa tehokkaasti on hn mill osaamistasolla tahansa. Esteettmyys: Kaikki pystyvt kyttmn tuotetta mukaan lukien vammaiset ja ikntyvt kyttjt. Kyttkokemus: Kyttn liittyvt tunneaspektit.

  • Ohjelmiston testaus ja laatu*Testivaiheetsuunnitellaan yleens kytettvyystestipmrt, osallistujat, tehtvien valinnat, kytettvyysmittari, testitiimin valmistelu, pilotin valmistelusuunnitellaan todellinen kytttilanne kaikkia toimintoja ei voi testata, testataan kohdat joissa voi olla ongelmia ja/tai kohdat jotka ovat sovelluksen kannalta trkeit/oleellisiatehdn pilottitestaus korjataan tarvittavat kohdat tulevasta testistvalitaan koekyttjt, jotka tekevt lopullisen testinkoekyttjt tekevt tehtvn mukaisia toimintoja, nauhoitustestikyttjt kuvaavat koko ajan omaa toimintaansatestin jlkeen kertty tieto (esim. videointi, nittminen, testaajien raportit) analysoidaanmritelln kyttliittymss olevat ongelmat korjataan tarvittavat kohdat

  • Ohjelmiston testaus ja laatu*KysymyksiKommentteja