Miks nad kll vigadeta tarkvara ei tee Urmo

  • Slides: 23
Download presentation
Miks nad küll vigadeta tarkvara ei tee? Urmo Keskel

Miks nad küll vigadeta tarkvara ei tee? Urmo Keskel

Millest teen juttu • Tarkvara vigadest • Testimise olemusest • Meie uuest väljakutsest •

Millest teen juttu • Tarkvara vigadest • Testimise olemusest • Meie uuest väljakutsest • Kuidas Teie saate parema tarkvara nimel kaasa aidata

Mis on tarkvara viga? Inglise keeles: bug, defect Puudus tarkvaras, mis võib viia süsteemi

Mis on tarkvara viga? Inglise keeles: bug, defect Puudus tarkvaras, mis võib viia süsteemi funktsiooni korrektse täitmata jätmiseni.

Vigade tüübid • Vead nõudmistes – ei vasta kasutaja vajadustele • Nõudmiste/programmi mittevastavus •

Vigade tüübid • Vead nõudmistes – ei vasta kasutaja vajadustele • Nõudmiste/programmi mittevastavus • Programmeerimisvead – programm ei tee seda, mida programmeerija ootas • Disainivead – ebamugav kasutajale, lahendus pole laiendatav • Dokumentatsiooni/programmi mittevastavus

Miks vead tekivad? • Nõudmiste spetsifikatsioon on ebatäpne ja mitmetimõistetav • Ootamatud olukorrad •

Miks vead tekivad? • Nõudmiste spetsifikatsioon on ebatäpne ja mitmetimõistetav • Ootamatud olukorrad • Tähtajad liiga lähedal, et oma tööd põhjalikult testida • Programmeerija ei saa testida oma “mõtlemislünki”, sest ta lihtsalt ei tule nende peale

Miks vead tekivad? • Kolmanda osapoole komponentide (sh arendusvahendid ) kasutamisest • Konfiguratsioonihalduse vahendite

Miks vead tekivad? • Kolmanda osapoole komponentide (sh arendusvahendid ) kasutamisest • Konfiguratsioonihalduse vahendite väärkasutamisest • Vigade parandamisel võib tekkida uusi vigasid • . . . • Inimesed lihtsalt teevad vigu. . .

Miks vead tekivad? • Tarkvaraarendus on üsna noor valdkond – standardeid ja nõuded vähe

Miks vead tekivad? • Tarkvaraarendus on üsna noor valdkond – standardeid ja nõuded vähe kirjeldatud, need ei ole kohustuslikud • Tarkvara arendus materjali poolelt odav • Tarkvaraarendus on kiiresti muutuv valdkond • Tarkvarasüsteemid on ajaga muutunud järjest keerulisemaks

Kuidas vigadele jälile saada? • Alustada vigade otsimisega võimalikult vara • Kaasata arendusprotsessi sõltumatud

Kuidas vigadele jälile saada? • Alustada vigade otsimisega võimalikult vara • Kaasata arendusprotsessi sõltumatud proffessionaalsed testijad • Saada võimalikult vara potensiaalse kasutaja tagasiside (beeta testmine) • Automaatsed vearaporteerimise süsteemid • Kokkulepped toodangus vigadest raporteerimiseks

Oluline on leida viga võimalikult vara Vea parandamise hind arenduse eri faasides: Allikas: Mc.

Oluline on leida viga võimalikult vara Vea parandamise hind arenduse eri faasides: Allikas: Mc. Connell, Steve (2004). Code Complete, 2 nd edition, Microsoft Press

Testimise definitsioon The process consisting of all life cycle activities, concerned with planning, preparation

Testimise definitsioon The process consisting of all life cycle activities, concerned with planning, preparation and evaluation of software products and related work products to determine: –that they satisfy specified requirements, –to demonstrate that they are fit for purpose and –to detect defects Allikas: ISTQB

Testimine piltlikult Nõud e d, oo Test tused t it jek b o av

Testimine piltlikult Nõud e d, oo Test tused t it jek b o av Testimine Testiplaanid, testijuhud, testiaruanded, vearaportid

Vigadeta tarkvara? Pole olemas, või kui on, siis ei ole taskukohane Testimine ei tõesta

Vigadeta tarkvara? Pole olemas, või kui on, siis ei ole taskukohane Testimine ei tõesta tarkvaras vigade puudumist, küll aga annab infot testitava tulemi kvaliteedi kohta.

ID-kaardi tarkvara täielik testimine Testitavaid kombinatsioone = opsüsteemid*kaardilugejad*brauserid * kaardi tüübid*sertifikaatide olekud*funktsionaalsus*muud sisendparameetrid*. .

ID-kaardi tarkvara täielik testimine Testitavaid kombinatsioone = opsüsteemid*kaardilugejad*brauserid * kaardi tüübid*sertifikaatide olekud*funktsionaalsus*muud sisendparameetrid*. . = väga palju Järeldus: kõike ei jõua testida

Palju testida? Testida tuleb seni, kuni vigade leidmise kulud on väiksemad kui kulud vea

Palju testida? Testida tuleb seni, kuni vigade leidmise kulud on väiksemad kui kulud vea ilmnemisel toodangus [Koomen 1999]

Edukas testimine tuvastab olulised vead • tuleb saada aru võimalike vigadega seotud riskidest •

Edukas testimine tuvastab olulised vead • tuleb saada aru võimalike vigadega seotud riskidest • planeerida testimine konkreetsele projektile sobivalt • eraldada testimiseks piisavalt ressurssi

Tüüpilised vead testimisel • Ei testita üldse –Tundmatus kohas vettehüppamine • Testitakse “midagi”(mittesüstemaatiliselt) –Pimeduses

Tüüpilised vead testimisel • Ei testita üldse –Tundmatus kohas vettehüppamine • Testitakse “midagi”(mittesüstemaatiliselt) –Pimeduses liikuva märklaua tabamine • Testimise jaoks pole aega planeeritud –Sul on liiga kiire, et kontrollida, kas läksid õige bussi peale • Testimine toimub ühekordselt, eeldades, et pärast leitud vigade parandamist on kõik korras –Pea liiva alla peitmine lootuses, et keegi ei leia sind • Testimise tegevused kaasatakse alles arenduse lõpus –Pidev “tuletõrjumine”probleemide ennetamise asemel

Vead tekivad muutustega Uue ID-kaardi tarkvara avaldamisel – täiendustega koos on tarkvaras mõni uus

Vead tekivad muutustega Uue ID-kaardi tarkvara avaldamisel – täiendustega koos on tarkvaras mõni uus viga, mis testimisel ei ilmnenud. Tarkvara töökeskkonna muutumisel – operatsioonisüsteemi, brauseri, kaardilugeja draiverite jne uuenduste tõttu. Lisaks ID-kaardi tarkvara vigadele on vead operatsioonisüsteemides, millega tuleb samuti tegeleda

Seisame silmitsi uute väljakutsetega • Tuleb uus tarkvara – iga algus on rakse, laps

Seisame silmitsi uute väljakutsetega • Tuleb uus tarkvara – iga algus on rakse, laps peab õppima roomama, käima. . . • x*y*z*. . . kasvab pidevalt: lisandunud on uusi opsüsteeme (Linux, W 7, Lumeleopard), brausereid (Chrome), kaardi tüüpe (digitaalne isikutnnistus), failiformaate (bdoc, pdf) jne • ID-kaart ei ole enam vaid tehnoloogiafriikide vahend, üha rohkem lisandub kaardi kasutajate perre tädi Maalisid

Ärge hoidke vigade infot endale! • Teie olete infole (kasutajale) kõige lähemal • Kui

Ärge hoidke vigade infot endale! • Teie olete infole (kasutajale) kõige lähemal • Kui vigadest teada ei anta, siis me neist ei tea ja need ei saa need ka parandatud • Kui viga kordub, siis anda ka korduvalt teada, abiks on hinnangud probleemide ulatuse kohta (Teie vaatevinklist)

Vigade/probleemide info edastamine • Täpne • OP-süsteem • brauser (versioon) • tarkvara (versioon) •

Vigade/probleemide info edastamine • Täpne • OP-süsteem • brauser (versioon) • tarkvara (versioon) • kaardilugeja (mudel) • mida soovitakse teha (isikutuvastus, allkirjastamine) • kus soovitakse teha (e-teenus, Digi. Doc Client, Digi. Doc portaal jne) • probleemi kirjeldus (veateade, ekraanipilt) • kasutaja info: isikukood, kontakttelefon • Kiire/ajakohane • Heas toonis

Tagasivaade • Paratamatult tarkvaraarenduses esineb vigu • Vigu ei saa täielikult vältida, kuid need

Tagasivaade • Paratamatult tarkvaraarenduses esineb vigu • Vigu ei saa täielikult vältida, kuid need tuleb võimalikult kiiresti tuvastada • Testimine annab infot ja võimaldab riske maandada • Ärge hoidke vigade infot endale • Tehke vearaportid võimalikud selged ja hea tooniga