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
Peržiūros Kas yra peržiūros? Kodėl reikalingos peržiūros? Peržiūrų procesas Peržiūrų dalyvių rolės Peržiūrų tipai Efektyvių peržiūrų principai
Kas yra peržiūra? Darbo produkto ar projekto būsenos nagrinėjimas/įvertinimas, siekiant rasti neatitikimus ir pateikti rekomendacijas Paprasčiausia forma – duoti dokumentą paskaityti kolegai
Peržiūra – testavimo veikla Statinis testavimas – programos (specifikacijos arba kodo) testavimas nevykdant programos Peržiūros Statinė kodo analizė
Ką galima peržiūrėti Bet ką, kas turi rašytinę formą: Reikalavimų specifikacijas Technines specifikacijas (design) Programinį kodą Testavimo planus Testavimo atvejus ...
Kada atliekamos peržiūros? Testavimo metodas, kurį galima panaudoti anksčiausiai projekto eigoje: Dokumentacijos – prieš kodo rašymą Kodo – prieš dinaminį testavimą (?) Gali būti atliekamos viso projekto metu tiems patiems arba kitiems darbo produktams
Peržiūrų privalumai Anksčiau randami defektai sutaupoma laiko ir pinigų Randami defektai, kurių kitais būdais galbūt nebūtų rasta geresnė PĮ kokybė Atliekant peržiūras komunikuojama tarpusavyje įgyjamas bendras požiūris į kuriamą produktą iškeliami aktualūs klausimai
Peržiūrų trūkumai Reikalauja laiko ir pinigų
Defektai, randami peržiūrų metu Standartų (lokalių ir “iš viršaus”) neatitikimai Reikalavimų defektai Projektavimo defektai Palaikomumo (maintainability) problemos Interfeisų problemos
Pasikartojam Kas yra peržiūros? Privalumai, trūkumai Randamų defektų tipai
Peržiūrų procesas Nuo visiškai neformalaus iki labai formalaus Priklauso nuo: PĮ kūrimo proceso brandos Reikalavimų “iš viršaus” (teisiniai ir pan.) Istorijos saugojimo poreikio Peržiūros tikslo
Peržiūrų procesas Galimi skirtingi peržiūrų tikslai: Rasti defektus Susipažinti, geriau suprasti Sukelti diskusiją Priimti sprendimą
Peržiūrų procesas Peržiūrų dalyvių rolės: Vadovas (manager) Moderatorius Autorius Recenzentai (reviewers) Protokoluotojas
Peržiūrų procesas Bazinis peržiūros procesas: Recenzentai peržiūri darbo produktą Recenzentai informuoja darbo produkto autorių apie rastus defektus Autorius atsižvelgdamas į pastabas pakoreguoja (arba ne) darbo produktą
Peržiūrų procesas Formalus peržiūros procesas: Planavimas Pradžia (kick-off) Individualus pasiruošimas Peržiūros susitikimas Darbo produkto koregavimas Patvirtinamieji veiksmai (follow-up)
Planavimas Dalyvių atrinkimas (žmonės su skirtingais požiūriais) Rolių, atsakingo asmens priskyrimas Įėjimo ir išėjimo kriterijų apibrėžimas Apibrėžimas, kokias darbo produkto dalis reikia peržiūrėti (jei ne visą)
Pradžia (kick-off) Dokumentacijos išdalijimas Tikslų ir proceso išaiškinimas Įėjimo kriterijų patikrinimas Gali būti organizuojama kaip susitikimas arba tiesiog išsiunčiama informacija dalyviams
Individualus pasiruošimas Kiekvienas dalyvis atskirai: peržiūri darbo produktą pasižymi rastus defektus pasižymi kilusius klausimus Esminis peržiūros proceso žingsnis Gali būti fiksuojamas pasiruošimui skirtas laikas, pvz., 2 val. peržiūrėti konkretų dokumentą
Peržiūros susitikimas Diskusija arba tik užregistruojami rasti defektai Formalios peržiūros atveju susitikimas protokoluojamas Ar reikalinga diskusija, priklauso nuo: Turimo laiko Ar autoriui reikalinga pagalba taisant defektus Peržiūros tipo
Darbo produkto koregavimas Darbo produkto autorius taiso defektus, kuriuos peržiūros susitikimo metu buvo nuspręsta taisyti
Patvirtinamieji veiksmai (follow-up) Patikrinama, ar ištaisyti defektai Surenkamos metrikos: Kiek laiko sugaišta Kiek rasta defektų Patikrinami išėjimo kriterijai
Pasikartojam Bazinis peržiūrų procesas: Formalus peržiūrų procesas Peržiūrim, informuojam, pataisom Formalus peržiūrų procesas Planavimas ... Patvirtinimas Peržiūrų dalyvių rolės
Praėjimas (walkthrough) Peržiūrų tipai Neformali Formalumo lygis Praėjimas (walkthrough) Techninė peržiūra Inspektavimas
Neformali peržiūra Nėra jokio formalaus proceso Gali būti dokumentuojama, bet neprivalomai Nauda priklauso nuo recenzento – kartais imamas tas, kas yra “po ranka” Pagrindinis tikslas – kuo pigiau rasti defektus Galimi realizacijos variantai: Darbas poromis (ypač programuojant) Atsakingas asmuo peržiūri dokumentaciją/kodą
Praėjimas (walkthrough) Vedėjas – darbo produkto autorius Gali būti formalus ir neformalus Pasiruošimas, raštininko dalyvavimas, ataskaita – gali būti, gali nebūti Pagrindinis tikslas – supažindinti su darbo produktu, taip pat rasti defektus Dažnai analizuojami pavyzdiniai scenarijai
Techninė peržiūra Dokumentuojama Gerai apibrėžtas procesas Dalyviai – techniniai ekspertai, ne vadovai Reikalingas recenzentų pasiruošimas Formalumo lygis gali skirtis Tikslai: sprendimų priėmimas, alternatyvų įvertinimas, defektų radimas, techninių problemų sprendimas, atitikimas standartams
Inspektavimas Vedėjas – profesionalus moderatorius Formalus procesas su taisyklėmis, tikrinimo sąrašais (checklist), įėjimo ir išėjimo kriterijais Svarbus pasiruošimas (dokumentų skaitymas) Rengiama ataskaita Atliekami patvirtinamieji veiksmai Pagrindinis tikslas – defektų radimas, antrinis – proceso pagerinimas
Pasikartojam Peržiūrų tipai: Neformali peržiūra Praėjimas Techninė peržiūra Inspektavimas
Ko reikia efektyviai peržiūrai? Aiškiai apibrėžtų tikslų Tinkamų dalyvių Tinkamos psichologinės aplinkos Tinkamo peržiūros tipo konkrečiam projektui/produktui ir konkretiems žmonėms Tikrinimo sąrašų / rolių pasiskirstymo Valdžios palaikymo Dėmesio mokymuisi ir proceso gerinimui
Peržiūrų efektyvumo matavimas Geriausias rodiklis – peržiūros rezultatai Taip pat svarbu, kaip atliekama peržiūra Vertinama įrašant susirinkimą ir tikrinant: Dalyvių kultūrą Dalyvių įsitraukimą Įtampos taškus Defektų radimą Bendradarbiavimą su autoriumi
Klausimai ir idėjos