52
Programų sistemų testavimas Aistė Stikliūtė [email protected] http://web.vu.lt/mif/a.stikliute +370 604 17281 VU MIF Programų sistemų katedra

Programų sistemų testavimas

  • Upload
    mercer

  • View
    106

  • Download
    7

Embed Size (px)

DESCRIPTION

Programų sistemų testavimas. Aistė Stikliūtė [email protected] 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 - PowerPoint PPT Presentation

Citation preview

Page 1: Programų sistemų testavimas

Programų sistemų testavimas

Aistė Stikliūtė[email protected]

http://web.vu.lt/mif/a.stikliute+370 604 17281

VU MIFProgramų sistemų katedra

Page 2: Programų sistemų testavimas

Testavimo dokumentacija

• Testavimo valdymo dokumentų hierarchija• Testavimo vizija/gairės• Testavimo strategija• Testavimo planas• Jau aptarta:– Testavimo atvejai– Defektų aprašai– Testavimo ataskaitos

Page 3: Programų sistemų testavimas

Testavimo valdymo dokumentų hierarchija

• Testavimas gali būti valdomas skirtingais lygmenimis:– Organizacijos/korporacijos lygmenyje– Programos lygmenyje– Individualaus projekto lygmenyje– Projekto etapo lygmenyje

Page 4: Programų sistemų testavimas

Testavimo valdymo dokumentų hierarchija

• Organizacijos/korporacijos lygmenyje:– Testavimo vizija/gairės– Apibrėžimas, kaip testavimas bus vykdomas visoje

organizacijoje• Testavimo filosofija, procesas bendrais bruožais

Page 5: Programų sistemų testavimas

Testavimo valdymo dokumentų hierarchija

• Programos lygmenyje:– Testavimo strategija– Vienas ar keli projektai, paprastai susiję:• Pvz., skirtingos strategijos investiciniams ir palaikymo

projektams

– Laikomasi vizijoje pateiktų gairių

Page 6: Programų sistemų testavimas

Testavimo valdymo dokumentų hierarchija

• Individualaus projekto lygmenyje:– Projekto testavimo planas– Detalizuojami konkretaus projekto testavimo

klausimai– Laikomasi atitinkamos testavimo strategijos

Page 7: Programų sistemų testavimas

Testavimo valdymo dokumentų hierarchija

• Projekto etapo lygmenyje:– Projekto etapo testavimo planas– Etapas gali būti iteracija ar testavimo lygmuo– Laikomasi projekto testavimo plano

Page 8: Programų sistemų testavimas

Testavimo valdymo dokumentų hierarchija

Testavimo vizija/gairės

Testavimo strategija

(Proj1, Proj2)

Projekto testavimo planas(Proj1)

Proj.etapų testavimo planai

(Proj1)

Projekto testavimo planas (Proj2)

Proj.etapų testavimo planai

(Proj2)

Testavimo strategija

(Proj3)

Projekto testavimo planas(Proj3)

Page 9: Programų sistemų testavimas

Testavimo valdymo dokumentų 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

Page 10: Programų sistemų testavimas

Pasikartojam

Testavimo vizija/gairės

Testavimo strategija

Projekto testavimo planas

Projekto etapo testavimo planas

Page 11: Programų sistemų testavimas

Testavimo vizija/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”

Page 12: Programų sistemų testavimas

Testavimo vizija/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

Page 13: Programų sistemų testavimas

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)

Page 14: Programų sistemų testavimas

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

Page 15: Programų sistemų testavimas

Testavimo strategija

• Bendras testavimo aprašymas:– Organizacijai (detalesnis, nei vizija/gairės)– Produktų/projektų grupei– Konkrečiam projektui/produktui– Konkrečiam padaliniui

Page 16: Programų sistemų testavimas

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

Page 17: Programų sistemų testavimas

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)

Page 18: Programų sistemų testavimas

Kas rašoma testavimo strategijoje?

• Standarto nėra. Galimos temos:– Kokių standartų laikomasi (CMMI, ISO9000, …)– Kokie naudojami testavimo lygmenys– Kokie naudojami testavimo metodai– Kokios naudojamos TA kūrimo technikos– Kaip atliekamas patvirtinimo/regresinis testavimas– Kiek testuojami pernaudoti komponentai

...

Page 19: Programų sistemų testavimas

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– ...

Page 20: Programų sistemų testavimas

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

Page 21: Programų sistemų testavimas

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)

Page 22: Programų sistemų testavimas

Kas rašoma testavimo plane?

• Pagal IEEE 829-1998:– ID– Nuorodos– Įžanga– Testavimo objektai (items)– PĮ rizikos– Testuojamos savybės– Netestuojamos savybės– Priėjimas/taktika (approach)– Sėkmingo/nesėkmingo testavimo kriterijai– Sustabdymo ir pratęsimo kriterijai

...

Page 23: Programų sistemų testavimas

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

Page 24: Programų sistemų testavimas

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

Page 25: Programų sistemų testavimas

Pasikartojam

• Testavimo vizija/gairės• Testavimo strategija• Projekto testavimo planas• Projekto etapo testavimo planas

Page 26: Programų sistemų testavimas

Testavimo plano turinys

• ID:– Dokumento identifikacinis numeris– Gerai įtraukti versiją + etapą, kuriam skirtas planas

Page 27: Programų sistemų testavimas

Testavimo plano turinys

• Nuorodos:– Susijusių dokumentų sąrašas:• Projekto planas, reikalavimų specifikacija, techninis

projektas, standartai ...

– Leidžia nedubliuoti informacijos– Turi būti nurodoma konkreti dokumento versija

Page 28: Programų sistemų testavimas

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

Page 29: Programų sistemų testavimas

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

Page 30: Programų sistemų testavimas

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

Page 31: Programų sistemų testavimas

Testavimo plano turinys

• Testuojamos savybės:– Kas bus testuojama iš NAUDOTOJO perspektyvos– Paprastai – funkcinės sritys ir procesai– Kiekvienai savybei gali būti nurodomas rizikos

lygmuo

Page 32: Programų sistemų testavimas

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

Page 33: Programų sistemų testavimas

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

Page 34: Programų sistemų testavimas

Testavimo plano turinys

• Priėjimas/taktika (approach):• Taisyklės ir procesai• Įrankiai (ar reikė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.

Page 35: Programų sistemų testavimas

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

Page 36: Programų sistemų testavimas

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)

Page 37: Programų sistemų testavimas

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

Page 38: Programų sistemų testavimas

Testavimo plano turinys

• Likusios testavimo užduotys:– Jei testuojama etapais, 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

Page 39: Programų sistemų testavimas

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, aplinkos atnaujinimai• ...

Page 40: Programų sistemų testavimas

Testavimo plano turinys

• Kompetencijų ir mokymų poreikiai:– Kokių specialistų, kokių žinių reikia– Testuojamos sistemos mokymai– Įrankių naudojimo mokymai

Page 41: Programų sistemų testavimas

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

Page 42: Programų sistemų testavimas

Testavimo plano turinys

• Grafikas:– ! Pagrįstas realistiškais ir patikrintais įvertinimais– Geriausia nurodyti ne konkrečias datas, o susietas

su programavimo rezultatais• Pvz., sistemos testavimas prasideda dieną po sistemos

surinkimo

– Numatoma, kaip elgtis nukrypus nuo grafiko

Page 43: Programų sistemų testavimas

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 ...

Page 44: Programų sistemų testavimas

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ą

Page 45: Programų sistemų testavimas

Testavimo plano turinys

• Žodynėlis:– Savokos– Sutrumpinimai

Page 46: Programų sistemų testavimas

Testavimo plano turinys

• Priklausomai nuo poreikių:– Gali būti papildomų skyrių– Gali nebūti kai kurių skyrių– Skyriai gali būti apjungiami– ...

Page 47: Programų sistemų testavimas

Pasikartojam

• Testavimo plano turinys

Page 48: Programų sistemų testavimas

Kita testavimo dokumentacija

• Testavimo atvejai• Defektų aprašai• Testavimo ataskaitos• Testavimo žurnalas• ...

Page 49: Programų sistemų testavimas

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

Page 50: Programų sistemų testavimas

Defektų dokumentavimas

• Defektų valdymo proceso aprašymas• Defektų aprašymo šablonai

• Daugiau: žr. paskaitą nr. 6

Page 51: Programų sistemų testavimas

Testavimo ataskaitų dokumentavimas

• Svarbu konsistenciškumas• Svarbu pritaikyti gavėjams• Dar svarbiau – teisingi duomenys • Testavimo ataskaitų šablonai:– Testavimo būsenos ataskaitos– Testavimo rezultatų apibendrinimo ataskaitos

• Daugiau: žr. paskaitą nr. 7

Page 52: Programų sistemų testavimas

Klausimai ir idėjos