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: zachary-carter

Post on 01-Jan-2016

42 views

Category:

Documents


6 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 valdymas

Analizė ir testų kūrimas

Testavimo vykdymas

Rezultatų įvertinimas, ataskaitų rengimas

Testavimo pabaigos veiklos

Page 9: Program ų sistemų testavimas

Įrankių kategorijos pagal TP etapus

Testavimo valdymo įrankiai

Testavimo vykdymo įrankiai

Konfigūracijos valdymo įrankiai

Incidentų valdymo įrankiai

Reikalavimų valdymo į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ų diegimasKa

ina

Į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