Program ų sistemų testavimas
-
Upload
topanga-fernandez -
Category
Documents
-
view
38 -
download
4
description
Transcript of Program ų sistemų testavimas
Programų sistemų testavimas
Aistė Stikliūtė[email protected]
http://web.vu.lt/mif/a.stikliute/+370 604 17281
VU MIFProgramų sistemų katedra
Testavimas programuotojams
Tema pagal pageidavimą
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
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
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