Ohjelmiston testaus ja laatu. Testausmenetelmiä



Samankaltaiset tiedostot
Dynaaminen analyysi III

Dynaaminen analyysi III Luento 5 Antti-Pekka Tuovinen

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

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

Harjoitustyön testaus. Juha Taina

Ohjelmistojen testaus ja virheenjäljitys

Testaussuunnitelma Labra

Ohjelmiston testaus ja laatu. Testaustasot

Ohjelmistotuotantoprojekti

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

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

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

58160 Ohjelmoinnin harjoitustyö

Ohjelmistotuotanto s

Dynaaminen analyysi I

Ohjelmiston toteutussuunnitelma

TESTIRAPORTTI - XMLREADER LUOKKA Virtuaaliyhteisöjen muodostaminen Versio 1.0

Laadunvarmistustekniikat

TESTIRAPORTTI - VYM JA KANTA Virtuaaliyhteisöjen muodostaminen Versio 1.0

TESTIRAPORTTI - XMLREADER-LUOKKA Virtuaaliyhteisöjen muodostaminen Versio 1.0 (luonnos 2)

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

T Testiraportti - järjestelmätestaus

RADAR - RANDOM DATA GENERATOR

Ohjelmoinnin perusteet Y Python

Lohtu-projekti. Testaussuunnitelma

Dynaaminen analyysi IV

TAMPEREEN TEKNILLINEN YLIOPISTO

Dynaaminen analyysi IV Luento 6 Antti-Pekka Tuovinen

Convergence of messaging

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

Kontrollipolkujen määrä

Ohjelmoinnin perusteet Y Python

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

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

Yksikkötestaus. Kattava testaus. Moduulitestaus. Ohjelman testaus. yksikkotestaus/ Seija Lahtinen

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori

Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri

Algoritmit 2. Luento 10 To Timo Männikkö

Ohjelmoinnin perusteet Y Python

Algoritmit 2. Luento 11 Ti Timo Männikkö

ITKP102 Ohjelmointi 1 (6 op)

Tietuetyypin määrittely toteutetaan C-kielessä struct-rakenteena seuraavalla tavalla:

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Testaaminen ohjelmiston kehitysprosessin aikana

Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta Toteuta Pythonilla seuraava ohjelma:

OpenOffice.org Base 3.1.0

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Datatähti 2019 alku. task type time limit memory limit. A Kolikot standard 1.00 s 512 MB. B Leimasin standard 1.00 s 512 MB

T Testiraportti - integraatiotestaus

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

Tietotyypit ja operaattorit

Ohjelmoinnin perusteet Y Python

Datatähti 2019 loppu

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

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

Javan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi

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

Ohjelmistojen testaus

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

TIE Ohjelmistojen testaus 2016 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori

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

Ohjelmistotestauksen perusteita I Luento 1 Antti-Pekka Tuovinen

T Testiraportti - integraatiotestaus

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

Testivetoinen ohjelmistokehitys

Algoritmit 2. Luento 10 To Timo Männikkö

Lähdekoodin suorituksen malli. 2. Äärelliset mallit (P&Y: 5) Ohjausvuokaaviot. Atomiset ehdot OVK:ssa. Atomiset ehdot

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

TIE Ohjelmistojen testaus Harjoitustyön esittely osa 2: Vaiheet 3 & 4. Antti Jääskeläinen Matti Vuori

TIE Ohjelmistojen testaus Harjoitustyön esittely osa 2: Vaiheet 3 & 4. Antti Jääskeläinen Matti Vuori

2. Äärelliset mallit (P&Y: 5)

SYÖTTÖPOHJA LUKUJEN SYÖTTÖÖN ERI TARKOITUKSIIN

Testaussuunnitelma. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie

11. Javan toistorakenteet 11.1

TAMPEREEN TEKNILLINEN YLIOPISTO

Luento 5. Timo Savola. 28. huhtikuuta 2006

811120P Diskreetit rakenteet

Kielioppia: toisin kuin Javassa

Opponointitestaus VYM -> LiKe

Good Minton QA Raportti Iteraatio 1 Sulkapalloliiton Kilpailujärjestelmä

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

Ohjelmoinnin perusteet Y Python

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

Hirviö Järjestelmätestauksen testitapaukset ja suoritusloki I1

Sisällys. 17. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. for-lause lyhemmin

Ohjelmoinnin perusteet Y Python

Merkkijono on palindromi, jos se säilyy samana, vaikka sen kääntää väärinpäin.

Esimerkki: Laskin (alkua) TIEA341 Funktio ohjelmointi 1 Syksy 2005

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit

4.2 Tekniikat Kuka testaa?

Kuopio. Testitapausluettelo: Henkilöt-osakokonaisuus

Ohjelmistotestauksen perusteita II

811120P Diskreetit rakenteet

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

Dynaaminen analyysi II Luento 4 Antti-Pekka Tuovinen

Metropolia ammattikorkeakoulu TI00AA : Ohjelmointi Kotitehtävät 3 opettaja: Pasi Ranne

13. Loogiset operaatiot 13.1

Java-kielen perusteet

Transkriptio:

Ohjelmiston testaus ja laatu Testausmenetelmiä

Testausmenetelmiä - 1 Testauksen menetelmien päälähestymistapoina ovat black-box testi testaaja ei voi tutkia lähdekoodia testaus perustuu sovellukselle suunnitteluvaiheessa tehtyihin määrityksiin ja laadittuihin ohjeisiin Menetelmän käyttö edellyttää ohjelman suunnittelussa tehdyiltä määrittelyiltä täsmällisyyttä ja oikeaa toteutusta. testattavalle sovellukselle annetaan haluttu syöte, jonka jälkeen sovelluksen toimintaa tutkitaan sen tuottaman tulosteen perusteella. testaus käyttöliittymän kautta testaajana ei mielellään tekijä tai sovelluksen tuntija, vaan täysin ulkopuolinen henkilö testitapaukset todennäköisesti paljastavampia Toimintopolut, kaikkien toimintopolkujen täydellinen läpikäynti

Testausmenetelmiä - 2 Syötteet - muuttujat numeeriselle muuttajalle sijoitettavat arvot (jos lukualueen ylittävät tai alittavat arvot mahdollisia): liian pieni arvo minimi arvo 1 minimi arvo minimi arvo + 1 jokin arvo väliltä minimi maksimi maksimi 1 maksimi maksimi +1 liian suuri arvo bittikombinaatio: kaikkia bitit nollia jokainen bitti vuorollaan yksi jokainen bitti vuorollaan nolla kaikki bitit ykkösiä merkkijono: merkkijonon pituus: nolla (tyhjä merkkijono) merkkijonon pituus: yksi merkkijono pituus: maksimi merkkijonon pituus: ylittää maksimin normaalimittainen merkkijono numeroiden, kirjaimien ja erikoismerkkien yhdistelmät merkkijonossa

Testausmenetelmiä - 3 Päivitys - tiedostot tyhjän tiedoston päivitys tietokannat tietueen lisäys (alkuun, loppuun, keskelle) tietueen poisto (alkuun, loppuun, keskelle) duplikaatit olemattoman tietueen poisto eri tapahtumat tietueelle ja niiden yhdistelmät (lisäys, muutos, poisto, palautus) Käsittely laskentatarkkuus erikoistilanteet (vuoden vaihde, vuosituhannen vaihde, lukujen etumerkin muuttuminen) Tulostus eri tulostusmuodot otsikointi, tunnisteet, sivunumerot erikoistilanteet (vuoden vaihde, vuosituhannen vaihde, lukujen etumerkin muuttuminen)

Testausmenetelmiä - 4 Black-box testitapausten luonnissa eri menetelmiä aluetestaus = testaus kaikilla syöteavaruuden alueen arvoilla ekvivalenttiositus = syöte tai tulostearvoille jaetaan eri alueita. Alueilla tulisi tulla sama vastaus. Testaus jokaisen alueen esimerkillä raja-arvoanalyysi = testitapaukset ekvivalenttiosituksen luokkien rajoista tai syötteen luonteen mukaisista rajatapauksista, esim. positiivinen kokonaisluku mille arvoalueelle nolla kuuluu virheen arvaus = testitapaukset laaditaan niistä tapauksista, joissa epäillään syntyvän virheitä

Testausmenetelmiä - 5 ekvivalenttiositus 1. jaetaan luokkiin (kelvollisia ja epäkelvollisia arvoja) 2. valitaan luokan sisältä mikä tahansa arvo huomioi testitapauksissa ja testauksessa, että useita asioita sisältävän testitapauksen jokainen kohta tulee testattu ja todettua, esim. tyttö 9 vuotta (sukupuoli ja ikä testipareina) alle alarajan alaikäinen täysi-ikäinen eläkeläinen yli ylärajan 0 18 64 150 ikä -5 9 41 75 195 t e s t i t a p a u k s e t

Testausmenetelmiä - 6 raja-arvoanalyysi 1. tehdään luokat 2. valitaan testitapaukset luokkien reunalta = raja-alueelta huomioi tässäkin menetelmässä testitapausten kombinaatioiden vaikutus alle alarajan alaikäinen täysi-ikäinen eläkeläinen yli ylärajan 0 18 64 150 ikä -1 0 1 16 17 18 63 64 65 149 150 151 t e s t i t a p a u k s e t

Testausmenetelmiä - 7 virheenarvaus testitapauksina mahdolliset virheet tai virheherkät tilanteet esimerkkejä tyhjät merkkijonot, väärät merkit (desimaalipilkku onkin piste), kenttien tiedot samoja / eri arvoja, tietoa liian vähän / paljon, syötteiden puuttuminen, rajoitinvirheet (esim. kenttärajoittimet), syntaksivirheet syötteessä/tulosteessa, kentän arvon riippuvuus jostain toisesta kentästä, sovelluksen tilariippuvuudet, JNE.

Testausmenetelmiä - 8 white-box (l. glass-box l clear box l. structural) testi testi perustuu lähdekoodin ja toiminnallisen määrittelyn olemassaoloon testitapaukset suunnitellaan lähdekoodin toiminnallisuuden perusteella testaajalla tietoa järjestelmän sisäisestä rakenteesta pyrkimys mahdollisimman kattaviin testituloksiin mahdollisimman täydelliseen lausekattavuuteen = testitapauksien tulisi käydä jokainen järjestelmän sisäisen rakenteen haara läpi Cs = Se / St * 100% missä Cs on lausekattavuus prosentteina, Se on suorittujen lauseiden määrä testitapauksessa, St on suoritettavien lauseiden kokonaismäärä testauskohteita ovat ohjelman ohjausrakenteet ja niiden kombinaatiot Lauseet, lausekattavuus: kaikki lauseet suoritettava vähintään kerran Silmukat, jokaiselle silmukalle suoritetaan testi, jossa toisto suoritetaan: nolla kertaa yhden kerran maksimiarvo kertaa jokin arvo väliltä 0 maksimi kertaa Suorituspolut, kaikki suorituspolut tulee suorittaa kerran

Testausmenetelmiä - 9 Muuttujat, numeeriselle muuttajalle sijoitettavat arvot (jos lukualueen ylittävät tai alittavat arvot mahdollisia): liian pieni arvo minimi arvo 1 minimi arvo minimi arvo + 1 jokin arvo väliltä minimi maksimi maksimi 1 maksimi maksimi +1 liian suuri arvo Bittikombinaatio kaikkia bitit nollia jokainen bitti vuorollaan yksi jokainen bitti vuorollaan nolla kaikki bitit ykkösiä Merkkijono merkkijonon pituus: nolla (tyhjä merkkijono) merkkijonon pituus: yksi merkkijono pituus: maksimi merkkijonon pituus: ylittää maksimin normaalimittainen merkkijono numeroiden, kirjaimien ja erikoismerkkien yhdistelmät merkkijonossa Parametrit, suoritetaan samat testit kuin muuttujille Taulukot, ylivuototilanteet esiintyvät vähintään kerran

Testausmenetelmiä - 10 if ( (A>B) and (X=1) ) then.. white box ja testauksen kattavuuskriteerit lausekattavuus testitapaus siten, että lauseen päätös on joko true tai false päätöskattavuus testitapaus siten, että päätös saa molemmat arvot true ja false ehtokattavuus testitapaukset siten, että kaikki ehdot saavat molemmat arvot päätös-ehtokattavuus testitapaukset siten, että sekä päätös että kaikki ehdot saavat molemmat arvot monikattavuus testitapaukset siten, että käydään kaikki ehtojen kombinaatiot testaamassa

Testausmenetelmiä - 11 grey-box testi (gray-box am.) yhdistelmä white box ja black box testeistä testitapaukset luodaan ohjelmakoodi ja toiminnallisuus tuntien toiminnallisesti orientoitunut, hyödyntää koodia ja toteutusratkaisujen tuntemusta varmentaa, paikkaa, täydentää edellisiä testejä hyviä testitapauksia ovat esim: rakenteelliset raja-arvot alivuoto ylivuoto nollalla jaot pyöristykset alku, loppu (esim. kuukausi) jne

Testausmenetelmiä - 12 testitapausten suunnittelustrategia 1. aloita raja-arvoanalyysillä (syötteet ja tulosteet) 2. jatka tarvittaessa ekvivalenssiosituksella 3. jatka tarvittaessa virheenarvauksella 4. täydennä tarvittaessa white-boxilla 5. täydennä tarvittaessa grey-boxilla 6. hyödynnä testitapauksissa omaa järkeä