Program ų sistemų testavimas
-
Upload
topanga-fernandez -
Category
Documents
-
view
38 -
download
4
description
Transcript of Program ų sistemų testavimas
![Page 1: Program ų sistemų testavimas](https://reader036.fdocument.pub/reader036/viewer/2022082505/568132ff550346895d99b9fa/html5/thumbnails/1.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022082505/568132ff550346895d99b9fa/html5/thumbnails/2.jpg)
Testavimas programuotojams
Tema pagal pageidavimą
![Page 3: Program ų sistemų testavimas](https://reader036.fdocument.pub/reader036/viewer/2022082505/568132ff550346895d99b9fa/html5/thumbnails/3.jpg)
Testavimas programuotojams
• Modulių (unit) testai• Test-driven development• Kita:– Rankinis testavimas– Konfigūracijos testavimas
• Testavimo procesas
![Page 4: Program ų sistemų testavimas](https://reader036.fdocument.pub/reader036/viewer/2022082505/568132ff550346895d99b9fa/html5/thumbnails/4.jpg)
Modulių testai
• Buvo 3 paskaitoje ir seminare• Esmė:– “Grynas” modulio testas testuoja TIK tą modulį– Reikalingi imituojantys objektai (mock objects),
fiktyvūs metodai (method stubs) ir fiktyvūs kvietėjai (drivers, test harnesses)
– Bet svarbiausia, kad būtų ištestuota
![Page 5: Program ų sistemų testavimas](https://reader036.fdocument.pub/reader036/viewer/2022082505/568132ff550346895d99b9fa/html5/thumbnails/5.jpg)
Modulių testai
• Įrankiai/karkasai:– xUnit: JUnit, NUnit, CppUnit, PyUnit, XMLUnit, ...– Savi karkasai
![Page 6: Program ų sistemų testavimas](https://reader036.fdocument.pub/reader036/viewer/2022082505/568132ff550346895d99b9fa/html5/thumbnails/6.jpg)
Modulių testai
• Testavimo idėjos, patarimai:– Testo pavadinimas – kuo aiškesnis: funkcionalumas
ir testavimo sąlyga– Testo kodas – kuo trumpesnis, su kuo mažiau
logikos: jei per ilgas, skaidom į trumpesnius– Laukiami rezultatai – konstantos, o ne skaičiuojami
teste– Laukiami rezultatai turėtų būti šalia duomenų– Exception’ai testuose negaudomi
![Page 7: Program ų sistemų testavimas](https://reader036.fdocument.pub/reader036/viewer/2022082505/568132ff550346895d99b9fa/html5/thumbnails/7.jpg)
Modulių testai
• Testavimo idėjos, patarimai:– Ekvivalentiškumo klasės, ribinės reikšmės, ...– Klaidingos situacijos– Testus rašyti toms vietoms, kuriose rasta daug
defektų– Parašyti testą, kai defektas “praslysta” į produkciją– ...
![Page 8: Program ų sistemų testavimas](https://reader036.fdocument.pub/reader036/viewer/2022082505/568132ff550346895d99b9fa/html5/thumbnails/8.jpg)
Modulių testai
• Knygos:– Johannes Link and Peter Frohlich,
Unit Testing in Java: How Tests Drive the Code– Paul Hamill,
Unit Test Frameworks– ...
![Page 9: Program ų sistemų testavimas](https://reader036.fdocument.pub/reader036/viewer/2022082505/568132ff550346895d99b9fa/html5/thumbnails/9.jpg)
Test-driven development
• Buvo seminare• Esmė:– Pirmiau rašomas testas, po to – sistemos kodas– Testas nepraeina– Parašomas minimalus sistemos kodas, reikalingas,
kad testas praeitų– Atliekamas kodo pertvarkymas– Testas vis dar turi praeiti
![Page 10: Program ų sistemų testavimas](https://reader036.fdocument.pub/reader036/viewer/2022082505/568132ff550346895d99b9fa/html5/thumbnails/10.jpg)
Rankinis testavimas
• Modulių testavimas ne visada atliekamas• Kažkaip ištestuoti kodą reikia, prieš atiduodant
testuotojams• Programuotojų “baziniai testai”:– Ar veikia pagrindinės funkcijos– Ar veikia “slidžios” vietos (specifinės
programuotojo žinios)
![Page 11: Program ų sistemų testavimas](https://reader036.fdocument.pub/reader036/viewer/2022082505/568132ff550346895d99b9fa/html5/thumbnails/11.jpg)
Konfigūracijos testavimas
• Programuotojai testuoja savo aplinkoje• Testuotojai – testavimo aplinkoje• Galimos problemos:– Nekorektiški adresai, prisijungimo duomenys:• Pvz., localhost
– Nenukopijuojama dalis failų– ...
![Page 12: Program ų sistemų testavimas](https://reader036.fdocument.pub/reader036/viewer/2022082505/568132ff550346895d99b9fa/html5/thumbnails/12.jpg)
Dalyvavimas testavimo procese
1. Laiku pateikti kodą testuotojams– Naują– Pataisymus
2. Defektų aprašymus papildyti naujomis būsenomis ir komentarais:– Defekto priežastis ir sprendimas, kt.
3. Pagalba testuotojams:– Informacija apie susijusias funkcijas– Techninė pagalba– ...
4. Dalyvavimas priimant sprendimus
![Page 13: Program ų sistemų testavimas](https://reader036.fdocument.pub/reader036/viewer/2022082505/568132ff550346895d99b9fa/html5/thumbnails/13.jpg)
Egzaminas
![Page 14: Program ų sistemų testavimas](https://reader036.fdocument.pub/reader036/viewer/2022082505/568132ff550346895d99b9fa/html5/thumbnails/14.jpg)
Egzaminas
• Data: 2011-01-11 (antradienis)• Laikas: 9 – 11 val.• Vieta: 101 a.
![Page 15: Program ų sistemų testavimas](https://reader036.fdocument.pub/reader036/viewer/2022082505/568132ff550346895d99b9fa/html5/thumbnails/15.jpg)
Egzaminas
• 2 val. (1,5 val. gryno atsakinėjimo į klausimus)• 5 balai
• 5 variantai– 10 testo klausimų - po 0,1 - 1 balas– 8 atviri klausimai - po 0,4-0,6 balo - 4 balai
![Page 16: Program ų sistemų testavimas](https://reader036.fdocument.pub/reader036/viewer/2022082505/568132ff550346895d99b9fa/html5/thumbnails/16.jpg)
Egzaminas
• Klausimų turinys:– 5-tukui nepakaks mintinai mokėti skaidres, bet 4-
tukui pakaks– 5-tukui pakaks to, ką pasakojau per paskaitas (arba
papildomų žinių iš kitur, arba labai gero skaidrių medžiagos interpretavimo)
![Page 17: Program ų sistemų testavimas](https://reader036.fdocument.pub/reader036/viewer/2022082505/568132ff550346895d99b9fa/html5/thumbnails/17.jpg)
Egzaminas
• Nusirašinėjimas:– Pagavus – iškart lauk iš egzamino ir universiteto– Aptikus taisant egzaminą – jei akivaizdu, lauk iš
universiteto, jei ne – aiškinsimės
![Page 18: Program ų sistemų testavimas](https://reader036.fdocument.pub/reader036/viewer/2022082505/568132ff550346895d99b9fa/html5/thumbnails/18.jpg)
Apklausa
![Page 19: Program ų sistemų testavimas](https://reader036.fdocument.pub/reader036/viewer/2022082505/568132ff550346895d99b9fa/html5/thumbnails/19.jpg)
Ką galima būtų pagerinti kurse
• Skaidrėse• Paskaitose• Seminaruose• Laboratoriniuose• Kt.
![Page 20: Program ų sistemų testavimas](https://reader036.fdocument.pub/reader036/viewer/2022082505/568132ff550346895d99b9fa/html5/thumbnails/20.jpg)
Klausimai ir idėjos