310 likes | 560 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. Testuotojo darbastalis. Ko reikia efektyviam testavimui? Testavimo įrankių tipai Įrankių pasirinkimo ir įdiegimo principai.
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
Testuotojodarbastalis • Ko reikia efektyviam testavimui? • Testavimo įrankių tipai • Įrankių pasirinkimo ir įdiegimo principai
Ko reikia efektyviam testavimui? • Lengvaipasiekiamostestavimoaplinkos(-ų): • 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? • Lengvaipasiekiamosinformacijos • Kurrastiskirtingastestavimoaplinkas • Kurrastilogus, DB ir pan. • Kokieprisijungimoduomenys • Kur/kaipregistruotidefektus • Kurkreiptiskilusneaiškumams • ... Pvz. sprendimas – įmonės ar testavimo komandos Wiki puslapis
Ko reikia efektyviam testavimui? • Tinkamų komunikacijos priemonių • Įrankių • Aiškaus proceso Pvz.: • Spec. įrankiai, el. paštas, Skype, susitikimai? • Ką įtraukti į susirašinėjimą?
Ko reikia efektyviam testavimui? • 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? • 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 Reikalavimų valdymo įrankiai Konfigūracijos valdymo įrankiai Testavimo valdymo įrankiai Incidentų valdymo įrankiai Testavimo vykdymo į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 procesobrandos 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ų bibliotekospalaikymo į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: • Lengvaipasiekiamų 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ų diegimas Susilyginimo taškas Testavimas nenaudojant įrankio Testavimas naudojant įrankį Kaina Įrankio naudojimo laikas
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 • Problemos/galimybės analizė • Alternatyvių sprendimų paieška • Apribojimų ir reikalavimų identifikavimas • Įrankių vertinimas, trumpo sąrašo sudarymas • Detalus vertinimas, proof of concept • Derybos su įrankio tiekėju • 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ų?