1 / 13

Ühiktestimine

Ühiktestimine. Mis 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.

Download Presentation

Ühiktestimine

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ühiktestimine

  2. Mis 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.

  3. Ü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

  4. Ü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.

  5. Ü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.

  6. Ü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.

  7. Ü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.

  8. Ühiktestimine - Näide Joonisel koostatakse ühiktest Credit ja Debit meetoditele

  9. ÜHIKTESTIMINE - NÄIDe Kui ühiktestimine on toimunud, koostatakse koodifail ja pakutakse välja võimalikke lahendusi „Solution“ kastikeses.

  10. Tänan Kuulamast!

  11. Kasutatud 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

  12. KOrdamisküsimused 1. Mis on ühiktestimine ? 2. Mis on ühiktestimise 3 osa ? 3. Kohad, mis on võimalik katta ühiktestimisega? 4. Mis eesmärgil viiakse läbi ühiktestimine ? 5. Milline kasutatud kirjandus annab ülevaate, kuidas kirjutada head ühiktestimist?

More Related