Tarkvara testimist käsitlev juhendmaterjal Tarkvara testimine Testimise parimad praktikad Nõudmiste määratlemine Maili Markvardt ASA Quality Services OÜ Tallinn 2006 Sisukord 1 Lugejaskond ja käsitlusala.......................................................................................3 2 Kasutatavad mõisted.................................................................................................3 3 Sissejuhatus testimisse........................................
Tarkvara kvaliteedi kordamisküsimused 1. Pakkuge ise kvaliteedi mõiste, võrrelge ülal pakutud mõistega Kvaliteet on nii tootja või kaubamärgiga kaasas käiv omadus, kui ka suhe toote ja nõuete vahel. 2. Kas tarkvara kvaliteedi määratlus erineb teiste toodete kvaliteedi määratlusest? Miks? Ei erine, lihtsalt vaadatakse erinevaid aspekte. 3. Millal võib kvaliteedi määratluses piirduda vaid tootega? Vaid toote ja nõudmistega? Kui kvaliteet on mingi tootja või kaubamärgiga kaasas käiv omadus. 4. Kuidas suhtuda väitesse "Tarkvara kvaliteeti pole olemas, kogu aeg on kiirustamine ja pole aega ühte asja valmis saada, juba tuleb järgmine"? Millist kvaliteedi mõistet siin arvestatakse
Tarkvaratehnika: Loeng 1: Taust: o Tarkvara iseloom o Kõrgenenud nõudmised: Suuremad süsteemid Keerulisemad süsteemid Kiiremini Erinevad näited vigadest mis on tehtud: o Ariane Crash 1996 kosmosesüstiku alla kukkumine, tuli välja et selle alla kukkumise põhjuseks oli tarkvarasüsteemis viga ilmus trajektoori osas. o Therac-25 kiiritusravi andmises tehti viga kasutaja liideses, kus
Tarkvaratehnika 1. Loeng Kvaliteetse tarkvara atribuudid: 1. Teostab ettenähtud funktsionaalsust 2. Hooldatav Tarkvara peab arenema, et vastata muutuvatele vajadustele. 3. Usaldusväärne Töökindlus ja turvalisus. 4. Vastuvõetav Kasutajad on aktsepteerinud selle. Tarkvara on neile arusaadav, kasutatav ja ühilduv teiste süsteemidega. Mis on tarkvaratehnika? Tarkvaratehnika on tiimide poolt rakendatav distsipliin tootmaks kõrgekvaliteedilist, suuremastaabilist ja hinnaefektiivset tarkvara, mis rahuldab kasutajate nõudmisi ja mida saab hooldada teatud ajaperioodi vältel. Tarkvaratehnika on süstemaatilise, distsiplineeritud ja mõõdetava lähenemisviisi rakendamine tarkvara arendamisele, käitamisele ja hooldamisele,
tarkvara peab olema arusaadav, kasutatav ja ühilduv teiste süsteemidega). Tarkvaratehnika vaated: • Omaniku vaade (Motivation layer), • Kavandaja vaade (System design layer), • Ehitaja vaade (Deployment layer). Tarkvaraprotsessi etapid: 1. Nõuete esiletoomine ja analüüs, 2. Kavandamine e. disain (Arhitektuuriline kavandamine, Detailne kavandamine), 3. Realiseerimine, 4. Testimine, 5. Hooldus ja evolutsioon. Tarkvaraprojekti jaoks vajalikud osad: inimesed, nõuded, vahendid, testid-mockid. Süsteem Tarkvaratehnika ei ole isoleeritud distsipliin vaid osa laiemast süsteemitehnikast. Tarkvarasüsteemid ei ole isoleeritud süsteemid vaid sotsiaalsete süsteemide osad – sotsiotehniline süsteem. Süsteem on üksteisega ühendatud olemite või komponentide hulk, mis moodustavad keerulise terviku või täidavad koos keerulist funktsiooni
1. Tarkvaratoode mis siia kuulub? Tarkvara arenduse tulem (toode, teenus) hõlmab mitmesuguseid komponente, mis kõik võivad olla kvaliteedihalduse objektid, näiteks arenduse käigus hangitud infotehnoloogiavahendid: riistvara, standardtarkvara, sideseadmed arenduse käigus tehtud töö: täitja arendatud tarkvara (sealhulgas lähtekood, objektkood, täitmiskood jm); installatsioonid, kohandamised, muudatused; andmehõive muudatused tellija organisatsioonis, protsessides, töökorralduses... projektdokumentatsioon kasutamise kohta (kasutajajuhendid); objektsüsteemi kohta; loodavate objektide kohta (programmi/testimise dokumentatsioon); installeerimise ja seadistamise kohta; arenduse (sh testimise) kohta metoodika: tulemuste kasutamine; tulemuste edasiarendamine; uute arenduste tegemine
TARKVARATEHNIKA KORDAMISKÜSIMUSED 1. Mis on tarkvaratehnika? Software engineering ! “Engineers Australia” definitsioon: Tarkvaratehnika on tiimide poolt rakendatav distsipliin tootmaks kõrgekvaliteedilist, suuremastaabilist ja hinnaefektiivset tarkvara mis rahuldab kasutajate nõudmisi ja mida saab hooldada teatud ajaperioodi vältel. IEEE definitsioon: Tarkvaratehnika on süstemaatilise, distsiplineeritud ja mõõdetava lähehemisviisi rakendamine tarkvara arendamisele, käitamisele ja hooldamisele, see tähendab, inseneriteaduste rakendamine tarkvarale. Tarkvaraarendus on nõrgem termin, kus tingimata ei kasutata protsesse, tööriistu, standardeid, jne. Tarkvaraarendus on progemine + konfigursatsiooni haldus. Tarkvaratehnika ei ole ainult programmi kirjutamine, vaid teemad hõlmavad ka kvaliteeti, ajakavasid,
6. Kuidas liigitada nõudeid? eksam 7. Nõude 3 põhiomadust. 8. Nõuete valideerimise tehnikad. 9. Komponentidel põhinev arhitektuur 10.Kihiline arhitektuur eksam 11.Objektorienteeritud arhitektuur 12.Teenusorienteeritud arhitektuur 13.Lihtsa koodi disaini 4 elementi 14.Miks peab nõudeid haldama? 15.Milleks kasutatakse versioonihaldust? eksam 16.Funktsionaalne nõue eksam 17.Mittefunktionaalne nõue eksam 18.Tarkvara elutsükkel 19.Millest koosneb tarkvara? 20.Mis on testimine? 21.Staatiline testimine eksam 22.Dünaamiline testimine eksam 23.Valge kasti testimine 24.Musta kasti testimine 25.Testimise tasemed 26.Re-testmine ja regressioonitestimine 27.eXtreme programmingu alustalad 28.Kirjelda lühidalt XP-d 29.Mis on mudel? eksam 30.Mis on UML? Miks on seda vaja? 31.Tarkvaratehnika 3 vaadet. 32.Tarkvara protsessi etapid. 33.Tabel disaini ja analüüsi abstraktsioonitasemete kohta 34
Kõik kommentaarid