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

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

  • Upload
    yori

  • View
    104

  • Download
    0

Embed Size (px)

DESCRIPTION

Miks nad küll vigadeta tarkvara ei tee? Urmo Keskel. 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 - PowerPoint PPT Presentation

Citation preview

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

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

Urmo KeskelUrmo Keskel

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

Millest teen juttu

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

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

Mis on tarkvara viga?

Inglise keeles: bug, defect

Puudus tarkvaras, mis võib viia süsteemi funktsiooni korrektse täitmata jätmiseni.

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

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

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

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

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

Miks vead tekivad?

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

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

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

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

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

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

Oluline on leida viga võimalikult vara

Vea parandamise hind arenduse eri faasides:

Allikas: McConnell, Steve (2004). Code Complete, 2nd edition, Microsoft Press

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

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

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

Testimine piltlikult

Testimine

Nõuded, ootused

Testitav objekt

Testiplaanid, testijuhud,

testiaruanded,vearaportid

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

Vigadeta tarkvara?

Pole olemas, või kui on, siis ei ole taskukohane

Testimine ei tõesta tarkvarasvigade puudumist, küll aga annab infot testitava tulemi kvaliteedi kohta.

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

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

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

Palju testida?

Testida tuleb seni, kuni vigade leidmise kulud on väiksemad kui kulud vea ilmnemisel toodangus

[Koomen 1999]

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

Edukas testimine tuvastab olulised vead

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

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

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

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

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

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

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, W7, 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

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

Ä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)

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

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, DigiDoc Client, DigiDoc portaal jne)• probleemi kirjeldus (veateade, ekraanipilt)• kasutaja info: isikukood, kontakttelefon

• Kiire/ajakohane• Heas toonis

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

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

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

Aitäh!

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