Koostaja Grupp Kuupäev Märkus 10 Erlend Anderson VS11 050412 Esmane versioon 20 Hendrik Lõhmus TAH11 031012 Muutsin kõik Kustutasin enamus slaide otsisin uue materjali tegin sisukamad slaidid parandasin kirjavigu ID: 807070
Download The PPT/PDF document "Ühiktestimine Versioon" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Ühiktestimine
Slide2Versioon
Koostaja
Grupp
Kuupäev
Märkus
1.0
Erlend Anderson
VS11
05.04.12
Esmane versioon
2.0
Hendrik Lõhmus
TAH11
03.10.12
Muutsin
– kõik. Kustutasin enamus slaide, otsisin uue materjali, tegin sisukamad slaidid, parandasin kirjavigu
3.0
Vaas Peeter
TTT12
22.11.12
Muutsin
pealkirja ja
lisasin küsimused
Slide3Mis on ühiktestimine?
Ühiktestimine
on tarkvaraarenduses arvutiprogrammi väikseimate osade testimine. Testitav ühik on tavaliselt üks alamprogramm. Ühikteste kirjutavad programmeerijad või mõnikord ka testijad.
Ühiktestimine annab arendajatele ja testijatele kiire mooduse kontrollimaks loogikavigade meetodeid alljärgnevate klasside projektides:
C#
Visual Basic.net
C++
Ühiktestimist saab luua 1 kord ja käivitada igakord, kui lähtekoodi (source code) on muudetud. Kontrollimaks, et ühtegi viga ei esineks.
Slide4ÜHIKTESTIMINE – eesmärk
Ühiktestimist kasutatakse selleks, et kontrollida, kas rakenduse kood käitub nii, nagu oodatakse. Kuid kontrollida, et mingi kood käitub korrektselt, ei ole lihtne – arvuti saab teha ainult seda, mida talle on öeldud.
Ühiktest koosneb kolmest osast:
Etteantud sisend
Funktsionaalsuse väljakutse
Väljundi kontroll
Slide5ÜHIktestimine - Kasutamine
Ühiktesti loomiseks valib arendaja mingi osa funktsionaalsusest, mida ta asub kontrollima. Seejärel luuakse etteantud sisend ja oodatud väljund. Edasi kontrollib test, kas funktsionaalsus antud sisendiga väljastab oodatava tulemuse.
Väga tähtis on, et üks ühiktest kontrolliks võimalikult väikest koodiosa. See lubab kontrollida käitumist iga sisendi juhul eraldi. Kui testitav koodiosa on suurem, siis on keerulisem luua sellist testide komplekti, mis hõlmaks igat koodikäsku ja kontrolliks, kas see käitub nii nagu oodatud.
Ühiktestide põhimõte on selles, et arendaja kontrollib, kas kood töötab nii, nagu ta ette kujutab.
Slide6Ühiktestimise Kasulikkus
Ühiktestimine on väga kasulik siis, kui keegi hakkab testidega kaetud koodi muutma. Siis on kiiresti võimalik teada saada, kui midagi läheb katki (sest testid ei tööta enam). Vastupidi, kui kood on muutunud, aga testid on korras (nt rohelised), siis saab loota, et rakendus ei ole katki.
Peamine põhjus, miks ühiktestimine on tõhus, oleks seega:
Ühiktestimine
võimaldab vigu avastada juba varajases arendusfaasis.
Slide7ÜHIKTESTID RAKENDUSE KOODIS
Ühiktestidega ei ole eriti mõistlik katta kogu rakenduse koodi. On olemas kohad, mida võiks ühiktestidega katta peaaegu täielikult – need on:
Andmete ligipääsu kiht (data access layer
) – mis suhtleb nt andmebaasiga või veebiteenustega. Saab kontrollida nt SQL päringute toimimist.
Taaskasutatavad kasulikud meetodid (utility methods)
– nt kui rakenduses tuletise arvutamise kood, siis on seda lihtne välja kutsuda erinevate funktsioonide abil ja kontrollida, kas ta vastab õigesti.
Ärikihi loogika meetodid
– võivad olla osaliselt kaetud ühiktestidega, sõltuvalt keerukusest ja suurusest. Suuremaid on ühiktestidega keeruline testida.
Slide8Ühiktesti funktsionaalsus
Ühiktestid on koodiga samaväärsed osad ja asuvad tavaliselt rakenduse koodi kõrval versioneerimise süsteemis. Ühikteste soovitatakse käivitada võimalikult tihti – arendaja jaoks iga 5 minuti pärast. Aga isegi siis, kui neid ei käivitata nii tihti, on need väga kasulikud koodi regressioontestimiseks. (regressioontestimine = on igat tüüpi tarkvara testimine, mida kasutatakse peale koodi/süsteemi viidud muudatusi)
Testimises on tavaks luua ühiktest ennem, kui kood ise on valmis ning seejärel jätkata koodi arendamist, samal ajal kui testimine leiab aset. Kui avastatakse probleeme, siis nendest vabanetakse vara ja sealhulgas lihtsalt.
Slide9Ühiktestimine - Näide
Joonisel koostatakse ühiktest Credit ja Debit meetoditele
Slide10ÜHIKTESTIMINE - NÄIDe
Kui ühiktestimine on toimunud, koostatakse koodifail ja pakutakse välja võimalikke lahendusi „Solution“ kastikeses.
Slide11Tänan Kuulamast!
Slide12Kasutatud kirjandus
http://msdn.microsoft.com/en-us/library/ms182515(v=vs.90).
aspx
http://
wiki.developerforce.com/page/How_to_Write_Good_Unit_Tests
http://
www.jetbrains.com/resharper/features/unit_testing.html
http://
en.wikipedia.org/wiki/Unit_testin
Slide13KOrdamisküsimused
1. Mis on ühiktestimine ?
2. Mis on ühiktestimise 3 osa ?
3. Kohad, mis on võimalik katta ühiktestimisega?
4.
M
is
eesmärgil viiakse
läbi ühiktestimine
?
5. Milline kasutatud kirjandus annab ülevaate, kuidas kirjutada head ühiktestimist?