550 likes | 970 Views
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. Testavimo dokumentacija. Testavimo valdymo dokument ų hierarchija Testavimo vizija / gairės Testavimo strategija Testavimo planas
E N D
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
Testavimodokumentacija • Testavimovaldymo dokumentųhierarchija • Testavimovizija/gairės • Testavimo strategija • Testavimo planas • Jauaptarta: • Testavimoatvejai • Defektų aprašai • Testavimo ataskaitos
Testavimovaldymodokumentų hierarchija • Testavimas gali būti valdomas skirtingais lygmenimis: • Organizacijos/korporacijos lygmenyje • Programos lygmenyje • Individualaus projekto lygmenyje • Projekto etapo lygmenyje
Testavimovaldymodokumentų hierarchija • Organizacijos/korporacijos lygmenyje: • Testavimovizija/gairės • Apibrėžimas, kaip testavimas bus vykdomas visoje organizacijoje • Testavimofilosofija, procesasbendraisbruožais
Testavimovaldymodokumentų hierarchija • Programos lygmenyje: • Testavimo strategija • Vienas ar keli projektai, paprastai susiję: • Pvz., skirtingos strategijos investiciniams ir palaikymo projektams • Laikomasivizijoje pateiktų gairių
Testavimovaldymodokumentų hierarchija • Individualaus projekto lygmenyje: • Projekto testavimo planas • Detalizuojami konkretaus projekto testavimo klausimai • Laikomasi atitinkamos testavimo strategijos
Testavimovaldymodokumentų hierarchija • Projekto etapo lygmenyje: • Projekto etapo testavimo planas • Etapas gali būti iteracija ar testavimo lygmuo • Laikomasi projekto testavimo plano
Testavimovaldymodokumentų hierarchija • Tokio lygio hierarchija būdinga didelėms organizacijoms / dideliems projektams • Realybėje pritaikoma pagal poreikius: • Dažniausiai būna projekto testavimo planas • Siekiant brandaus proceso įvedama vizija ir strategija/strategijos • Didelis projektas paprastai skirstomas į etapus su savais testavimo planais
Pasikartojam Testavimo vizija/gairės Testavimo strategija Projekto testavimo planas Projekto etapo testavimo planas
Testavimovizija/gairės • Testavimo vizija/gairės – naudojama nedažnai • Daug organizacijų turi kokybės politiką • Minima, ką turi pasiekti testavimas • Kitos turi organizacijos misijos aprašymą • Įtraukia testavimą ir kokybę, a la “Visos sistemos turi būti pasiekiamos 24/7”
Testavimovizija/gairės • Testavimo vizijos/gairių apibrėžimo privalumai: • Akivaizdžiai matomas organizacijos dėmesys, resursų skyrimas testavimui • Bazinių procesų apibrėžimas • Siektino kokybės lygio apibrėžimas • Standartizuojamas skirtingų projektų organizacijos viduje testavimas – procesas, šablonai, įrankiai
Kas rašoma testavimo vizijoje/gairėse? • Standarto nėra. Galimos temos: • Kas įeina į testavimą (apimtis) • Testavimo terminų apibrėžimai • Naudojamas testavimo procesas • Bendri testavimo standartai ir kriterijai (gali būti suklasifikuoti pagal projekto dydį, svarbą) • Naudojami testavimo įrankiai • Kaip matuojamas testavimo efektyvumas/vertė • PĮ kūrimo ir testavimo gyvavimo ciklų identifikavimas • Proceso gerinimo metodai (pvz., mokymai, apklausos)
Testavimo vizija/gairės • Apibendrinimas: • Testavimo vizija/gairės aprašo: • ko organizacija tikisi iš testavimo • kaip organizacija palaiko testavimą • Testavimo vizija/gairės yra bendros, turi daugmaž tikti visiems organizacijos projektams
Testavimo strategija • Bendras testavimo aprašymas: • Organizacijai (detalesnis, neivizija/gairės) • Produktų/projektų grupei • Konkrečiam projektui/produktui • Konkrečiam padaliniui
Testavimo strategija • Jei rašomos strategijos atskiriems projektams/produktams, patogu susikurti ir naudoti šabloną • Gali būti net keli skirtingi šablonai vienoje organizacijoje • Pvz., visų el. savitarnos strategijų šablonas: • El. bankininkystės strategija • Tel. ryšio savitarnos strategija • El. poliklinikos strategija
Testavimo strategija • Testavimo strategijos privalumai: • “Verslas” supras, ko reikia iš jų sėkmingam testavimui atlikti • Projekto valdymo komanda anksti žinos, ko reikės testavimui, ir galės suplanuoti biudžetą • Programavimo komanda žinos savo įsipareigojimus (užšaldytas kodas, 100% sprendimų padengimas modulių testavime) • Testavimo komanda supras, ką reikia padaryti (testavimo metodai, kriterijai test. lygiams)
Kas rašoma testavimo strategijoje? • Standarto nėra. Galimos temos: • Kokių standartų laikomasi (CMMI, ISO9000, …) • Kokienaudojamitestavimolygmenys • Kokienaudojamitestavimometodai • Kokios naudojamos TA kūrimo technikos • Kaip atliekamas patvirtinimo/regresinis testavimas • Kiektestuojamipernaudoti komponentai ...
Kas rašoma testavimo strategijoje? ... • Kiekvienam testavimo lygmeniui nustatyti įėjimo ir išėjimo kriterijai (padengimas, defektų kiekis) • Incidentų valdymas (registravimas, sprendimas, analizė) • Kokios bus naudojamos aplinkos • Kokie bus naudojami įrankiai • ...
Projekto testavimo planas • Tikslas – išdėstyti užduotis ir resursus, reikalingus testavimo veikloms atlikti konkrečiu laikotarpiu • Veiklos gali būti nurodytos test. strategijoje • Testavimo planas tuomet nurodo KAIP bus realizuota testavimo strategija
Projekto testavimo planas • Testavimo planas apima veiklas, aprašytas testavimo strategijoje su papildomomis detalėmis: • Kaip tai bus daroma (konkrečios užduotys) • Kada tai bus daroma (grafikas, terminai) • Kas tai darys (komanda, reikalingos kvalifikacijos)
Kas rašoma testavimo plane? • Pagal IEEE 829-1998: • ID • Nuorodos • Įžanga • Testavimo objektai (items) • PĮ rizikos • Testuojamossavybės • Netestuojamos savybės • Priėjimas/taktika (approach) • Sėkmingo/nesėkmingo testavimo kriterijai • Sustabdymo ir pratęsimo kriterijai ...
Kas rašoma testavimo plane? ... • Planuojami darbo produktai • Likusios testavimo užduotys • Reikalingos aplinkos • Kompetencijų ir mokymų poreikiai • Atsakomybės • Grafikas • Rizikos ir nenumatyti atvejai • Patvirtinimai • Žodynėlis
Projekto etapo testavimo planas • Analogiškas projekto testavimo planui • Skirtas konkrečiam projekto etapui: • Testavimo lygmeniui • Iteracijai • Gali būti atskiras dokumentas arba projekto testavimo plano dalis
Pasikartojam • Testavimo vizija/gairės • Testavimo strategija • Projekto testavimo planas • Projekto etapo testavimo planas
Testavimo plano turinys • ID: • Dokumento identifikacinis numeris • Gerai įtraukti versiją + etapą, kuriamskirtasplanas
Testavimo plano turinys • Nuorodos: • Susijusių dokumentų sąrašas: • Projektoplanas, reikalavimų specifikacija, techninis projektas, standartai ... • Leidžia nedubliuoti informacijos • Turi būti nurodoma konkreti dokumento versija
Testavimo plano turinys • Įžanga: • Plano tikslas (galbūt lygmuo: master, unit, etc.), santrauka. Trumpai: • Ką apima planas, lyginant su projekto planu • Resursų ir biudžeto apribojimai • Testavimo apimtis • Kaip testavimas susijęs su kitomis veiklomis • Pakeitimų valdymo, komunikacijos ir veiklų koordinavimo procesai
Testavimo plano turinys • Testavimo objektai (items): • Sąrašas, kas bus testuojama: • Funkcionalumas, našumas, saugumas, etc. • PĮ versijos • Gali būti įtrauktas kritinių elementų pateikimo grafikas • Ką testuojam = ką žadam pateikti klientui ;) • Sąrašas pritaikomas testavimo plano lygmeniui: • Aukštesniems – pagal programas ar funkcines sritis • Žemesniems, pvz., pagal komponentus
Testavimo plano turinys • PĮ rizikos: • Trečių šalių PĮ, nauja integruojamos PĮ versija, neseni pakeitimai su daug defektų, prastai dokumentuoti moduliai, sudėtingumas ... • Iš praeities (ankstesnio testavimo lygmens, iteracijos) žinomi moduliai su daug defektų • Gerai pasidaryti brainstorming’ą, kur visi išsakytų, kas juos neramina
Testavimo plano turinys • Testuojamossavybės: • Kas bus testuojama iš NAUDOTOJO perspektyvos • Paprastai – funkcinės sritys ir procesai • Kiekvienai savybeigali būti nurodomas rizikos lygmuo
Testavimo plano turinys • Netestuojamos savybės: • Kas NEBUS testuojama: • Iš naudotojo perspektyvos • T.p. netestuojamos PĮ versijos, techninės savybės • Kodėl nebus testuojama: • Pvz., maža rizika, bus testuojama kitoje iteracijoje, ...
Testavimo plano turinys • Testuojamos ir netestuojamos savybės tiesiogiai siejasi su plano dalimis, susijusiomis su rizikomis: • Kas bus/nebus testuojama, priklauso nuo rizikų • Kas nebus testuojama, įtakoja projekto rizikas
Testavimo plano turinys • Priėjimas/taktika (approach): • Taisyklės ir procesai • Įrankiai (arreikės mokymų) • Metrikos (kaip renkamos) • Kaip vykdomas konfigūracijos valdymas • Naudojama PĮ ir TĮ • Kaip atliekamas regresinis testavimas • Kaip elgiamasi su neištestuojamais reikalavimais • Specialūs reikalavimai testavimui • Kaip bus organizuojami susitikimai ir pan.
Testavimo plano turinys • Sėkmingo/nesėkmingo testavimo kriterijai: • Kada TA rezultatas laikomas sėkmingu? • Kada etapo testavimas laikomas sėkmingu? • Įvykdytų TA, kodo padengimo % • Defektų skaičius ir kritiškumas • Kada projekto testavimas laikomas sėkmingu? • Įvykdyti visų etapų testavimo planai • Bendras defektų skaičius ir kritiškumas
Testavimo plano turinys • Sustabdymo ir pratęsimo kriterijai: • Kada darom pauzę: kai yra tiek defektų, kad testuoti toliau yra tik resursų švaistymas • Kada tęsiam po pauzės: kai pataisyta pakankamai defektų / pakankamai kritinių defektų • Kitos priežastys (pvz., resursai)
Testavimo plano turinys • Planuojami darbo produktai: • Testavimo planai • Testavimo atvejai • Įrankiai ir jų išvesties duomenys • Simuliatoriai • Klaidų ir vykdymo žurnalai (logs) • Problemų ataskaitos ir korekciniai veiksmai • Testuojama PĮ čia –ne darbo produktas
Testavimo plano turinys • Likusios testavimo užduotys: • Jeitestuojamaetapais, pateikiamos užduotys, kurios į šį planą neįeina: • Kad nepasimestų – būtų įtraukiama į kitus planus • Kad nebūtų registruojami defektai dėl to, kas dar neturi veikti ar priklauso trečiosioms šalims
Testavimo plano turinys • Reikalingos aplinkos: • Speciali TĮ, simuliatoriai, etc. • Specialūs testavimo duomenys • Naudojamos PĮ versijos • Testavimo įrankiai, jų versijos • Aplinkos naudojimo apribojimai • Ne daugiau nei X naudotojų vienu metu • EOD, aplinkosatnaujinimai • ...
Testavimo plano turinys • Kompetencijų ir mokymų poreikiai: • Kokių specialistų, kokių žinių reikia • Testuojamos sistemos mokymai • Įrankių naudojimo mokymai
Testavimo plano turinys • Atsakomybės: • Kas atsakingas už: • Rizikų valdymą • Testuojamas ir netestuojamas savybes • Testavimo taktiką • Aplinkas • Grafiko problemų sprendimą • Mokymus • Kritinius sprendimus, neapibrėžtus testavimo plane
Testavimo plano turinys • Grafikas: • !Pagrįstas realistiškais ir patikrintais įvertinimais • Geriausia nurodyti ne konkrečias datas, o susietas su programavimo rezultatais • Pvz., sistemostestavimasprasidedadieną po sistemos surinkimo • Numatoma, kaip elgtis nukrypus nuo grafiko
Testavimo plano turinys • Rizikos ir nenumatyti atvejai: • Truks žmonių, įrankių, duomenų, vėluos programavimas, mokymai, keisis reikalavimai, ... • Kas bus daroma kiekvienu atveju, pvz., jei reikalavimai pasikeis po X datos: • Bus nukelta testavimo pradžios ir pabaigos data • Bus sumažintas atliekamų testų skaičius • Bus padidintas priimtinas defektų skaičius • Bus padidintas testuotojų skaičius/darbo valandos ...
Testavimo plano turinys • Patvirtinimai: • Tvirtinantys asmenys skirsis projekto testavimo planui, modulių testavimo planui ir pan. • Skiriasi techninių, vadovaujančių ir “verslo” žmonių supratimas: • Atitinkama bus reakcija į testavimo planą
Testavimo plano turinys • Žodynėlis: • Savokos • Sutrumpinimai
Testavimo plano turinys • Priklausomai nuo poreikių: • Gali būti papildomų skyrių • Gali nebūti kai kurių skyrių • Skyriai gali būti apjungiami • ...
Pasikartojam • Testavimo plano turinys
Kita testavimodokumentacija • Testavimoatvejai • Defektų aprašai • Testavimo ataskaitos • Testavimo žurnalas • ...
Testavimo atvejų dokumentavimas • Testavimo atvejų šablonai • Forma priklauso nuo panaudojimo: • Teikiama klientams • Įtraukiama į regresinių testų rinkinį • Vienkartiniai paprasto funkcionalumo TA • Būtinai versijuojami • Pvz., pateikėme klientui TA su klaida, kurią vėliau pataisėme • Daugiau: žr. paskaitą nr. 5
Defektų dokumentavimas • Defektų valdymo proceso aprašymas • Defektų aprašymo šablonai • Daugiau: žr. paskaitą nr. 6