program ų sistemų testavimas

Post on 03-Jan-2016

39 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

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 planavimas ir valdymas. Testavimo planavimas ir darb ų apimties vertinimas ( estimation ) - PowerPoint PPT Presentation

TRANSCRIPT

Programų sistemų testavimas

Aistė Stikliūtėaiste.stikliute@mif.vu.lt

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

VU MIFProgramų sistemų katedra

Testavimo planavimas ir valdymas

• Testavimo planavimas ir darbų apimties vertinimas (estimation)

• Progreso stebėjimas ir valdymas

Testavimo planavimas ir valdymas

• Testavimo planavimas:– Tikslų, apimties apibrėžimas, rizikų identifikavimas– Testavimo būdas (metodai, komanda, aplinka,

įrankiai)– Grafiko sudarymas– Testavimo pabaigos kriterijai

Testavimo planavimas ir valdymas

• Testavimo valdymas:– Rezultatų analizė– Laukiamo ir realaus progreso palyginimas,

palyginimas su testavimo pabaigos kriterijais– Sprendimo priėmimas, jei kažkas negerai

Testavimo planavimas. Strategija

• Testavimo strategija – KAIP bus testuojama• Testavimo strategija gali būti sudaroma:– Organizacijai– Projektų/produktų grupei– Projektui

• Testavimo strategija gali būti sudaroma:– Iš anksto (prevencinė)– Pradedant testavimą (reakcinė)

Testavimo planavimas. Strategija

• Galimos strategijos:– Remtis specifiniais standartais– Remtis PĮ kūrimo proceso praktikomis:

• Agile, krioklys ...

– Naudoti modelius, statistinę informaciją– Perpanaudoti TA iš anksčiau– Koncentruotis į tiriamąjį testavimą– Remtis ekspertų/ambasadorių konsultacijomis– ...– Kombinacijos

Testavimo planavimas. Strategija

• Renkantis strategiją atsižvelgti į:– Rizikas– Testuotojų žinias ir įgūdžius– Testavimo tikslą– Reguliacinius reikalavimus– Produkto ir verslo specifiką

Testavimo planavimas. Strategija

• Testavimo strategija gali būti atskiras dokumentas arba projekto testavimo plane

• Turinys aptartas paskaitoje apie testavimo dokumentaciją

Testavimo planas

• Svarbiausia testavimo vadovo veikla – testavimo plano sudarymas

• Testavimo planas leidžia numatyti užduotis, jų atlikimo grafiką, resursus

Testavimo planas

• Projekto testavimo planas gali būti vienas arba• Bendras projekto testavimo planas + etapų

testavimo planai• Turinys aptartas paskaitoje apie testavimo

dokumentaciją

Darbų apimties vertinimas

• Norint sudaryti testavimo planą, reikia įvertinti, kiek reikės darbų:– Žmonių– Laiko

Darbų apimties vertinimas

• Įvertinimas – spėjimas, pagrįstas turimomis žiniomis apie situaciją

• Realus skaičius paaiškėja tik pabaigus darbus

Darbų apimties vertinimas

• Vertinant atsižvelgiant į projekto dydį ir specifiką numatoma, kiek reikės laiko

• Jei įvertinimas stipriai skiriasi nuo projekto termino, reikia kažką daryti:– Keisti apimtį– Keisti terminą– Abu

Darbų apimties vertinimas

• Vertinimo parametrai:– Programavimo darbų apimtis (matuojama laiku,

LOC, kodo sudėtingumu)– Kodo pakartotinis panaudojimas– Išėjimo kriterijų griežtumas– Automatizavimo apimtis– Testuotojų patirtis– Aplinka (jos stabilumas)– Numatoma PĮ kokybė prieš testavimą

Darbų apimties vertinimas

• Į vertinimą įtraukiama:– Testavimo atvejų kūrimas– Testavimo atvejų vykdymas– Defektų registravimas– Patvirtinimo testavimas– Regresinis testavimas

Darbų apimties vertinimas

• Vertinant taip detaliai išnagrinėti kiekvieną projektą – neįmanoma

• Egzistuoja efektyvesnės/paprastesnės vertinimo metodikos

• Remiantis metodikomis, vis tiek reikia žinoti minėtus aspektus, kad nenuklysti į lankas

Darbų apimties vertinimas

• Metodikos:– Remiantis intuicija– Bendras sutarimas– Remiantis metrikomis– Detalus darbų skaidymas– Remiantis programavimo darbų apimtimi– Testavimo taškų analizė (TTA (angl. TPA))

Darbų apimties vertinimas remiantis intuicija

• Pagrįstas patirtimi• Vertinimas gali būti tikslus, gali būti netikslus• Tikslesnis jeigu:– atliekamas žmogaus, kuris testuos– tas žmogus jau turėjo panašią užduotį– yra gera dokumentacija

Darbų apimties vertinimas bendru sutarimu

• Kiek saugiau nei pavienio žmogaus intuicija• Išvengiama kraštutinių vertinimų– Per didelių– Per mažų

• Tikslesnis, jei vertinantys žmonės turi tinkamą patirtį ir žinias

Darbų apimties vertinimas remiantis metrikomis

• Remiamasi metrikomis, surinktomis ankstesnių projektų/užduočių metu

• Tikslumas priklauso nuo:– Surinktų metrikų tikslumo– Ankstesnių projektų/užduočių panašumo į šią

Darbų apimties vertinimas remiantis detaliu darbų skaidymu

• Idėja – lengviau įvertinti mažos paprastos užduoties trukmę

• Skaidome visas užduotis į mažesnes, kurias galime lengvai įvertinti

• Reikalavimas – gerai žinoti, kas tiksliai turi būti padaryta (detali specifikacija)

• Bendras įvertinimas – įvertinimų suma (bottom-up)• Paklaidos vertinant kiekvieną užduotį sumuojasi!

Darbų apimties vertinimas remiantis detaliu darbų skaidymu

Testavimas

Funkcinis

Pagal specifikaciją

TA rašymas

TA vykdymas

Patirtimi paremtas

Našumo

Testų sukūrimas

Testų vykdymas

Ataskaitos

Darbų apimties vertinimas remiantis programavimo darbų apimtimi

• Testavimo apimtis – procentas programavimo apimties:– Pagal vidinę patirtį– Pagal standartines normas (35-50%)

• Top-down• Labai bendras įvertinimas, neaišku, kiek tenka

kokioms testavimo veikloms• Naudojama, kai beveik nieko nežinoma, bet

daugmaž žinoma programavimo darbų apimtis

Darbų apimties vertinimas pagal TPA

• Vertinama pagal formulę (Bottom-up):– TPf = FPf * Df * Qd

• Reikalavimai:– Detali specifikacija– Detalus testavimo užduočių žinojimas– Testuotojų patirtis

• Prasideda nuo funkcinių taškų analizės (FPA), kiekvienam funkciniam taškui išskiriami testavimo taškai, tuomet vertinamas kiekvienas taškas remiantis jo sudėtingumu ir testuotojo patirtimi

Darbų apimties vertinimas pagal TPA

• TPf = FPf * Df * Qd

– TPf – funkcijai priskirtų testavimo taškų skaičius

– FPf – funkcijai priskirtų funkcinių taškų skaičius

– Df – nuo funkcijos priklausančių veiksnių svoris

– Qd – nuo dinaminių kokybės charakteristikų priklausančių veiksnių svoris

Kurią metodiką rinktis?

• Priklauso nuo to turimų žinių ir laiko• Geriausia vertinti naudojant > 1 metodiką ir

palyginti rezultatus:– Jei skiriasi, gal daromos kažkokios prielaidos – ar

jos teisingos?

Pasikartojam

• Testavimo planavimas• Testavimo darbų apimties vertinimas– Vertinimo parametrai– Metodikos

Progreso stebėjimas ir valdymas

• Testavimo metu stebimas progresas, tam kad:– Žinoti projekto progresą– Laiku imtis veiksmų kilus rizikoms

Progreso stebėjimas ir valdymas

• Testavimas turi du pagrindinius kriterijus:– Susijusius su laiku ir kaštais: ar projektas bus

baigtas laiku ir neviršijant biudžeto?– Susijusius su kokybe: ar sukurtas produktas bus

priimtinas jo naudotojams?

Laiko ir kaštų stebėjimas

• Lyginame realų laiką ir kaštus su skaičiais iš įvertinimų:– Testavimo strategijų ir planų rengimo– TA ir testavimo procedūrų rengimo– Testavimo aplinkų ruošimo– Testavimo vykdymo– Defektų, reikalaujančių pertestavimo, skaičiaus– Testavimo ataskaitų rengimo

Laiko ir kaštų stebėjimas

• Iš minėtų metrikų išvedamos dar svarbesnės:– Įvykdytų vs. planuotų įvykdyti testų skaičius– Testų praeinamumo koeficientas– Defektų, užregistruotų vienam testui, skaičius– Defektų sprendimo greitis

Laiko ir kaštų stebėjimas

• Vaizdžiai pateikus šias metrikas (galbūt grafiškai):– Galima prognozuoti ateities skaičius– Galima įvertinti, ar projektas bus baigtas laiku ir

neviršys biudžeto

Kokybės stebėjimas

• Matuojama:– Kodo padengimas– Verslui svarbių funkcijų / reikalavimų padengimas– Defektų radimo ir taisymo greitis

Kokybės stebėjimas

• Prognozuojama kokybė projekto pabaigoje pagal išvestines metrikas (tendencijas):– Realus vs. planuotas kodo padengimas– Reikalavimų padengimo procentas– Kritinių defektų radimo greitis– Kritinių defektų taisymo greitis– Prognozuojamas išėjimo kriterijų pasiekimo laikas

Bendros projekto būsenos nustatymas

• Laiko/kaštų ir kokybės matavimų rezultatai:– Abu geri – viskas aišku – Abu blogi – viskas aišku – Kiti variantai įdomesni

Bendros projekto būsenos nustatymas

• Testavimo progresas atitinka planą, bet kokybės rodikliai gerokai prastesni:– Pabaigoje turbūt netenkinsim išėjimo kriterijų– Ar testavimui pateiktas prastesnės nei planuota

kokybės kodas?– Neatliekamas regresinis testavimas?– ...?– Reikia atitinkamų veiksmų

Bendros projekto būsenos nustatymas

• Testavimo progresas atitinka planą, o kokybė aukštesnė, nei planuota:– Atrodo, puiku– O galbūt nepakankamai kruopščiai testuojama?

Testavimo valdymas - veiksmai

• Svarbu, kad veiksmai būtų efektyvūs ir laiku• Testavimo vadovo galia gali būti ribota• Testavimo vadovas gali pats:– Perskirstyti testavimo prioritetus– Galbūt priskirti daugiau resursų

• Reikės bent projekto vadovo, kad:– Pakeisti kuriamo produkto apimtį– Pakeisti terminą

• Kad įtikinti aukščiau esančius asmenis, reikia tinkamos ataskaitos su skaičiais ir argumentais

Pasikartojam

• Progreso stebėjimas ir valdymas:– Kokie kriterijai vertinami stebint testavimo eigą?– Kaip pagal juos įvertinti bendrą projekto būseną?– Kokių veiksmų gali būti imamasi, kas už juos

atsakingas?

Klausimai ir idėjos

top related