410 likes | 593 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 planavimas ir valdymas. Testavimo planavimas ir darb ų apimties vertinimas ( estimation )
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
Testavimoplanavimas ir valdymas • Testavimoplanavimas irdarbų 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 • Vertinimoparametrai: • Programavimodarbų 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: • Remiantisintuicija • Bendrassutarimas • Remiantismetrikomis • 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 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 • Lyginamerealų laiką ir kaštus suskaič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ų irkokybė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 priskirtidaugiauresursų • 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?