program ų sistemų testavimas

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

Upload: carol

Post on 09-Jan-2016

40 views

Category:

Documents


2 download

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 vykdymas. Kas yra testavimo vykdymas? Kada pradėti testavimo vykdymą? Testavimo vykdymo ypatumai - PowerPoint PPT Presentation

TRANSCRIPT

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 vykdymas

• Kas yra testavimo vykdymas?• Kada pradėti testavimo vykdymą?• Testavimo vykdymo ypatumai• Testavimo vykdymo rezultatų pateikimas• Kada baigti testavimo vykdymą?

Page 3: Program ų sistemų testavimas

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

Page 4: Program ų sistemų testavimas

Testavimo vykdymo veiklos

• Testų vykdymas• Testavimo rezultatų registravimas• Testavimo žurnalo pildymas• Metrikų rinkimas• Testavimo ataskaitų rengimas• Komandos susitikimai (progreso, kylančių

klausimų aptarimas)

Page 5: Program ų sistemų testavimas

Priminimas: testavimo procesas

Testavimo planavimas ir valdymas

Analizė ir testų kūrimas

Testavimo vykdymas

Rezultatų įvertinimas, ataskaitų rengimas

Testavimo pabaigos veiklos

Page 6: Program ų sistemų testavimas

Kas yra testavimo vykdymas?

Testavimo vykdymas

Testavimo atvejai / procedūros

Testavimo duomenysTestavimo aplinka

Ankstesnė defektų informacija

Testavimo planai ir strategija

Incidentų aprašai

Testavimo žurnalas

Testavimo būsenos ir rezultatų ataskaitos

Testuojama PĮ

Page 7: Program ų sistemų testavimas

Kada pradėti testavimo vykdymą?

• Kai atlikti visi analizės ir testų kūrimo darbai?• Atėjus tvarkaraštyje numatytai datai?

Page 8: Program ų sistemų testavimas

Kada pradėti testavimo vykdymą?

• Skirk laiko apmąstymams, bet kai ateina laikas veiksmui, nustok galvoti ir imk daryti.

Napoleonas Bonapartas

Page 9: Program ų sistemų testavimas

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

Page 10: Program ų sistemų testavimas

Testavimo vykdymo ypatumai

• Gali užimti tik mažesniąją dalį visų testavimo veiklų (pvz., iki 40%)

• Vyksta projekto/iteracijos pabaigoje• 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”

Page 11: Program ų sistemų testavimas

Kas vykdo testavimą?

• Priklauso nuo testavimo lygmens

Atsakinga grupė Komponentų testavimas

Integracijos testavimas

Sistemos testavimas

Priėmimo testavimas

Programuotojai X X XTestuotojai X X XGalutiniai naudotojai X X

Page 12: Program ų sistemų testavimas

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)

Page 13: Program ų sistemų testavimas

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

Page 14: Program ų sistemų testavimas

Pasikartojam

• Kas yra testavimo vykdymas?• Kokios veiklos atliekamos?• Kur testavimo procese yra t.vykdymas?• Kada pradėti t.vykdymą?• Kas vykdo testavimą?

Page 15: Program ų sistemų testavimas

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

Page 16: Program ų sistemų testavimas

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

Page 17: Program ų sistemų testavimas

TA rezultatų fiksavimas

• Sėkmingas/nesėkmingas?• Nesėkmingas:– Problemos aprašymas prie TA– Vienas ar keli defektai (incidentai)– Nuoroda į defektą/defektus

• Statistika

Page 18: Program ų sistemų testavimas

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

Page 19: Program ų sistemų testavimas

Testavimo žurnalas (log)

• IEEE 829 Software Test Documentation• Kas, kokia tvarka vykdė TA, koks rezultatas• Pvz. šablonas:– ID– Laikas– Veiklos ir įvykių aprašas

Page 20: Program ų sistemų testavimas

Testavimo žurnalas

• Pvz.:Prekybos internetu testavimas Data: 2010-10-10

ID Laikas Veikla/įvykis

1 08:00 Pradėta vykdyti test.procedūra #18 (akcijų pirkimas) su 64 naudotojais

2 09:30 Testavimo aplinka nulūžo

3 10:00 Testavimo aplinka atstatyta

4 10:05 Pradėta vykdyti test.procedūra #19 (akcijų pardavimas)

5 11:11 Užregistruotas defektas #58

6 12:00 Įdiegtas pataisymas

Page 21: Program ų sistemų testavimas

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

Page 22: Program ų sistemų testavimas

Pasikartojam

• Testų vykdymo tvarka• TA rašymas vykdymo metu• Defektų registravimas• Testavimo žurnalo pildymas

Page 23: Program ų sistemų testavimas

Testavimo ataskaitos

• Tikslas – priimti sprendimus:– Testavimo eigoje (progresas, poreikiai)– Testavimo pabaigoje (ar tikrai baigti)

Page 24: Program ų sistemų testavimas

Testavimo ataskaitos

• Testavimo būsenos ataskaita:– Pasiekti tikslai– Defektų skaičius, kritiškumas, pasiskirstymas– Pasiektas padengimas:• Testavimo atvejų• Kodo• Reikalavimų

Page 25: Program ų sistemų testavimas

Testavimo ataskaitos

• Testavimo būsenos ataskaitos pvz.:Projektas: Prekyba internetu. Data: 2010-10-10

Testuota savybė

Iš viso testų Įvykdyta testų

% įvykdyta Sėkmingai įvykdyta

% sėkmingai įvykdyta

Sąskaitos atidarymas

46 46 100 41 89

Pardavimo užsakymas

36 25 69 25 100

Pirkimo užsakymas

19 17 89 12 71

... ... ... ... ... ...

Iš viso 395 320 81 290 91

Page 26: Program ų sistemų testavimas

Testavimo ataskaitos

• Testavimo būsenos ataskaitos interpretavimas• Įvykdyta 81% TA• TA nelygiaverčiai:– Vykdymo laiko požiūriu– Padengiamo funkcionalumo požiūriu

Page 27: Program ų sistemų testavimas

Testavimo ataskaitos

• Testavimo apibendrinimo ataskaita (test summary report)

• Tikslas:– Apibendrinti testavimo rezultatus– Pateikti įvertinimą– Pateikti rekomendacijas dėl PĮ išleidimo

Page 28: Program ų sistemų testavimas

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

Page 29: Program ų sistemų testavimas

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

Page 30: Program ų sistemų testavimas

Testavimo ataskaitos

• Testavimo apibendrinimo ataskaitos struktūra pagal IEEE 829:– ID– Santrauka– Nukrypimai nuo plano– Išsamus įvertinimas– Rezultatų santrauka– Įvertinimas– Veiklų santrauka– Patvirtinimai (Approvals)

Page 31: Program ų sistemų testavimas

Testavimo apibendrinimo ataskaita

• ID – dokumento identifikacinis numeris• Santrauka:– Kokios veiklos buvo vykdomos, kokios versijos

testuotos, kokiose aplinkose…– Nuorodos į testavimo planą, testavimo

procedūras, testavimo atvejus...• Nukrypimai:– Kas buvo planuota vs. Kas buvo testuota

Page 32: Program ų sistemų testavimas

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

Page 33: Program ų sistemų testavimas

Testavimo apibendrinimo ataskaita

• Rezultatų santrauka:– Išspręstų incidentų sprendimo santrauka– Neišpręstų incidentų sąrašas– Defektų metrikos

Page 34: Program ų sistemų testavimas

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

Page 35: Program ų sistemų testavimas

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

Page 36: Program ų sistemų testavimas

Pasikartojam

• Testavimo ataskaitos:– Tikslas– Kiek reikia ataskaitų– Testavimo būsenos ataskaita– Testavimo apibendrinimo ataskaita

Page 37: Program ų sistemų testavimas

Kada baigti testavimo vykdymą?

• Pagal planą numatytą dieną?• Apibrėžta testavimo išėjimo kriterijuose• Dažnai prireikia papildomų žinių ir intuicijos

Page 38: Program ų sistemų testavimas

Kada baigti testavimo vykdymą?

• Kai naujų defektų skaičius ženkliai sumažėja• Kai naujų kritinių defektų skaičius ženkliai

sumažėja

Page 39: Program ų sistemų testavimas

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ą

Page 40: Program ų sistemų testavimas

Klausimai ir idėjos