program ų sistemų testavimas
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 PresentationTRANSCRIPT
Programų sistemų testavimas
Aistė Stikliūtė[email protected]
http://web.vu.lt/mif/a.stikliute+370 604 17281
VU MIFProgramų sistemų katedra
Testuotojo darbastalis
• Ko reikia efektyviam testavimui?• Testavimo įrankių tipai• Įrankių pasirinkimo ir įdiegimo principai
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ų
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
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ą?
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.
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ė.
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
Į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
Į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
Į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
TMM
• TMM – Test Maturity Model• 5 proceso brandos lygiai• Kiekviename TMM lygyje naudojamos
skirtingos įrankių kategorijos
Įrankių kategorijos pagal TMM
• TMM 1:– Interaktyvūs debugeriai– Konfigūracijos surinktuvai (builders)– Kodo eilučių skaičiuotuvai
Į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
Į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
Į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
Į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
Į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
Į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
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
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
Testavimo įrankių diegimo rizikos
• Pernelyg optimistiniai lūkesčiai• Neįvertinamos reikalingos pastangos• Testavimo aplinka nepritaikyta įrankiams
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
Testavimo įrankių diegimasKa
ina
Įrankio naudojimo laikas
Susilyginimo taškas Testavimas nenaudojant įrankio
Testavimas naudojant įrankį
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
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
Į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
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
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• ...
Pasikartojam
• Kodėl reikalingi įrankiai?• Kokios galimos rizikos?• Kaip pasirinkti įrankį?• Kur gauti įrankių?
Klausimai ir idėjos