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
Tema pagal pageidavimą Testavimas programuotojams
Testavimas programuotojams Modulių (unit) testai Test-driven development Kita: Rankinis testavimas Konfigūracijos testavimas Testavimo procesas
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
Modulių testai Įrankiai/karkasai: xUnit: JUnit, NUnit, CppUnit, PyUnit, XMLUnit, ... Savi karkasai
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
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ą ...
Modulių testai Knygos: Johannes Link and Peter Frohlich, Unit Testing in Java: How Tests Drive the Code Paul Hamill, Unit Test Frameworks ...
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
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)
Konfigūracijos testavimas Programuotojai testuoja savo aplinkoje Testuotojai – testavimo aplinkoje Galimos problemos: Nekorektiški adresai, prisijungimo duomenys: Pvz., localhost Nenukopijuojama dalis failų ...
Dalyvavimas testavimo procese Laiku pateikti kodą testuotojams Naują Pataisymus Defektų aprašymus papildyti naujomis būsenomis ir komentarais: Defekto priežastis ir sprendimas, kt. Pagalba testuotojams: Informacija apie susijusias funkcijas Techninė pagalba ... Dalyvavimas priimant sprendimus
Egzaminas
Egzaminas Data: 2011-01-11 (antradienis) Laikas: 9 – 11 val. Vieta: 101 a.
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
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)
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
Apklausa
Ką galima būtų pagerinti kurse Skaidrėse Paskaitose Seminaruose Laboratoriniuose Kt.
Klausimai ir idėjos