Kuidas testida ID kaardi baastarkvara? Maili Markvardt ASA Quality Services OÜ

Download Report

Transcript Kuidas testida ID kaardi baastarkvara? Maili Markvardt ASA Quality Services OÜ

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 testimine:
Kes? Mida? Kuidas?
Tellija
Arendaja
ID kaardi
baastarkvara
Kvaliteedikontroll
Hankenõuded
Kasutuslood
Prototüüp
Metoodika
“Testimine”
Täpsustused,
selgitused ja
vestlused
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
Funktsionaalsus
Skoobimuutujad
Operatsioonisüsteemid
Brauserid
Kaardilugejad
Failiformaadid
Sertifitseerijad
Sertifikaadi kodeeringud
Kasutaja õigused
Vana tarkvara olemasolu
Skoobimuutujad täpsemalt (1/3)
• 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 (2/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 (3/3)
• Sertifikaatide kodeeringud
– UTF-8
– UCS-2
• ATR (Answer to reset)
põlvkond
– “Vanem”
– “Uuem”
• Kasutajaõigused
– Tavakasutaja
– Administraator
• Vana tarkvara olemasolu
– JAH
– EI
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”
Madalam
prioriteet
Arendajatestid
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
Ettevalmistused on
tehtud!
Läheb testimiseks!
• 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
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
[email protected]
Testimine:
natuke teadust,
natuke meisterlikkust,
natuke kunsti
Viited
•
1TestLink
- http://testlink.org/