Program sistem testavimas Aist Stiklit [email protected] http://web.vu.lt/mif/a.stikliute +370

Program sistem testavimas Aist Stiklit aiste.stikliute@mif.vu.lt http://web.vu.lt/mif/a.stikliute +370

Program sistem testavimas Aist Stiklit [email protected] http://web.vu.lt/mif/a.stikliute +370 604 17281 VU MIF Program sistem katedra Testavimo atvejai (TA)

Kas yra TA? Kas yra geras TA? Testai (procedros), test rinkiniai Reikalavim padengimas TA sudarymo strategijos Praktiniai TA sudarymo aspektai TA valdymo rankiai Kas yra testavimo atvejis?

Slyg ir kintamj rinkinys, skirtas patikrinti, ar korektikai P elgiasi konkreioje situacijoje TA tarsi klausimas programai: kas bus, jei padarysiu tai? I kur inomas teisingas atsakymas? Orakulas (Oracle): reikalavimas, panaudojimo atvejis, komunikacija, euristika, sveikas protas TA apraymo forma Neformali: Sraiukas, k reikia patikrinti (bet kokia patogia forma)

Formali: TA raomi taip, kad padengt visus reikalavimus Naudojama TA apraymo forma su nustatytais laukais Tipin TA apraymo forma TA identifikatorius

Trumpas apraymas Slygos prie TA vykdym TA vykdymo ingsniai Laukiami rezultatai ir slygos po TA vykdymo Bei kiti laukai pagal poreik Pavyzdys: specifikacijos itrauka Naudotojas, kuris turi siskolinim (yra negrins knyg, o rezervacijos laikotarpis pasibaig), negali rezervuoti nauj knyg. Knyg rezervuoti nemokamai galima ne ilgiau kaip vienam mnesiui, vliau taikomas 5

Lt/mn. mokestis. Naudotojas, pasirinks ilgesn rezervacijos laikotarp, turi bti spjamas prie tsiant rezervacijos proces. Pavyzdys: TA ID TA031 Trumpas apraymas

Knygos rezervavimas daugiau nei maksimaliam nemokamam laikotarpiui Prie slygos Naudotojas, neturintis siskolinim, yra prisijungs prie sistemos. Atidarytas knyg sraas Vykdymo ingsniai 1. Pasirinktai knygai spausti Rezervuoti 2. Upildyti rezervacijos form laikotarp vesti > 1 mn.

3. Spausti Patvirtinti rezervacij Laukiami rezultatai Parodomas praneimas, nurodantis, kad maksimalus nemokamas knygos rezervacijos laikotarpis yra 1 mnuo. Pateikiama galimyb tsti rezervacij. Vykdytojas Vardenis Pavardenis

Bsena vykdytas rezultatas neigiamas Vykdymo rezultatas vedus laikotarp 3 mn., rezervacija tsiama be spjamojo praneimo. Yra klausim? Kas yra TA? TA apraymo forma

Testai ir test rinkiniai Testas (procedra) TA seka Pvz.: 1.Sukurti laiko juodrat 2.Isisti laik i juodrai katalogo Test rinkinys (test suite) Pvz.: el. pato programoje adres knygels test rinkinys TA sudarymo principai Geras TA - tas, kuris su didiausia tikimybe

suranda dar neinomus defektus Geras TA - tas, kuris aprao tiktin scenarij Gerai, jei TA galima pakartoti, pakartotinai panaudoti Kitose testavimo iteracijose Kitose aplinkose Regresiniam testavimui TA sudarymo principai TA turi apimti ne tik tinkamus pradinius duomenis, bet ir netinkamus TA turi tikrinti ne tik, ar sistema daro, tai kas aprayta specifikacijoje, bet ir ar nedaro to,

kas neaprayta. Formaliai - kiekvienam reikalavimui bent du TA Reikalavim padengimas Atsekamumo matrica (Traceability matrix) Reikalavim ir TA ryys daug su daug Yra klausim? Testas (procedra) Test rinkinys

Kaip sudaryti gerus TA? TA sudarymo strategijos Remiantis specifikacija Remiantis programos struktra (kodu) Remiantis patirtimi ir intuicija TA sudarymas remiantis specifikacija

Ekvivaleni klasi metodas Ribini reikmi metodas Sprendim lentels metodas Bsen perjim testavimas Testavimas pagal panaudojimo atvejus Ekvivalenios klass Galimi vesties duomenys suskirstomi klases Kiekvienai klasei bent po vien TA Pvz., reikalavimas: Draudimo kaina nepilnameiams 100 Lt,

pensininkams 200 Lt, visiems kitiems 150 Lt. Kokios ekvivalenios klass? Galima skirstyti ir ivesties duomenis Danai jungiamas su ribini reikmi metodu Ribins reikms Testuojamos ribins reikms, bei artimiausios reikms alia Tas pats pvz.: Draudimo kaina nepilnameiams 100 Lt, pensininkams 200 Lt, visiems kitiems 150 Lt. Kokios ribins reikms?

Sprendim lentels Kai specifikacijos forma prieasi/pasekmi analiz Prieastys Galimos prieastys Pasekms Pasekmi raai Prieastys

Uimta > pus viet N T T T Skrydio tipas = vietinis

- N N T Skrydio kaina > 300 - T

N - X X X X

X Pasekms Patiekiami grimai Imamas mokestis u grimus Bsen perjim testavimas Sistemoms, kuri elgesys apibriamas bsenomis ir vykiais Bsen perjim diagrama TA Aktyvuoti

Sukurtas Aktyvus Deaktyvuoti Itrinti Itrintas Parduoti Parduotas

Panaudojimo atvejai Specifikacijos forma panaudojimo atvejai (PA) UML diagramos arba tekstinis apraymas Naudotojo veiksm seka ir sistemos atsakas kiekvien veiksm PA TA TA sudarymas pagal P struktr

inoma detali P struktra (kodas) Sakini testavimas Sprendim/atak testavimas Keli testavimas Modifikuotas sprendim testavimas Ciklomatinis sudtingumas Sakini testavimas TA raomi taip, kad bt itestuotas kiekvienas programos sakinys

Tuios eiluts ir komentarai neskaiiuojami Matuojama procentais (statement coverage) Pvz.: if a > b then c = a - b else c = b - a print c Sprendim testavimas Arba atak (branches) testavimas TA raomi taip, kad bt itestuotas kiekviena vieta programoje, kur priimamas sprendimas Matuojama procentais (decision coverage) Tas pats pvz.:

if a > b then c = a - b else c = b - a print c Keli testavimas Tikslas itestuoti visus manomus kelius per program Sudtingesnms programoms nemanoma Pvz., ciklas su keletu if sakini, galini nukreipti program 10 skirting keli: 210 kombinacij Modifikuotas sprendim testavimas Modifikuotas sprendim testavimas:

- Itestuojamas kiekvienas galimas programos jimo kelias ir ijimo kelias - Itestuojama kiekviena kiekvieno sprendimo baigtis - Nepriklausomai itestuojama kiekviena sprendimo slyga Ciklomatinis sudtingumas V(G) = E N + 2 E briaun skaiius, N virni skaiius Arba: sprendim skaiius + 1 Kuo didesnis sudtingumas,

tuo daugiau reikia testavimo Patirtimi pagrstas testavimas Klaid spjimas Tiriamasis testavimas Klaid spjimas Paremtas testuotojo patirtimi ir intuicija Paremtas tipini klaid sraais (checklists) Pvz.: tuias tekstas, nulis, neigiami skaiiai, Enter mygtukas, lauk apjimas su TAB klaviu...

Paremtas praeities klaid analize Tiriamasis testavimas Testavimo rezultatai nauji testai Pasitelkiant gytas inias ir krybikum Apibriama testavimo misija Nustatomas testavimui skiriamas laikas Yra klausim? Specifikacija paremtas TA sudarymas

P strukra paremtas TA sudarymas Patirtimi ir intuicija paremtas TA sudarymas Praktiniai aspektai TA sudarymo strategijos parenkamos priklausomai nuo situacijos: Kokia yra specifikacija Koki turim patirt Gali netikti n viena formali strategija, belieka

remtis verslo logikos iniomis Praktiniai aspektai Ne visada iskiriami TA ir testai (procedros) TA/test jungimas ir skaidymas. Pvz.: Atsidaryti preks apraym Pasirinkti kiek, spalv, dyd

Spausti Usakyti Pasirinkti Prisijungti vesti neteisingus prisijungimo duomenis vesti teisingus prisijungimo duomenis Pakeisti adres Patvirtinti usakym Praktiniai aspektai 1. Raom TA taip, kad bt kuo patogiau testuoti 2. Raom TA taip, kad kuo efektyviau rastume kuo daugiau defekt

Praktiniai aspektai (Pvz.) Detals TA paprastiems scenarijams: 1. Atsidaryti preks apraym Pasirinkti kiek, spalv, dyd Spausti Usakyti 2. Suvesti neteisingus prisijungimo duomenis Nevesti prisijungimo d. Suvesti teisingus

prisijungimo duomenis Supaprastintas TA ilgam scenarijui: Preks aprayme spausti Usakyti Pasirinkti Prisijungti vesti teisingus prisijungimo duomenis Pakeisti adres Patvirtinti usakym Praktiniai aspektai

Kartais gerai aprayti laukiamus rezultatus po kiekvieno ingsnio. Pvz.: 1. Paspausti mygtuk Usakyti Atsidaro usakymo forma su tokiais laukais: ... 2. Upildyti form ir patvirtinti usakym Pateikiamas skms praneimas Usakymo duomenys perduodami X sistem

3. Pasirinkti Grti Naudotojas grinamas preki sra P.A.: bendri testavimo duomenys Naudojami skirtinguose testavimo etapuose Privalumai: Pagerina testavimo produktyvum Sumaina darbo apimtis programuotojams Supaprastina regresin testavim

Trkumai: Reikia i anksto paruoti Maja nauj defekt radimo tikimyb TA krimo ir valdymo rankiai TA automatinio generavimo rankiai TestComposer, Lutess, AsmL ... TA valdymo rankiai SpiraTest, QA Track ... Daugiau per seminarus

Klausimai ir idjos

Recently Viewed Presentations

  • Greece

    Greece

    Three famous Greek philosophers, Socrates, Plato, and Aristotle. Questioned belief that gods and goddesses controlled forces of nature. Used observation and reason to look for natural laws. Search influenced many fields. In medicine led to the study of the human...
  • The FinFisher Malware Suite - GironSec

    The FinFisher Malware Suite - GironSec

    The FinFisher Malware Suite. A quick breakdown by Joe Giron. ... After rootkit infection, the malware spawns a legit system process, hollows it out and injects a dll into it which then communicates with the FinProxy server which in turn...
  • Theories of Deviance

    Theories of Deviance

    Theories of Deviance * Differentiation & Deviance differentiation refers to the myriad variations among people based on selected social characteristics e.g., age, sex, race, educational attainment, occupational status, etc.
  • Nifty Assignments - University of Texas at Austin

    Nifty Assignments - University of Texas at Austin

    CS Unplugged Techniques for Teaching Computer Science Concepts. CS Unplugged Most first courses in computer science are very ambitious. Try to teach how to program in a particular language as well as broader concepts.
  • The Criminalization of Immigration: Contexts and Consequences

    The Criminalization of Immigration: Contexts and Consequences

    Internet and other mass media has increased visibility of immigration. Emotional and value-laden narratives of immigration. We are a country that was built by and for immigrants with each generation of immigrants. ... deconstruction and reconstruction.
  • Celebrating the Liturgical Year of the Church in

    Celebrating the Liturgical Year of the Church in

    Celebrating the Liturgical Year of the Church in our Classrooms Feast of St. Carthage May15th (Waterford &Lismore) Feast of The Sacred Heart of Jesus May 30th Feast of St. Joan of Arc May 30th Feast of Corpus Christi May 25th...
  • Indiana Department of Veterans Affairs

    Indiana Department of Veterans Affairs

    "IF" a Government Headstone/Marker/Medallion was claimed/ordered through the Federal Department of Veterans' Affairs for the deceased Veteran, then an additional allowance may be claimed to assist in the offset of the expense incurred to have that Government Headstone/Marker/Medallion placed or...
  • Allocating Security Analysts to Cyber Alerts Using Markov Games

    Allocating Security Analysts to Cyber Alerts Using Markov Games

    Allocating Security Analysts to Cyber Alerts Using Markov Games. Noah Dunstatter. Joint work with: Dr. Mina . Guirguis, Alireza . Tahsini. Hello everyone! My name is Noah Dunstatter and today I'll be presenting my paper "Allocating security analysts to cyber...