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

Samankaltaiset tiedostot
Kontrollipolkujen määrä

Dynaaminen analyysi III Luento 5 Antti-Pekka Tuovinen

Dynaaminen analyysi III

Ohjelmistotuotanto, s

Ohjelmistotuotanto, s2001 2/27/2003

Ohjelmiston testaus ja laatu. Testaustasot

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ohjelmiston testaus ja laatu. Testausmenetelmiä

Laatukustannukset. Laadun hallinta. Laadun kustannuksista

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

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

Laadun hallinta. Laatukustannukset. Sami Kollanus TJTA330 Ohjelmistotuotanto

Verifioinnin ja validoinnin ero. 7. Verifiointi ja validointi. Verifiointi- ja validointitekniikat. Verifiointi- ja validointitekniikat II

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

Dynaaminen analyysi IV

Dynaaminen analyysi IV Luento 6 Antti-Pekka Tuovinen

Ohjelmistotuotanto s

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

Ohjelmistotuotantoprojekti

Laadunvarmistustekniikat

Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri

Testaussuunnitelma PULSU. Syksy 2008 Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

58160 Ohjelmoinnin harjoitustyö

Suunnitteluvaihe prosessissa

Testaustyökalut. Luento 11 Antti-Pekka Tuovinen. Faculty of Science Department of Computer Science

Testaustyökalut Sini Mäkelä

Kombinaatiotestauksen tekniikat. 5. Kombinaatiotestaus (P&Y: 11) Luokittelutestauksen algoritmi. Luokittelutestaus. Pankkiautomaattiin kirjautuminen

Luokkatestauksen piirteitä: metodit. 4. Luokkatestaus (B, 10) Luokkatestauksen piirteitä: yliluokat. Luokan valmistelu. Alfa-Omega syklin vaiheet

Testaussuunnitelmat. Luennon tavoitteista. Motivointia. Haikala ja Märijärvi, Ohjelmistotuotanto. Pressman, Software Engineering

Ohjelmistotestauksen suunnittelu - Case: A-lehdet Oy:n laskujen tulostusohjelma

Dynaaminen analyysi I

käyttötapaukset mod. testaus

Dynaaminen analyysi II Luento 4 Antti-Pekka Tuovinen

Oleelliset vaikeudet OT:ssa 1/2

58131 Tietorakenteet (kevät 2009) Harjoitus 11, ratkaisuja (Topi Musto)

Testauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

Convergence of messaging

GLOW projekti ja sen hyväksymistestaus

Lohtu-projekti. Testaussuunnitelma

Ohjelmistotestaus ja Global Planning -projekti

Testausprosessin vaatimukset. 2. Testausprosessi (Artikkelit) Vesiputousmallin ongelmia. V-mallin neljä osavaihetta. Testausprosessimalli V-malli

Testaus. tulosavaruus. Testaus

Yhteenveto. Menettelytavat

Testausoppeja toimialavaihdoksesta

Dynaaminen analyysi II

7. Verifiointi ja validointi

Ohjelmistojen mallintaminen. Luento 11, 7.12.

5. Bugiraportoinnista

Ohjelmistotuotanto, verifiointi ja validointi Syksy Verifioinnin ja validoinnin ero. 7. Verifiointi ja validointi

Testaussuunnitelma. Opeapuri. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Toiminnan laadunvarmistus SYSTEEMITYÖ. Laatu

Testaussuunnitelma. Ohjelmistotuotantoprojekti XPerf. Helsingin yliopisto. Tietojenkäsittelytieteen laitos

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Ohjelmistotestauksen perusteita I Luento 1 Antti-Pekka Tuovinen

Helsingin yliopisto, Tietojenkäsittelytieteen laitos Ohjelmistotuotanto, kurssikoe , H. Laine Arvostelu

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

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

Projektin suunnittelu

Testausraportti. Orava. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

TESTIRAPORTTI - JÄRJESTELMÄ, ADMIN Virtuaaliyhteisöjen muodostaminen Versio 1.0

Laadunvarmistustekniikoita. Ohjelmistotuotanto. Testaus termejä. Testaus periaatteita. Testaus havaintoja. Testaus havaintoja

Testaussuunnitelma. Koskelo. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testaussuunnitelma. Asdf. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Prosessiajattelu. Organisaation prosessikuvaus - CMMI. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessien määritys CMMI käytänteet

Laatu ohjelmistotyössä

Ohjelmoinnin perusteet Y Python

Teemu Saarinen, Niko Viinikanoja TESTAUS JA SEN AUTOMATISOINTI

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.

Algoritmit 1. Luento 3 Ti Timo Männikkö

T Testiraportti - järjestelmätestaus

Ohjelmoinnin peruskurssien laaja oppimäärä

10. Tarkastukset. Tarkastusten rakenne

Tarkastusten rakenne. 10. Tarkastukset. Tuotoksen tekijän rooli. Tarkastustiimi. Tarkastusprosessin vaiheet. Tarkastusprosessi

@Tampereen Testauspäivät ( )

Testaaminen ohjelmiston kehitysprosessin aikana

Tik Projektiryhmä: TeamAhma. Projektin HAYABUSA opponointi. Opponointisuunnitelma

Testaussuunnitelma. PUSU-ryhmä. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Semantic Web - Metadata editor

Testaussuunnitelma Labra

811312A Tietorakenteet ja algoritmit , Harjoitus 2 ratkaisu

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

T Testiraportti - integraatiotestaus

Prosessiajattelu. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessikuvaus - CMMI. Sami Kollanus TJTA330 Ohjelmistotuotanto 3.4.

PHP-pohjaisen sovelluksen testaus. Viktor Marttinen

Testaussuunnitelma. Karstula. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Tutoriaaliläsnäoloista

Testaus ja säästöt: Ajatuksia testauksen selviämisestä lama-aikana

Ohjelmiston testaussuunnitelma

811312A Tietorakenteet ja algoritmit, , Harjoitus 6, Ratkaisu

58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, , vastauksia

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

Testaussuunnitelma. pokeriv3. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Johdanto. Mitä on ohjelmistotuotanto? Tämän kurssin näkökulma. Sami Kollanus TJTA330 Ohjelmistotuotanto

Mitä on ohjelmistotuotanto?

Onnistunut Vaatimuspohjainen Testaus

Transkriptio:

Testaus käsite Sekalaista asiaa Sami Kollanus 15.11.2006 Jos ajatellaan, että = V&V, voidaan erottaa: Staattinen Dynaaminen Toisaalta voidaan määritellä Myersin (1979) mukaan: Testaus on ohjelman suoritusta, jonka tarkoituksena on löytää virheitä (Myers 1979) 2 Testauksen käsitteestä Kattavuusmitat Laatujärjestelmä Laadunohjaus Laadunvarmistus V&V Lausekattavuus (statement coverage) Päätöskattavuus, haarakattavuus (decision coverage, branch coverage) Ehtokattavuus (condition coverage) Tarkastukset, läpikäynnit, Moniehtokattavuus (multicondition coverage) Polkukattavuus (path coverage) Haikala & Märijärvi 2002. 3 Haikala ja Märijärvi, 2002. Ohjelmistotuotanto. 4

Harjoitus: kattavuuden laskeminen Kontrollipolkujen määrä if ((a>1) & (b=0)) then do x=x/a; if ((a=2) (x>1)) then If (a>1) & (b=0) False If (a=2) (x>1) False True True x=x/a; x=x+1; end x=x+1; Maaret Pyhäjärvi Laske kattavuudet: Lause Haara Moniehto Polku [Myers 1979] 5 5 solmua 120 permutaatiota 10 solmua 3 628 800 permutaatiota 20 solmua 2,4 x 10 18 permutaatiota -> 1 mrd suoritusta sekunnissa = 77 vuotta -> pikatestissä 1 mrd * tyhjä silmukka = 2,4 s. 6 Testauksen kattavuus Testauskäsitteitä Mitä saadaan aikaan läpikäymällä kaikki polut? Minkälaisia virheitä löydetään? Mitä virheitä ei löydetä? Lisää kattavuudesta: http://www.kaner.com/coverage.htm Alfa (toimittajan luona) Beta (asiakkaan luona) Julkistus (eri versio/konfiguraatio) Regressio, uusinta (vrt. uudelleen) 7 8

Sisäinen vs. ulkoinen Testauksen V-malli Sisäinen, lasilaatikko (white-box testing) Algoritmien virheettömyys Otetaan huomioon komponentin rakenne ja tunnistetaan riskikohdat Testiaineisto suunnitellaan niin, että mahdollisimman suuri osa koodista tulee toteutetuksi Ulkoinen, mustalaatikko (black-box testing) Keskitytään ulospäin näkyvään toimintaan toiminnallisuuksiin Verrataan testattavan kokonaisuuden vastaavuutta vaatimusmäärittelyyn Tutkitaan tulosarvoja (tiloja) suorituksen jälkeen Voidaan suunnitella määrittelyvaiheessa Päävaatimusten määrittely Järjestelmän spesifikaatio Päävaatimusten speksit Järjestelmän speksit Arkkitehtuurin speksit Moduulien speksit Komponenttien koodaus / Komponenttien Arkkitehtuurisuunnittelu Komponenttisuunnittelu Integrointi Hyväksymis Järjestelmän 9 10 Lähestymistapa integrointitestauksessa Oraakkeli Top-down (osittava) Testataan ensin ylimmän tason moduulit niin, että korvataan alemman tason moduulit tynkämoduuleilla Bottom-up (kokoava) Testataan ensin alemman tason moduulit ja ylempi taso korvataan testiajureilla http://www.cs.jyu.fi/~sakkinen//ai neisto/oraakkeli.ppt 11 12

Korttiesimerkki Yhteenvetoa Mitkä kortit täytyy kääntää seuraavan ehdon testaamiseksi: Jos kortissa on vokaali, niin sen toisella puolella on parillinen numero 2 A B 1 Kattava on jo laskennallisesti mahdotonta Kattavuus ei pelasta maailmaa! Monen abstraktin tekijän keskinäisten riippuvuuksien hahmottaminen on hankalaa Testaus pystyy todistamaan ainoastaan ohjelman virheellisyyden, ei virheettömyyttä Tuotantoprosessissa ohjelmaan jää aina virheitä, käytettävistä menetelmistä huolimatta > Kätännössä rajalliset resurssit, jotka on kohdennettava järkevästi 13 14 Ohjelmiston elinkaarikustannukset Testauksen rajallisuus 1 2 3 4 5 6 Vaihe Vaatimukset Määrittely Suunnittelu Koodaus Integrointi Testaus Kustannusosuus 2 % 5 % 6 % 5 % 7 % 8 % Pelkkä ei riitä Ei löydä puutteita Ei toteuta ohjelman validointia Ei kykene arvioimaan arkkitehtuurin toimivuutta, ylläpidettävyyttä, dokumentaatiota yms. Virheet voivat kumota toisensa -> ei näy testauksessa 7 Ylläpito 67 % Haikala ja Märijärvi, 2002. Ohjelmistotuotanto. 15 16

Milloin sitten lopettaa? Yleisiä suosituksia Kunnes aika tai rahat loppuvat Kun virhekäyrä tasaantuu Kompleksisuusmitat testauksen resurssien arvioinnissa Kattavuusmittojen käyttö Virheiden syöttö Testaussuunnitelmaan hyväksymiskriteerit Toimintojen on komponenttita tärkeämpää Muutoksen jälkeen on tärkeämpää testata vanhat kuin uudet toiminnot On tärkeämpää testata tavanomaiset tapaukset kuin ääritapaukset Testiohjelmatkin on suunniteltava huolellisesti Virheet pyrkivät kasautumaan Testauksen täytyy olla suunnitelmallista Testaaja eri henkilö kuin tekijä 17 18