270 likes | 718 Views
Kuidas testida ID kaardi baastarkvara?. Maili Markvardt ASA Quality Services OÜ ID kaardi nõustamiskeskuse infoseminar 04. veebruar 2010. Kava. Kes me oleme? Kes osalesid ID kaardi baastarkvara testimisel? Mida täpsemalt testiti? Kuidas testiti?. Meie ei tee tarkvara.
E N D
Kuidas testida ID kaardi baastarkvara? Maili Markvardt ASA Quality Services OÜ ID kaardi nõustamiskeskuse infoseminar 04. veebruar 2010
Kava • Kes me oleme? • Kes osalesid ID kaardi baastarkvara testimisel? • Mida täpsemalt testiti? • Kuidas testiti?
Meie ei tee tarkvara • ... Me aitame teha tarkvara paremaks • ASA Quality Services OÜ on partneriks kõigis tarkvara kvaliteeti puudutavates küsimustes • Testimine ja audit (funktsionaalne, mittefunktsionaalne, automatiseeritud) • Kvaliteedijuhtimine • IT ja äriprotsessid • Nõuded, arhitektuur ja disain • Hands-on konsultatsioonid
ID kaardi baastarkvara Tellija Arendaja Kvaliteedikontroll
Hankenõuded Kasutuslood Prototüüp Täpsustused, selgitused ja vestlused Metoodika “Testimine” Kogemused
Testimise skoop (1/2) “Must kast” Kasutaja vaade
Testimise skoop (2/2) • ID kaardi haldusvahend • Allkirjastamise ja krüpteerimise tööriistad • DigiDoc3 klient • Krüpto • OpenOffice’i plugin • ID kaardi tugi veebilehitsejates • ID kaardi tugi e-posti kliendis Mozilla Thunderbird • Paigalduspaketid
Skoobimuutujad Operatsioonisüsteemid Brauserid Kaardilugejad Failiformaadid Sertifitseerijad Sertifikaadi kodeeringud Kasutaja õigused Vana tarkvara olemasolu Funktsionaalsus
Operatsioonisüsteemid – 13 Win2000 32bit Windows XP 32/64bit Windows Vista 32/64bit Open SuSe 32/64bit Ubuntu 32/64bit Fedora 32/64bit MacOS 10.4 PowerPC MacOS 10.5 Intel Kaardilugejad - 12 Levinuimad Pinpadiga/pinpadita USB PCMCIA ExpressCard Skoobimuutujad täpsemalt (1/3)
Failiformaadid DDOC 1.1-1.3 BDOC 1.0 Brauserid Mozilla Firefox MS Internet Explorer Safari Sertifitseerijad KLASS-3 (digitempel), ESTEID-SK (ID kaart), ESTEID SK-2007 (ID kaart), EID-SK 2007 (Mobiil-ID), TEST-SK (testallkiri) Skoobimuutujad täpsemalt (2/3)
Sertifikaatide kodeeringud UTF-8 UCS-2 ATR (Answer to reset) põlvkond “Vanem” “Uuem” Kasutajaõigused Tavakasutaja Administraator Vana tarkvara olemasolu JAH EI Skoobimuutujad täpsemalt (3/3)
Funktsionaalsus - testiideed • Testiidee on tingimus, mille toimimist tuleb kontrollida (testida), näiteks • ID kaardiga allkirjastamine, kui rollis/resolutsioonis on täpitähed • ID kaardiga allkirjastamine, kui allkirjastamise sertifikaat on aegunud/peatatud/tühistatud • ID kaardiga allkirjastamine, kui juurdepääsutõend pole paigaldatud ja puudub IP-põhine ligipääs • … • Testiideed tekkisid ASA ja SK koostöös • Testiideede umbkaudne arv ~300
Testide prognoositav koguarv Skoobimuutujate väärtused * testiideed = ~13 000 Sellise hulga testide ainuüksi läbiviimiseks kuluks ~30 inimkuud! (testide kirjeldamisest rääkimata)
Mida me tegime? • Funktsionaalsust tuleb testida lähtuvalt riskidest • Mis võib pahasti minna, kui tarkvara ei tööta? • Mõju: Kui kriitiline on viga testiideega esitatud funktsionaalsuses? • Tõenäosus: Kui tõenäoline on, et kasutaja sellisesse olukorda satub? • Testiidee olulisus: mõju * tõenäosus
Testiideede prioriseerimine mõju ja tõenäosuse alusel Suitsutestid Vastuvõtutestid Kõrgem prioriteet “Uurivad testid” Arendajatestid Madalam prioriteet
Suitsutestid • “Kui suitsutestitav funktsionaalsus ei toimi, siis katkestame testimise ning alustame uuesti pärast vigadeparandust” • ~1/4 testiideedest
Vastuvõtutestimine • “Kui suitsutestid on edukalt läbitud, siis jätkame vastuvõtutestimise e põhjaliku testimisega” • ~1/2 testiideedest
Uuriv testimine • “Sertifitseerimiskeskuse spetsialistid, kellel on kogemused valdkonna ning vana tarkvaraga, uurivad, kuidas tarkvara toimib” • ~ca 1/8 testiideedest
Arendajatestimine • “Meie ei testi, kuid arendaja testib (lisaks tavapärasele arendustestimisele)” • ~ca 1/8 testiideedest
Testiideedest testilugudeni • Testilugu on samm-sammuline kirjeldus, kuidas tarkvara omadusi kontrollida, koos oodatava tulemuse kirjeldusega • Vajalik selleks, et alati testitaks täpselt ühtemoodi • Ühe testilooga on tihti võimalik testida korraga mitut testiideed • Iga testiidee sõltub ühest või mitmest skoobimuutujast • Kokku ~170 testilugu • Kasutasime testilugude ja testimise haldamise vahendina TestLink’i1
Reaalne riistvara Vältimaks virutaliseerimise võimalikke kaasnähtusi Lisaks Rackile eraldi Mac’id ja 64 bit masinad Dubleeritud riistvara Testkeskkondade füüsilise ja tarkvaralise riknemise riski maandamiseks Võimalus N testijal paralleelselt testida Ettevalmistused on tehtud!Läheb testimiseks!
Testimise väljund • Info: testiraport nii Tellijale kui Arendajale • Mida testisime ja mida ei testinud (ei saanud testida)? • Mis töötas? • Mis ei töötanud ja kuidas see väljendus? • Info on mõeldud Tellijale • Sisendiks otsuste vastuvõtmisel • Südamerahu ja enesekindluse saavutamiseks
Mida õppisime ja millele saime kinnitust? • Osapoolte arusaamine “testimisest” on erinev • Head ettevalmistused on ladusa testimise aluseks • ~50% kogu töömahust • Testilood ja metoodika • Testkeskkonnad ja lisaseadmed • Kaasa ettevalmistustesse ja testimisse rakendusvaldkonna eksperte • Testkeskkondade haldamisele kulub samuti aega
Küsimused? … on alati teretulnud maili@asaquality.ee
Testimine:natuke teadust,natuke meisterlikkust, natuke kunsti
Viited • 1TestLink - http://testlink.org/