Upload
byron-mccullough
View
39
Download
2
Embed Size (px)
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
Citation preview
Programų sistemų testavimas
Aistė Stikliūtė[email protected]
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