58160 Ohjelmoinnin harjoitustyö

Samankaltaiset tiedostot
Harjoitustyön testaus. Juha Taina

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

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

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

Lohtu-projekti. Testaussuunnitelma

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

Ylläpitodokumentti. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

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

Kontrollipolkujen määrä

Convergence of messaging

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

Test-Driven Development

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

Test-Driven Development

Ohjelmiston testaus ja laatu. Testausmenetelmiä

Lohtu-projekti. Testiraportti. Versiohistoria: syklin toteutuksen testit. 1. ajo Virve

UCOT-Sovellusprojekti. Testausraportti

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

Testilähtöinen ohjelmistokehitys. Testilähtöinen ohjelmistokehitys. TDD Testilähtöinen ohjelmistokehitys. Testi! Testi

Automaattinen yksikkötestaus

Ylläpitodokumentti Mooan

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

T Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe T1. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T1

Ohjelmiston testaus ja laatu. Testaustasot

TESTIRAPORTTI - XMLREADER LUOKKA Virtuaaliyhteisöjen muodostaminen Versio 1.0

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant Versio: V0.3

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

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

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

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

T Käyttäjäkeskeisen tuotekehityksen harjoitustyö kevät 2005

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

Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2016

Testiraportti - Koordinaattieditori

Dynaaminen analyysi IV

Dynaaminen analyysi IV Luento 6 Antti-Pekka Tuovinen

Dynaaminen analyysi III

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

Laadunvarmistuksen suunnitelma. Ryhmä ExtraTerrestriaLs Aureolis Oy

Ohjelmistotuotantoprojekti

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

Toisessa viikkoharjoituksessa on tavoitteena tutustua JUnit:lla testaukseen Eclipse-ympäristössä.

Testausdokumentti. Sivu: 1 / 10. Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto. Versiohistoria

Hakemistojen sisällöt säilötään linkitetyille listalle.

Ohjelmistotestaus -09

OHJELMISTOTEKNIIKKA LABORATORIOHARJOITUKSEN OHJEET

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olioorientoituneeseen

Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö

Testiautomaatio tietovarastossa. Automaattisen regressiotestauksen periaate ja hyödyt

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

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

Käytettävyystestaus Selville saatavat ongelmat

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

T Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe LU. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T3

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

Ohjelmoinnin perusteet, syksy 2006

TIE Ohjelmistojen testaus 2016 Harjoitustyö Vaihe 3. Antti Jääskeläinen Matti Vuori

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

Versio Päiväys Tekijä Kuvaus Tikkanen varsinainen versio

Hirviö Järjestelmätestauksen testitapaukset ja suoritusloki I1

Dynaaminen analyysi I

TESTIRAPORTTI - VYM JA KANTA Virtuaaliyhteisöjen muodostaminen Versio 1.0

Määrittelydokumentti NJC2. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri

Testausraportti v.1.3

811120P Diskreetit rakenteet

tulli.fi versio 0.3, Sanoma-asioinnin testauspalvelun käyttöohje

Fiksumpi käyttöliittymä kuntaan. Miten kuntien tietojärjestelmät saadaan palvelemaan kuntalaisia? LapIT-päivät 2015

Teknillinen korkeakoulu T Tietojenkäsittelyopin ohjelmatyö. Testausraportti Smartmeeting opponointi

T Testiraportti - integraatiotestaus

Ohjelmistoprosessit ja ohjelmistojen laatu Ohjelmistoprosessit ja ohjelmistojen laatu (4op)

Testaussuunnitelma Labra

Joensuun yliopisto Tietojenkäsittelytieteen laitos

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant

JUnit ja EasyMock (TilaustenKäsittely)

811120P Diskreetit rakenteet

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

Ohjelmiston testaussuunnitelma

T Testiraportti - integraatiotestaus

Projektisuunnitelma Viulu


TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaihe 3. Antti Jääskeläinen Matti Vuori

Onnistunut Vaatimuspohjainen Testaus

Tik Projektiryhmä: TeamAhma. Projektin HAYABUSA opponointi. Opponointisuunnitelma

Testaussuunnitelma Versio Päiväys Tekijä Kuvaus

T Testitapaukset TC-1

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

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä

Ohjelmien testaustyökalut

Dynaaminen analyysi II

Järjestelmän kriittisimmille toiminnallisuuksille (listattu alla), toteutetaan 1

Toinen harjoitustyö. ASCII-grafiikkaa 2017

Laadunvarmistuksen suunnitelma. Ryhmä ExtraTerrestriaLs Aureolis Oy

Dynaaminen analyysi III Luento 5 Antti-Pekka Tuovinen

Ohjelmistojen virheistä

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä

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

Transkriptio:

58160 Ohjelmoinnin harjoitustyö Testaus 30.3.2009 Tuntiop. Sami Nikander sami.nikander@helsinki.fi 58160 Ohjelmoinnin harjoitustyö, Sami Nikander 30.3.2009 1

Testaus Ohjelman systemaattista tutkimista aiemmin tuntemattoman virheen löytämiseksi Asenne: Yritetään saada ohjelma olemaan toimimatta niin kuin pitäisi Nurinkurista: Onnistunut testaus on sellainen, joka paljastaa virheen! Testaus joka ei löydä virhettä, on epäonnistunut = ei todista virheettömyyttä! Käytännössä pitää lopettaa sovittuun rajaan, eli viimeinen testauskierros on aina jossain määrin epäonnistunut! 58160 Ohjelmoinnin harjoitustyö, Sami Nikander 30.3.2009 2

Testaus Ks. FT Juha Tainan kalvot testauksen perusteista: http://www.cs.helsinki.fi/u/nikander/oht/ testauksen_perusteet.pdf Edelliseen liittyvä harjoitelma: http://www.cs.helsinki.fi/u/nikander/oht/ testaus_harjoitus.pdf 58160 Ohjelmoinnin harjoitustyö, Sami Nikander 30.3.2009 3

Harjoitustyön testaus Testattava ainakin keskeiset osat ohjelmasta Ohjaaja määrittelee opiskelijan kanssa, mitkä osat pitää testata (riippuu työstä) Esim. haaraumakattavuus on hyvä strategia Testitapaukset lähdekoodin pohjalta (= white box) Jokainen haarauma tulee olla läpikäyty vähintään kerran testauksen aikana (= haaraumakattavuus) Ei testata esim. ohjelman käyttöliittymän painikkeita, vaan ohjelmakoodin metodeita Tutkittava metodien lohkorakennetta sekä ehto-/toistolauseita: jokaisessa lohkossa on käytävä 58160 Ohjelmoinnin harjoitustyö, Sami Nikander 30.3.2009 4

Harjoitustyön testaus Lopullisen työn testaus on ERI ASIA kuin koodatessa tapahtuva intuitiivinen (ad hoc) testaaminen Testauksen on oltava systemaattista ja kattavaa: sinun on pystyttävä perustelemaan miksi teit mitäkin Testauksen on oltava toistettavissa: ohjaajan on pystyttävä ajamaan samat testit ja saatava samat tulokset Testausta varten laadit testauskoodia, jossa metodeille syötetään parametrit, joilla jokainen lause tulee suoritettua Kun testaus on suoritettu, koodia ei saa muuttaa - muuten testitulokset eivät enää päde 58160 Ohjelmoinnin harjoitustyö, Sami Nikander 30.3.2009 5

Testauskoodi Testilauseet main-metodissa Normaaliajossa vain pääluokan main suoritetaan, joten muihin luokkiin voi tehdä ylimääräisen main-metodin Esimerkki: http://www.cs.helsinki.fi/u/jnenonen/alabra/ SuperTankkeri.java Junit-testiajurit myös hyvä työkalu (ei pakollinen) Kotisivu: http://www.junit.org/ Tutoriaali: http://open.ncsu.edu/se/tutorials/junit/ Javan assert-lausetta voi käyttää testauskoodissa http://java.sun.com/javase/6/docs/technotes/guides/ language/assert.html 58160 Ohjelmoinnin harjoitustyö, Sami Nikander 30.3.2009 6

Testiraportti Testauksen periaatteet, testitapaukset ja testiajojen tulokset dokumentoidaan testiraportiksi Testausperiaatteet: Mitä strategiaa/strategioita on käytetty Miten kattava testaus mielestäsi on jne. Jokaisesta testitapauksesta dokumentoidaan: Testattava toiminto (tai: testin otsikko ) Testin tarkoitus: mitä testillä yritetään saada selville? Testin alkutilanne: mitä on tapahtunut ennen testiä? Testin kulku: mitä testissä tehdään? Odotettu tulos: mitä testissä pitäisi tapahtua? JUnit-testikehystä käytettäessä osan em. kohdista voi dokumentoida hyvin kommentoidulla JUnit-lähdekoodilla 58160 Ohjelmoinnin harjoitustyö, Sami Nikander 30.3.2009 7

Testiraportti Aidon testiajon data liitteeksi: Testin suoritus ja kulku, syötteet ja tulosteet ym. JUnit-testien osalta riittää toimittaa testiajurien lähdekoodi, jonka ohjaaja suorittaa Odotetun tuloksen oltava sama kuin saatu tulos. Virheet korjataan. Viimeinen testikierros on siis epäonnistunut (!) testaus, jossa ei enää löydy virheitä. Mikäli et ehdi tai osaa korjata virhettä, kysy hyväksyykö ohjaaja korjaamisen sijaan myös pelkän dokumentoinnin Tällöin ohjelmaan jää siis (dokumentoitu) bugi Dokumentoitu bugi on arvostelun kannalta parempi kuin dokumentoimaton, jonka ohjaaja kuitenkin löytää tarkastuksessa... Bugista kerrottava käyttöohjeessa, koodissa ja tekn. dokumentissa 58160 Ohjelmoinnin harjoitustyö, Sami Nikander 30.3.2009 8

58160 Ohjelmoinnin harjoitustyö, Sami Nikander 30.3.2009 9