1 / 41

Program ų sistemų testavimas

Program ų sistemų testavimas. Aist ė Stikliūtė aiste.stikliute @ mif.vu.lt http://web.vu.lt/mif/a.stikliute +370 604 17281 VU MIF Programų sistemų katedra. Matavimai ir metrikos. Kas yra , kokios būna metrikos? Kod ėl reikalingi matavimai? Kaip naudoti konkrečias metrikas?

makoto
Download Presentation

Program ų sistemų testavimas

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programų sistemų testavimas Aistė Stikliūtė aiste.stikliute@mif.vu.lt http://web.vu.lt/mif/a.stikliute +370 604 17281 VU MIF Programų sistemų katedra

  2. Matavimai ir metrikos • Kas yra, kokios būna metrikos? • Kodėl reikalingi matavimai? • Kaip naudoti konkrečias metrikas? • Ką daryti su gautais duomenimis? • Kaip įvesti matavimus?

  3. Kas yra metrikos? • Metrika – matavimo skalė ir matavimui naudojamas metodas [ISO 14598] • Metrika – matas, matavimo priemonė • Naudojama sąvoka “metrikų rinkimas”. • Šiuo atveju metrika = matavimo rezultatas

  4. Metrikų pvz.: • Produkto kokybės metrikos • KLOC • Defektų skaičius • Defektų tankis • … • Proceso kokybės metrikos • Užduoties įvykdymo vidutinis greitis • Vėluojančių užduočių skaičius • Defektų, kylančių iš reikalavimų, skaičius • ... • Kliento pasitenkinimo metrikos • ...

  5. Kodėl reikalingi matavimai? • PĮ kūrimas – verslo procesas su rizikomis • Reikalauja valdymo • “You can’t control what you can't measure.” [Tom DeMarco] • Matuojant atrandamos silpnosios vietos. Pvz.: • Defektų taisymas • Neatliekamas neigiamas testavimas • ...

  6. Kodėl reikalingi matavimai? • Norint išlikti, reikia tobulėti • Visada kažkas bus geriausias: • Greičiausias (time to market) • Funkcionaliausias (features) • Kokybiškiausias (quality) • Geriausias iš konkurentų sąrašo gali kisti • Kaip sužinoti, ar tobulėji? • Reguliariai “lipti ant svarstyklių” 

  7. Kodėl reikalingi matavimai? • Testavimo užduotis – teikti informaciją • Vietoje nuojautos ir spėjamų skaičių – konkreti kiekybinė informacija • “Did u test it?” “Yes I tested it.” “What did u test?” • “Ar daug defektų yra?” “Em... Normaliai ” • “Ar galėsim išleist sistemą už 2 savaičių?” “Hm... Reik pasižiūrėtį Bugzillą”.

  8. Matavimų trūkumai/iššūkiai • Kaip vertinsi žmogų, taip jis ir elgsis • Reikalingas visų proceso dalyvių noras gerinti • Gali būti brangu

  9. Pamąstymui “A number is better than no number”?

  10. Konkrečių metrikų naudojimas • Defektų metrikos • Efektyvumo metrikos • PĮ patikimumo matavimas

  11. Defektų metrikos • Defektų registavimo greitis • Didėja testavimo pradžioje • Projekto pabaigoje turėtų kristi • Kristi gali dėl skirtingų priežasčių: • Pasiekta priimtina kokybė • Mažiau testuojama (pvz., atimti resursai)

  12. Defektų metrikos • Išspręstų,bet neuždarytų defektų skaičius • Rodiklis, kad testuotojai nespėja testuoti • Būtina išsiaiškinti, kodėl: • Testuotojai atsipalaidavo  • Testuotojai gavo kitų darbų • Testuotojų skaičius neatitinka programuotojų • Praeitą savaitę buvo surasta daug defektų ir visi labai greitai ištaisyti

  13. Defektų metrikos • Defektų registravimo greitis pagal kritiškumą/prioritetą • Parodo, kur koncentruojasi testuotojai • Pradžioje dauguma turėtų būti K1/P1 • Vėliau K1/P1 mažėja, daugėja K2/P2 ir K3/P3

  14. Defektų metrikos • Defektų pasiskirstymas pagal kritiškumą/prioritetą (pie-chart): • Prastas kodas? • Neteisingai priskiriami defektų atributai? • Testuotojai blogai informuoti apie reikšmes • Ne K1/P1 defektai netaisomi • Testavimas baigiamas per anksti? • “Sveikas” pasiskirstymas: • K1 <= 40%, K2 <= 40%, likę K3

  15. Defektų metrikos • Defektų pasiskirstymas pagal modulius: • Kur randama daugiausia defektų? • Testavimo vadovas ten skiria daugiau dėmesio testavimui • Programavimo vadovas aiškinasi priežastis

  16. Defektų metrikos • Defektų skaičius, tenkantis programuotojui • Ne visada teisinga: • Sudėtingas senas kodas • Sudėtingas funkcionalumas • Vis tiek gali būti vertinga, su papildomomis žiniomis • Paprastas funkcionalumas, bet daug defektų? • Gal kyla komunikacijos problemų?

  17. Defektų metrikos • Defektų skaičius, tenkantis testuotojui • Ne visada teisinga: • Sudėtingas funkcionalumas • Trūksta dokumentacijos • Vis tiek gali būti vertinga: • Padeda atsekti problemas • Padeda perskirstyti resursus

  18. Defektų metrikos • Defektų sprendimo pasiskirstymas (pie-chart): • Išspręsta, nebus sprendžiama, dublikatas, ... • Normalu, jei “išspręsta”75%-80% • Jei išsprendžiama 100%: • Vis dar randami beveik vien K1/P1? • Projektui numatyta per daug laiko? 

  19. Efektyvumo metrikos • Klausimas: ar jūsų įmonėje/projekte testavimui skiriama laiko, pastangų ir pinigų: • per daug • per mažai • tiek, kiek reikia?

  20. Efektyvumo metrikos • Klausimas: ar kaip nors matuojate testavimo efektyvumą? • Jei ne, į pirmą klausimą atsakyti praktiškai neįmanoma 

  21. Efektyvumo metrikos • Pastebėjimai: • Daugumoje organizacijų sąmoningai testavimo efektyvumas nėra matuojamas • Visos testavimo efektyvumo metrikos turi trūkumų • Nepaisant to, jos reikalingos – ir reikia atrasti tinkamą jų rinkinį

  22. Efektyvumo metrikos Testavimo efektyvumo matavimas • Klientų pasitenkinimo metrikos: • Apklausos • Helpdesk skambučiai • Defektų metrikos: • Rasti testavimo metu • Rasti klientų • Defektų pasiskirstymas pagal kritiškumą, amžių, etc.) • Padengimo metrikos: • Kodo • Testavimo atvejų • Reikalavimų

  23. Efektyvumo metrikos • Klientų apklausos: • Svarbu iš anksto parengti tinkamus klausimus • Atsakymai priklauso nuo: • Klausimų tvarkos, formulavimo, ilgio • Apklausos ilgio • Egzistuoja atskira disciplina, reikalinga eksperto pagalba • Neatskiriamas testavimo efektyvumas ir PĮ kokybė

  24. Efektyvumo metrikos • Helpdesk skambučiai • Neatskiriamas testavimo efektyvumas ir PĮ kokybė • Daug helpdesko skambučių – nekokybiška sistema? • Jei nebūtų skambučių, gal sistema tiek nekokybiška, kad niekas nenaudoja • Kiekvienas atvejis turi būti išanalizuotas: • Nepakako mokymų? • Per daug funkcionalumo?

  25. Efektyvumo metrikos • Defektų metrikos: • Defektas defektui nelygu – reikalingi svoriai • Rastų defektų skaičius priklauso nuo egzistuojančių defektų skaičiaus  • Galima prognozuoti defektų skaičių pagal praeities projektus ir rezultatus lyginti su prognozėmis • Reikia atsižvelgti į apimtį ir sudėtingumą

  26. Efektyvumo metrikos • Defektų radimo efektyvumas: • Svarbu atsižvelgti į kritiškumą • Kuriame testavimo lygmenyje pradedame skaičiuoti defektus? • Ar išmetame defektus, kurie negali būti randami testavimo metu?

  27. Efektyvumo metrikos • Padengimo metrikos: • Efektyviausios, nes matuojama ne po PĮ išleidimo • Pvz.: • reikalavimų padengimas matuojamas po TA parašymo • TA ir kodo padengimas matuojamas prieš baigiant testavimą • !Kodo padengimas nereiškia, kad kodas daro tai, ką turi daryti

  28. Efektyvumo metrikos • Nė viena metrika nėra pakankama testavimo efektyvumui matuoti • Reikia naudoti metrikų kombinacijas ir atlikti papildomą analizę

  29. PĮ patikimumo matavimas • MTTF: vid. laikasikiklaidos (mean time to failure) • MTTR: vid. pataisymolaikas (mean time to repair) • MTBF = MTTF + MTTR: vid. laikas tarp klaidų (mean time between failures) • Koeficientai: • R (reliability, patikimumas) = MTBF / (1+MTBF) • A (availability, prieinamumas)= MTBF / (MTBF+MTTR) • M (maintainability, palaikymas) = 1 / (1+MTTR)

  30. Pasikartojam  • Kas yra, kokios būna metrikos? • Kodėl reikalingi matavimai? • Kaip naudoti konkrečias metrikas: • Defektų metrikos • Efektyvumo metrikos • PĮ patikimumo metrikos

  31. Ką daryti su gautais duomenimis? • Apibendrinti duomenis • Pateikti duomenis suinteresuotiems asmenims

  32. Duomenų apibendrinimas • Pvz. 1. Palyginkime: • Vakar vykdyta 50 testų. 40 praėjo, 10 ne. Šiandien vykdyta 40 testų. 30 praėjo, 10 ne. Liko įvykdyti 90 testų, testavimui liko 2 dienos. • Šiuo metu yra rasta 20 defektų ir tikimės rasti dar 20. Turėtume suspėti ištestuoti, jei bus sąlygos išlaikyti tą patį tempą.

  33. Duomenų apibendrinimas • Pvz. 2. Palyginkime: • Liko įvykdyti keturias užduotis

  34. Duomenų apibendrinimas • Ką daryti su ne visai korektiškais ar trūkstamais duomenimis? • Rankinis darbas – pvz., vietoj filtravimo peržiūrėti įrašus po vieną • Imtis klaidingų duomenų prevencijos – pvz., užtikrinti, jog defekto prioritetas visada nustatomas korektiškai (mokymai, etc.) • Susitaikyti – jei paklaida pakankamai maža, kad ją būtų galima ignoruoti

  35. Duomenų pateikimas • Informacija turi būti prieinama visiems, kam reikia • Vidinė metrikų svetainė • Rezultatų aptarimai • Informacija turi būti suprantama visiems, kam reikia • Techniniams žmonėms • Netechniniams žmonėms

  36. Matavimų įvedimo principai • Matavimai neturėtų atitraukti nuo kasdienių darbų • Gerinti po truputį: • Dalis proceso / dalis žmonių • Nedaug, bet naudingos metrikos

  37. Kaip pasirinkti metrikas? • Reikia būti pasiryžus atlikti šiuos žingsnius: • Apibrėžti tikslus • Apibrėžti metrikas • Surasti duomenų šaltinius ir rinkti duomenis • Įžvelgti tendencijas • Imtis veiksmų • Jei bent vieno žingsnio kuriai nors metrikai daryti nepavyks – tos metrikos nenaudoti!

  38. Pavyzdys: bandytos metrikos • Kliento pasitenkinimas • Praleistų defektų skaičius • Našumas ir leistina apkrova • Specifiniai scenarijai • Aktyvų išsaugojimas • Aktyvų nuvertėjimas • Aktyvų poreikio prognozė • Proceso efektyvumas ir gerinimas • Testavimo eigos būsena • Atidarytų defektų skaičius • Stabilumas • Defektų klasifikacija • Defektų taisymo sėkmingumas • Personalo produktyvumas • Grafiko tendencija

  39. Pavyzdys: pasirinktos metrikos • Privalomos metrikos: • Praleistų defektų skaičius • Našumas ir leistina apkrova • Testavimo eigos būsena • Atidarytų defektų skaičius • Kitos metrikos: • Priklauso nuo aplinkybių • Pavyzdyje pateiktoje įmonėje kai kurias naudojo

  40. Matavimų programa produktų ir proceso kokybei palaikyti • Nustatyti kompanijos/projekto tikslus • Priskirti atsakomybes – kas atsakingas už programą • Surinkti pradinę informaciją programos sukūrimui • Apsibrėžti pradines metrikas • Apsimesti pardavėju ir įtikinti techninį personalą apie programos naudingumą • Įsigyti/pasidaryti duomenų rinkimo ir analizavimo įrankius • Apmokyti personalą • Parodyti matavimų programos sėkmę • Sukurti matavimų duomenų bazes • Suteikti matavimų programai pastovų aptarnavimą

  41. Klausimai ir idėjos

More Related