1 / 38

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. Defekt ų valdymas. Defektų šaltiniai Defektų klasės Defekto aprašymas Defekto gyvavimo ciklas Incidentai Defektų valdymo sistemos

dory
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. Defektų valdymas • Defektų šaltiniai • Defektų klasės • Defekto aprašymas • Defekto gyvavimo ciklas • Incidentai • Defektų valdymo sistemos • 80-20 taisyklė (Pareto principas)

  3. Defektas • Neatitikimas komponente ar sistemoje, galintis sukelti sutrikimų komponentui ar sistemai atliekant savo funkcijas. • Defektas, su kuriuo susiduriama vykdant PĮ, gali sukelti komponento ar sistemos trikį.

  4. Kodėl “bug”? • 1946 m. kompiuteryje Mark II rasta klaida • Priežastis – vabzdys, įstrigęs perjungiklyje • Vabzdys buvo išimtas ir pridėtas prie veikimo įrašų (logs):

  5. Defektų šaltiniai Defektų šaltiniai: Žinių/išsilavinimo trūkumas Prasta komunikacija Neapsižiūrėjimas Perrašymas Proceso problemos Įtaka programinei įrangai: Klaidos, defektai, trikiai Įtaka naudotojo požiūriui: Prasta kokybė, nepasitenkinimas

  6. Defektų šaltiniai • Žinių/išsilavinimo trūkumas: • Programavimo kalbos • Verslo logikos • Pvz.: • Nežinoma, kaip realizuoti funkciją • Neteisingai suprasta, kaip turėjo veikti funkcija

  7. Defektų šaltiniai • Prasta komunikacija • Su analitikais • Su projekto vadovu • Su kitais programuotojais • Pvz.: • Du sąveikaujantys moduliai, nesusitarta, kuriame bus atliekamas klaidų apdorojimas

  8. Defektų šaltiniai • Neapsižiūrėjimas • Žioplumo klaidos • Išvis nerealizuotas funkcionalumas • Pvz.: • Praleistas objekto inicializavimas • Neparašytas metodas • Neparašytas reikalavimas

  9. Defektų šaltiniai • Perrašymas • Žinoma ką daryti, tiesiog lieka klaidų • Copy-paste’o klaidos • Pvz.: • Neteisingas kintamojo vardas • Paliktos nereikalingos kodo eilutės

  10. Defektų šaltiniai • Proceso problemos: • Nepakankamai laiko • Prasta organizacija • Nebrandus procesas • Pvz.: • dėl laiko trūkumo prastai aprašyti reikalavimai • pasirenkamas “pigesnis=trumpesnis=rizikingesnis” programavimo variantas

  11. Defektų įtaka • Nuo minimalios: • Rašybos klaida, pasislinkęs grafinis elementas • Iki maksimalios: • Didžiuliai finansiniai nuostoliai, sveikata/gyvybė

  12. Defektų klasės • Reikalavimų/specifikacijos defektai • Projektavimo defektai • Programavimo (kodavimo) defektai • Testavimo defektai

  13. Reikalavimų/specifikacijos defektai • Klaidingas funkcijos aprašymas • PĮ savybių aprašymo defektai • PĮ savybių sąveikos defektai • Sąsajos(-ų) aprašymo defektai: • Su PĮ • Su TĮ • Su naudotoju

  14. Projektavimo defektai • Algoritminiai ar apdorojimo defektai • Valdymo, loginiai ar eilės tvarkos (sequence) defektai • Duomenų defektai • Modulio sąsajos aprašymo defektai • Klaidingas funkcijos aprašymas • Išorinės sąsajos aprašymo defektai

  15. Programavimo defektai • Algoritminiai ar apdorojimo defektai • Valdymo, loginiai ar eilės tvarkos (sequence) defektai • Tipografiniai defektai • Inicijavimo defektai • Duomenų srauto (flow) defektai • Duomenų defektai • Modulio sąsajos defektai • Kodo dokumentavimo defektai • Išorinių sąsajų defektai

  16. Testavimo defektai • Testavimo kodo defektai • Testavimo atvejo ar procedūros defektai

  17. Yra klausimų? Defektų šaltiniai, įtaka Kasyradefektas? Defektų klasės

  18. 80-20 taisyklė (Pareto principas) • 80% defektų galima ištaisyti su 20% pastangų

  19. Defektoaprašymas • Kritiškai svarbu gerai aprašyti defektus: • Lengva analizuoti defektų priežastis • Lengva ištaisyti defektus • Išvengiama pakartotinio darbo • Testuotojai sutaupo laiko • Išvengiama defektų dubliavimo • Lengva stebėti defektų srautus/būsenas

  20. Defekto aprašymo struktūra • Defekto valdymuiskirti laukai • Trumpas defekto aprašymas • Detalus defekto aprašymas

  21. Defektą apibūdinantys standartiniai laukai • Autorius / registruotojas • Tipas (pakeitimas, problema, klaida) • Registravimo data • Pataisymo data • Defekto būsena • PĮ versija • Aplinka (pvz., DEV, UAT) • Defekto poveikis (kritinis, svarbus, nesvarbus, kosmetinis)

  22. Trumpas defekto aprašymas • Skirtas lengvai atpažinti defektą, abstrakčiai suvokti problemą • Pvz.: • Su IE7 neveikia puslapiavimas • Užsakant prekę gaunamas klaidos pranešimas

  23. Detalus defekto aprašymas • Aiškiai aprašyta defekto esmė • Detalūs žingniai, kaip atkartoti defektą • Kas būtent negerai • Kaip turėtų veikti • Pastabos: • Atkartojama tik tam tikroje aplinkoje • Ne visada atsikartoja toje pačioje aplinkoje • Tikėtinos defekto įsivėlimo priežastys

  24. Paveikslėlis • Vertas 1000 žodžių  • Padeda programuotojams lengviau suprasti problemą • Padeda vėliau pertestuojant • Paveikslėlis turėtų būti aiškus be paaiškinimo • Galima paryškinti konkrečią paveikslėlio vietą:

  25. Paveikslėlis

  26. Pavyzdys: defektoaprašas

  27. Kiti galimi laukai • Susiję TA • Defekto priežastis • Defekto klasė • Sistemos modulis • Atsakingas asmuo • ...

  28. Yra klausimų? Defekto aprašymas Būtini laukai, galimi laukai

  29. Defekto gyvavimo ciklas Registruojama nauja problema Aktyvus Problema išanalizuojama Ne defektas Nepavyksta atkartoti Nebus taisoma Dublikatas Trūksta info Defektas taisomas Ištaisytas Patvirtinimo testavimas Uždarytas

  30. Incidentai • Problema (issue) – nebūtinai defektas • Incidentas – bet kas, kam reikia tolesnės analizės • Testuojant registruojami incidentai: • Gali paaiškėti, kad nėra defektai • Analizei vis tiek reikalingi (programuotojų) darbai • Praktikoje dažnai naudojama kaip sinonimai (defektų valdymo sistema, incidentų valdymo sist.)

  31. Defektų valdymo sistemos Tikslai: • Testavimo planavimas • Kontrolė ir stebėjimas • Defektų prevencija • Kokybės nustatymas ir kontrolė • Testavimo matavimas • Testavimo proceso gerinimas

  32. Defektų valdymo sistemos • Testavimo planavimas, kontrolė ir stebėjimas: • Kiek turime defektų? • Kokie defektų prioritetai/kritiškumas? • Kaip efektyviai taisomi defektai? • Priimamas sprendimas: reikia daugiau mažiau testavimo, papildomo laiko/resursų – testuotojų/programuotojų?

  33. Defektų valdymo sistemos • Defektų prevencija: • Registruojam defektų priežastis • Nepilni, neaiškūs reikalavimai • Nepatyrę programuotojai • Nauja platforma • Problemos su trečių šalių kodu • Imamės priemonių pašalinti svarbiausias priežastis

  34. Defektų valdymo sistemos • Kokybės nustatymas ir kontrolė: • Nustatytas kokybės tikslas, apibrėžtas kaip tam tikros su defektais susietos metrikos • Lyginame su realiais defektų skaičiais • Pvz.: <= 20 defektų <= 5 defektai su kritiškumu “normalus” 0 defektų su kritiškumu “kritinis”

  35. Defektų valdymo sistemos • Testavimo matavimas, proceso gerinimas: • Matuojamas rastų defektų skaičius • Lyginamas su testavimo metrikomis: • Kiek laiko testuota • Kiek rasta defektų • Kokio tipo defektų randama • Kuris testuotojas dirba efektyviausiai • Reikia taikyti protingai 

  36. Defektų valdymo sistemos • Bugzilla • JIRA • Mantis BT • Eventum • …

  37. 80-20 taisyklė (Pareto principas) • Ištaisius 20% defektų galima išspręsti 80% naudotojų problemų

  38. Klausimai ir idėjos

More Related