410 likes | 654 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 vykdymas. Kas yra testavimo vykdymas? Kada pradėti testavimo vykdymą? Testavimo vykdymo ypatumai
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
Testavimovykdymas • Kas yra testavimo vykdymas? • Kada pradėti testavimo vykdymą? • Testavimo vykdymo ypatumai • Testavimo vykdymo rezultatų pateikimas • Kada baigti testavimo vykdymą?
Kas yra testavimo vykdymas? • Visų ar pasirinktų TA vykdymas bei vykdymo rezultatų stebėjimas • Apima visus anksčiau minėtus testavimo metodus: • Juodos, baltos dėžės, statinius, dinaminius, rankinius, automatinius...
Testavimo vykdymo veiklos • Testų vykdymas • Testavimo rezultatų registravimas • Testavimo žurnalo pildymas • Metrikų rinkimas • Testavimo ataskaitų rengimas • Komandos susitikimai (progreso, kylančių klausimų aptarimas)
Priminimas: testavimoprocesas Testavimo planavimas ir valdymas Analizė ir testų kūrimas Testavimo vykdymas Rezultatų įvertinimas, ataskaitų rengimas Testavimo pabaigos veiklos
Kas yra testavimo vykdymas? Testavimo atvejai / procedūros Testavimo duomenys Testavimo aplinka Ankstesnė defektų informacija Testavimo planai ir strategija Testuojama PĮ Testavimo vykdymas Incidentų aprašai Testavimo žurnalas Testavimo būsenos ir rezultatų ataskaitos
Kada pradėti testavimo vykdymą? • Kai atlikti visi analizės ir testų kūrimo darbai? • Atėjus tvarkaraštyje numatytai datai?
Kada pradėti testavimo vykdymą? • Skirklaikoapmąstymams, bet kai ateina laikas veiksmui, nustok galvoti ir imk daryti. Napoleonas Bonapartas
Kada pradėti testavimo vykdymą? • Tipiškai analizė ir testų kūrimas vyksta visą laiką, o testavimo vykdymas – pabaigoje (iteracijos, projekto) • tampa projekto kritinio kelio dalimi • negalima atidėlioti/uždelsti
Testavimo vykdymo ypatumai • Gali užimti tik mažesniąją dalįvisų testavimo veiklų (pvz., iki 40%) • Vykstaprojekto/iteracijospabaigoje • Turi būti atliktas kaip įmanoma greičiau • Daug (skolintų) resursų • Ilgos darbo valandos • Daug dėmesio iš programuotojų, vadovybės • Dažnai siekiama “apkarpyti”
Kas vykdo testavimą? • Priklauso nuo testavimo lygmens
Kas vykdo testavimą? • Dažnai prireikia papildomų resursų • Potencialūs kandidatai: • Testavimo komandos nariai • Programuotojai • Naudotojai • Dokumentuotojai, mokymų vadovai, palaikymo komandos nariai • Naujokai (pvz., studentai)
Kas vykdo testavimą? • Apie naujokus: • Galima sugaišti daugiau laiko apmokymui, nei bus sutaupyta jiems vykdant testus • Jei galim sau tą leisti, tai geras būdas jiems kuo greičiau įsijungti į komandą • Jei TA aiškiai aprašyti, naujokų įvedimo kaštai bus mažesni • Naujokai ypatingai tinka usability testavimui
Pasikartojam • Kas yra testavimo vykdymas? • Kokios veiklos atliekamos? • Kur testavimo procese yra t.vykdymas? • Kada pradėti t.vykdymą? • Kas vykdo testavimą?
Kokia tvarka vykdyti testus? • Prioritetai • Baziniai (smoke), regresiniai testai • Ar sistema apskritai “nesulūžo”? • Jei rinkinys didelis ir neautomatizuotas – hmm... • Testai, susiję su didžiausiomis rizikomis • Jei testuojam pakeitimą – pakeitimo logika ir susijusios sritys
TA rašymas vykdymo metu • Pradinis TA rinkinys nebūna pakankamas • Vykdymo metu sužinoma daugiau apie sistemą atsiranda idėjų naujiems TA • Nauji TA paprastai įvykdomi, bet neužrašomi (laiko trūkumas, ne ta proceso fazė) • Nauji TA paprastai vertingi • Reikėtų užrašyti. Tikslas – geresnis testų rinkinys ilguoju laikotarpiu
TA rezultatų fiksavimas • Sėkmingas/nesėkmingas? • Nesėkmingas: • Problemos aprašymas prie TA • Vienas ar keli defektai (incidentai) • Nuoroda į defektą/defektus • Statistika
Defektų registravimas • Aptartas praeitą paskaitą Dar: • Kas registruoja defektus? • Tas, kas randa: naudotojas, testuotojas, programuotojas... • Testavimo žurnale – tik defekto radimo faktas • Patys defektai registruojami defektų (incidentų) valdymo sistemoje
Testavimo žurnalas (log) • IEEE 829 Software Test Documentation • Kas, kokia tvarka vykdė TA, koks rezultatas • Pvz. šablonas: • ID • Laikas • Veiklos ir įvykių aprašas
Testavimo žurnalas • Pvz.:
Testavimo žurnalas • Sėkmingas tik tada, kai žmonės nori jį pildyti • Žmonės nenori pildyti, jei: • Nepatogu • Nematoma nauda • Tikslas – dalintis informacija • Duomenų analizė neatliekama • Geriausia – rašyti laisva forma • Detalių nereikia, jos pateikiamos kitur
Pasikartojam • Testų vykdymo tvarka • TA rašymas vykdymo metu • Defektų registravimas • Testavimo žurnalo pildymas
Testavimo ataskaitos • Tikslas – priimti sprendimus: • Testavimo eigoje (progresas, poreikiai) • Testavimo pabaigoje (ar tikrai baigti)
Testavimo ataskaitos • Testavimo būsenos ataskaita: • Pasiekti tikslai • Defektų skaičius, kritiškumas, pasiskirstymas • Pasiektas padengimas: • Testavimo atvejų • Kodo • Reikalavimų
Testavimo ataskaitos • Testavimo būsenos ataskaitos pvz.:
Testavimoataskaitos • Testavimo būsenos ataskaitos interpretavimas • Įvykdyta 81% TA • TA nelygiaverčiai: • Vykdymo laiko požiūriu • Padengiamo funkcionalumo požiūriu
Testavimo ataskaitos • Testavimo apibendrinimo ataskaita (test summary report) • Tikslas: • Apibendrinti testavimo rezultatus • Pateikti įvertinimą • Pateikti rekomendacijas dėl PĮ išleidimo
Testavimo ataskaitos • Testavimo apibendrinimo ataskaitų turėtų būti tiek, kiek yra testavimo planų Bendras testavimo planas Bendra t. apibendrinimo ataskaita Modulių/integracijos testavimo planas Sistemos testavimo planas Priėmimo testavimo planas Modulių/integracijos t. apibendrinimo ataskaita Sistemos testavimo apibendrinimo ataskaita Priėmimo testavimo apibendrinimo ataskaita
Testavimo ataskaitos • Testavimo apibendrinimo ataskaita: • Rašoma testavimo pabaigoje • Yra kritiniame PĮ išleidimo kelyje norisi apsieiti • Jei duomenys renkami visąlaik, parengimas užtrunka neilgai • Leidžia išvengti testavimo plano atnaujinimo: • Pokyčiai įrašomi ataskaitoje
Testavimo ataskaitos • Testavimo apibendrinimo ataskaitos struktūra pagal IEEE 829: • ID • Santrauka • Nukrypimainuoplano • Išsamus įvertinimas • Rezultatų santrauka • Įvertinimas • Veiklų santrauka • Patvirtinimai (Approvals)
Testavimo apibendrinimo ataskaita • ID – dokumento identifikacinis numeris • Santrauka: • Kokios veiklos buvo vykdomos, kokiosversijostestuotos, kokioseaplinkose… • Nuorodosį testavimo planą, testavimo procedūras, testavimo atvejus... • Nukrypimai: • Kas buvo planuota vs. Kas buvo testuota
Testavimo apibendrinimo ataskaita • Išsamus įvertinimas: • Įvertinamas testavimo išsamumas lyginant su testavimo plane nurodytais kriterijais (testų, reikalavimų, kodo padengimu) • Aprašomos nepakankamai ištestuotos PĮ savybės, naujos rizikos • Pateikiamos testavimo efektyvumo metrikos ir jų interpretavimas
Testavimo apibendrinimo ataskaita • Rezultatų santrauka: • Išspręstų incidentų sprendimo santrauka • Neišpręstų incidentų sąrašas • Defektų metrikos
Testavimo apibendrinimo ataskaita • Įvertinimas: • Kiekvieno testavimo aspekto įvertinimas, apribojimų pateikimas • Paremtas testavimo rezultatais ir testavimo planu • Pvz.: • “Sistema negali palaikyti > 100 naudotojų vienu metu” • “Našumas sulėtėja iki X, jei užklausų skaičius viršija Y” • Sistemos kritinio trikio tikimybė yra Z
Testavimo apibendrinimo ataskaita • Veiklų santrauka: • Pagrindinių veiklų ir įvykių, resursų naudojimo santrauka • Naudinga ateities testavimo planavimui • Patvirtinimai: • Ataskaitą patvirtinančių asmenų vardai, pareigos • Parašai ir patvirtinimo datos • Idealiu atveju tai testavimo planą tvirtinę asmenys • Patvirtinama, kad sutinkama su ataskaitos turiniu • Esant smulkių nesutarimų, pasirašoma, bet pateikiamos pastabos
Pasikartojam • Testavimo ataskaitos: • Tikslas • Kiek reikia ataskaitų • Testavimo būsenos ataskaita • Testavimo apibendrinimo ataskaita
Kada baigti testavimo vykdymą? • Pagal planą numatytą dieną? • Apibrėžta testavimo išėjimo kriterijuose • Dažnai prireikia papildomų žinių ir intuicijos
Kada baigti testavimo vykdymą? • Kai naujų defektų skaičius ženkliai sumažėja • Kai naujų kritinių defektų skaičius ženkliai sumažėja
Kada baigti testavimo vykdymą? • Kartais: • pasibaigus resursams • atėjus terminui • Pvz.: • Puiki PĮ, bet per vėlai: kol pasiekė norimą kokybę, visi jau įsigijo konkurentinį produktą