60 likes | 205 Views
Yksikkötestaus. Testaus ja testausympäristöt. Yksikkötestaus. Yksikkötestauksessa yksittäisiä lähdekoodin palasia testataan vähän kerrallaan. Yksikkö tarkoittaa pienintä testattavissa olevaa sovelluksen osaa, esimerkiksi yksi funktio.
E N D
Yksikkötestit Yksikkötestaus Testaus ja testausympäristöt
Yksikkötestit Yksikkötestaus • Yksikkötestauksessa yksittäisiä lähdekoodin palasia testataan vähän kerrallaan. • Yksikkö tarkoittaa pienintä testattavissa olevaa sovelluksen osaa, esimerkiksi yksi funktio. • Yksikkötestauksen suorittaja on lähtökohtaisesti itse ohjelmoija, kun yksikkötestaus sisäistyy osaksi toimintatapaa ohjelman suoritusta alkaa ajatella osittain testitapausten kautta (toimiiko ohjelma niillä ja niillä syötteillä oikein). • Jos ei yksikkötestata niin... • Painetaan F5 ja ryhdytään debuggaamaan ohjelmaa kun jokin ei tunnu toimivan • Sirotellaan System.out.println tai echo –lauseita sinne tänne ja yritetään haarukoida kohta jossa muuttujien arvot menevät pieleen. • Yksikkötestauksen etu on toistettavuus, kerran tehty testi ajettavissa joka kerta kun ohjelma käännetään uudelleen.
Yksikkötestit Hyödyt • Yksikkötestaus kertoo yksiselitteisesti että koodi toimii. • Ei vielä kerro tehtyjen yksikkötestien laadusta, kattavuus jää yksikkötestien tekijän harteille. • Kun yksikkötestit on kerran laadittu ne voidaan helposti ajaa myöhemmin kun koodiin tehdään muutoksia • Varmistetaan, että muutosten jälkeen koodi toimii edelleen eikä mukaan ole päässyt uusia bugeja • Yksikkötestit toimivat eräänlaisena dokumentointina koodista • Koodia voidaan tulkita testitapausten avulla
Yksikkötestit Yksikkötestin rakenne • Yksikkötestissä tietty funktio ajetaan halutuilla syötteillä ja verrataan lopputulosta tiedettyyn • Funktion pitäisi kertoa kaksi lukua keskenään • Testataan toimivatko 2 x 2 = 4 ja 0 x 2 = 0 • Tavallisimmat assert –metodit • assertTrue() • assertEquals() • assertNotNull() • Parametrien määrä ja tyypit vaihtelevat tarpeen mukaan • Voidaan verrata onko syöte tosi, ovatko syötteet samoja tai verrata NULL –arvoon.
Yksikkötestit Mitä pitää mielessä kun teet yksikkötestejä • Pidä yksikkötestit pieninä ja nopeina • Test a little, code a little, test a little.. • Yksikkötestien tulisi olla automatisoituja ja ne ajetaan automaattisesti kun sovellus käännetään • Korjaa vialliset testit välittömästi • Yksikkötestauksessa testataan yhtä luokkaa, jokaisella luokalla tulisi olla yksi testiluokka. • Pyri nimeämään testit järkevästi ja havainnollisesti. • Testejä joudutaan mahdollisesti ajamaan uudestaan pitkänkin ajan päästä • Pyri hajoittamaan oma koodisi, mieti miten funktio käyttäytyy erilaisilla syötteillä
Yksikkötestit Lähteitä ja linkkejä • Visual Studio, Verifying Code by Using Unit Tests • http://msdn.microsoft.com/en-us/library/dd264975.aspx • Wikipedia: Unit testing • http://en.wikipedia.org/wiki/Unit_testing • Unit Testing Guidelines • http://geosoft.no/development/unittesting.html • Sekalaisia • http://clarkware.com/articles/JUnitPrimer.html • http://www.vogella.de/articles/JUnit/article.html