program ų sistemų testavimas

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

Upload: caroun

Post on 31-Jan-2016

46 views

Category:

Documents


0 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. Testuotojo darbastalis. Ko reikia efektyviam testavimui? Testavimo įrankių tipai Įrankių pasirinkimo ir įdiegimo principai. - 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

Testuotojo darbastalis

• Ko reikia efektyviam testavimui?• Testavimo įrankių tipai• Įrankių pasirinkimo ir įdiegimo principai

Page 3: Program ų sistemų testavimas

Ko reikia efektyviam testavimui?

1. Lengvai pasiekiamos testavimo aplinkos(-ų):- Pvz.: DEV, SIT, UAT, DEV_WIN, DEV_MAC ...- Tipinės problemos:

- Trūksta techninės arba PĮ konfigūracijos (pvz., įmonė neturi Mac kompiuterių ar kokios nors OS)

- Nepasiekiamas serveris- Testuotojams nėra sukurtas naudotojas- Trūksta teisių

Page 4: Program ų sistemų testavimas

Ko reikia efektyviam testavimui?

2. Lengvai pasiekiamos informacijos- Kur rasti skirtingas testavimo aplinkas- Kur rasti logus, DB ir pan.- Kokie prisijungimo duomenys- Kur/kaip registruoti defektus- Kur kreiptis kilus neaiškumams- ...

Pvz. sprendimas – įmonės ar testavimo komandos Wiki puslapis

Page 5: Program ų sistemų testavimas

Ko reikia efektyviam testavimui?

3. Tinkamų komunikacijos priemonių- Įrankių- Aiškaus proceso

Pvz.:- Spec. įrankiai, el. paštas, Skype, susitikimai?- Ką įtraukti į susirašinėjimą?

Page 6: Program ų sistemų testavimas

Ko reikia efektyviam testavimui?

4. Bazinių įrankių:- Kompiuterio! // tinkamų techninių parametrų- Biuro PĮ paketo // skaičiuoklė, teksto procesorius- Komunikacijos įrankių // Skype, el. paštas, tel.

Page 7: Program ų sistemų testavimas

Apibrėžimas: įrankis

• Įrankis - produktas, skirtas atlikti ar palengvinti vieną ar kelias testavimo veiklas, tokias kaip planavimas ir valdymas, specifikavimas, pradinių failų ir duomenų surinkimas, testavimo vykdymas ir analizė.

Page 8: Program ų sistemų testavimas

Ko reikia efektyviam testavimui?

5. Kitų testavimo įrankių, priklausomai nuo:- naudojamo proceso ir jo brandos- testavimo proceso etapo

Testavimo planavimas ir valdymasTestavimo planavimas ir valdymas

Analizė ir testų kūrimasAnalizė ir testų kūrimas

Testavimo vykdymasTestavimo vykdymas

Rezultatų įvertinimas, ataskaitų rengimasRezultatų įvertinimas, ataskaitų rengimas

Testavimo pabaigos veiklosTestavimo pabaigos veiklos

Page 9: Program ų sistemų testavimas

Įrankių kategorijos pagal TP etapus

Testavimo valdymo įrankiai

Testavimo valdymo įrankiai

Testavimo vykdymo įrankiai

Testavimo vykdymo įrankiai

Konfigūracijos valdymo įrankiai

Konfigūracijos valdymo įrankiai

Incidentų valdymo įrankiai

Incidentų valdymo įrankiai

Reikalavimų valdymo įrankiai

Reikalavimų valdymo įrankiai

Testų kūrimo įrankiai

Testų kūrimo įrankiai

Page 10: Program ų sistemų testavimas

Įrankių kategorijos pagal TP etapus

• Incidentų valdymo įrankiai (aptarti anksčiau)• Reikalavimų valdymo įrankiai:– Reikalavimų pasikeitimų valdymui– Reikalavimų ir testų sąryšio sekimui

• Konfigūracijos valdymo įrankiai– Dokumentacijos ir kodo centralizuotam

naudojimui ir versijavimui

Page 11: Program ų sistemų testavimas

Įrankių kategorijos pagal TP etapus

• Testų kūrimo įrankiai:– Testavimo atvejų generatoriai– Testavimo orakulai– Testavimo duomenų generatoriai– Labiau naudojami kritinio saugumo sistemoms

• Testų vykdymo įrankiai:– Įrašyk-paleisk įrankiai, programuojami testai,

našumo, saugumo testavimo, padengimo matavimo įrankiai

Page 12: Program ų sistemų testavimas

TMM

• TMM – Test Maturity Model• 5 proceso brandos lygiai• Kiekviename TMM lygyje naudojamos

skirtingos įrankių kategorijos

Page 13: Program ų sistemų testavimas

Įrankių kategorijos pagal TMM

• TMM 1:– Interaktyvūs debugeriai– Konfigūracijos surinktuvai (builders)– Kodo eilučių skaičiuotuvai

Page 14: Program ų sistemų testavimas

Įrankių kategorijos pagal TMM

• TMM 2:– Projekto planavimo ir testavimo planavimo

įrankiai– Klaidų vykdymo metu aptikimo įrankiai– Pasiruošimo testavimui įrankiai (baziniai)– Kodo padengimo analizuokliai– Kryžminių nuorodų įrankiai

Page 15: Program ų sistemų testavimas

Įrankių kategorijos pagal TMM

• TMM 3:– Konfigūracijos valdymo įrankiai– Reikalavimų registravimo, tikrinimo, siejimo su testais įr.– Įrašyk-paleisk įrankiai (capture-replay)– Failų palyginimo įrankiai– Defektų valdymo įrankiai– PĮ sudėtingumo matuokliai– Apkrovos generatoriai

Page 16: Program ų sistemų testavimas

Įrankių kategorijos pagal TMM

• TMM 4:– Kodo tikrinimo įrankiai– Kodo auditavimo įrankiai– Kodo suvokimo įrankiai– Fiktyvių kvietėjų generatoriai– Našumo testavimo įrankiai– Interneto aplikacijų testavimo įrankiai– Tinklo analizatoriai– Simuliatoriai, emuliatoriai– Testavimo valdymo įrankiai

Page 17: Program ų sistemų testavimas

Įrankių kategorijos pagal TMM

• TMM 5:– Proceso aktyvų bibliotekos palaikymo įrankiai– Automatinių testų kūrimo įrankiai– Teiginių tikrintuvai– Testavimo duomenų generuokliai– Pažangūs testavimo valdymo įrankiai– Panaudojamumo matavimo įrankiai

Page 18: Program ų sistemų testavimas

Įrankių kategorijos pagal TMM

• Sąrašas pagal TMM lygius – neišsamus ir ne receptinis

• Įmonės lygis pagal TMM gali būti dalinis:– Naudojami beveik visi įrankiai– Naudojami kai kurie aukštesnio lygmens įrankiai

• Atsiranda vis naujų įrankių• Reikia įvertinti, kas konkrečiai reikalinga

Page 19: Program ų sistemų testavimas

Įrankių kategorijos pagal TMM

• Dažnai įrankiai apjungiami:– Gaminami kaip vienas vienetas– Gaminami atskirai, bet integruojami

• Pvz.:– Apkrovos generavimo ir našumo testavimo

įrankiai– Reikalavimų valdymo ir testų valdymo įrankiai– Testų valdymo ir defektų valdymo įrankiai

Page 20: Program ų sistemų testavimas

Pasikartojam

• Efektyviam testavimui reikia:– Lengvai pasiekiamų testavimo aplinkų– Lengvai pasiekiamos informacijos– Tinkamų komunikacijos priemonių ir proceso– Įrankių

• Įrankių kategorijos:– pagal testavimo proceso etapą– pagal TMM lygius

Page 21: Program ų sistemų testavimas

Testavimo įrankių privalumai

• Panašūs į bet kokio proceso automatizavimą• Sutaupoma laiko• Išvengiama pasikartojančių, demotyvuojančių

rankinių darbų• Vietoje to daugiau dėmesio galima skirti

testavimo planavimui ir analizei turėti efektyvesnį testavimą

• Gaunami sistematiškesni rezultatai

Page 22: Program ų sistemų testavimas

Testavimo įrankių diegimo rizikos

• Pernelyg optimistiniai lūkesčiai• Neįvertinamos reikalingos pastangos• Testavimo aplinka nepritaikyta įrankiams

Page 23: Program ų sistemų testavimas

Testavimo įrankių diegimas

• Testavimo įrankis – ilgalaikė investicija• Palyginimui – atidaryti kavinę, renovuoti

pastatą– Mažai tikėtina grąža trumpuoju laikotarpiu– Tikėtina didelė grąža ilguoju laikotarpiu– Naudojant reikalingos papildomos investicijos

palaikymui– Rizikos – nebus planuoto poreikio, palaikymas

kainuos brangiau nei tikėtasi

Page 24: Program ų sistemų testavimas

Testavimo įrankių diegimas

Įrankio naudojimo laikas

Susilyginimo taškas Testavimas nenaudojant įrankio

Testavimas naudojant įrankį

Page 25: Program ų sistemų testavimas

Testavimo įrankių diegimas

• Yra išimčių.• Palaikymo kaštų praktiškai nėra:– Failų palyginimo įrankiams– Statinės kodo analizės įrankiams

• Palaikymo kaštai gali būti didžiuliai:– Automatiniams testams, našumo testams

• Kai kuriuos įrankius gali pagaminti vietiniai programuotojai

Page 26: Program ų sistemų testavimas

Testavimo įrankių diegimas

Investicijos į testavimo įrankius atsiperka tik jei:• darbuotojai turi reikiamą išsilavinimą, moka naudotis

įrankiu• organizacijos kultūra palaiko įrankių įvertinimą,

naudojimą ir technologijas• įrankis įdiegiamas į procesą palaipsniui• įrankiai atitinka organizacijos brandos lygį ir

testuotojų sugebėjimus• įrankiai nesikerta su testavimo proceso augimu ir

gerinimu

Page 27: Program ų sistemų testavimas

Įrankio įsigijimo procesas

1. Problemos/galimybės analizė2. Alternatyvių sprendimų paieška3. Apribojimų ir reikalavimų identifikavimas4. Įrankių vertinimas, trumpo sąrašo sudarymas5. Detalus vertinimas, proof of concept6. Derybos su įrankio tiekėju7. Pilotinis projektas

Page 28: Program ų sistemų testavimas

Testavimo įrankių vertinimas/parinkimas

• Renkantis testavimo įrankį reikia atsižvelgti į:– Lengvumą naudoti– Tinkamumą– Patikimumą– Funkcionalumą– Integravimo paprastumą– Įrankio palaikymą– Kainą– Suderinamumą su organizacijos tikslais ir

nuostatomis

Page 29: Program ų sistemų testavimas

Kur gauti įrankių?

• www.stlabs.com/marik/faqs/tools/html• www.soft.com/Partners/Aonix• www.methods-tools.com/tools/testing.html• www.revlabs.com• www.sqe.com• www.ovum.com• ...

Page 30: Program ų sistemų testavimas

Pasikartojam

• Kodėl reikalingi įrankiai?• Kokios galimos rizikos?• Kaip pasirinkti įrankį?• Kur gauti įrankių?

Page 31: Program ų sistemų testavimas

Klausimai ir idėjos