pl/sql vienībtestēšana ar ruby

19
PL/SQL vienībtestēšana ar Ruby

Upload: rsim

Post on 18-May-2015

3.097 views

Category:

Documents


7 download

TRANSCRIPT

PL/SQL vienībtestēšanaar Ruby

Raimonds Simanovskis

github.com/rsim

Kāda ir laba programma?

Strādā pareizi

Pietiekoši ātri

Ir uzturama

Jātestēfunkcionalitāte!

Jātestēveiktspēja!

Jātestēpēc izmaiņām!

Kā tas tiek darīts?kaut ko

padarbinamdbms_output.put_line(...)

lai testētāji testē,tas ir viņu darbs

tas taču acīmredzami,ka kļūdu nav :)

Kādas ir problēmas?

“pamēģinam” nevis testējam

testi nav atkārtojami

manuāla rezultātu pārbaude

testēšana tiek sākta pārāk vēlu

Testu veidivienībtesti

integrācijas testi

veiktspējas & slodzes testi

pētnieciskie & lietojamības testi

programmētājaatbildība

Testu virzīta izstrāde

Izveido testu

Izpilda testu

Uzraksta kodu

Izpilda testu

Refaktorē

Labi vienībtestiAutomātiski, izpildās ātri

Plašs koda pārklājums, iekļauj robežgadījumus

Atkārtojami

Neatkarīgi, nav svarīga izpildes secība

Izmanto reālus, labi saprotamus datus

Kā to darītprogrammējot

PL/SQL ?

utPLSQLizveidoja Steven Feuerstein, 1999

bāzēts uz “xUnit”-stila ietvariem

pēdējos gados netiek uzturēts :(

PiemērsSimbolu virknes apakšvirkne

no sākuma līdz beigu pozīcijai

Testi

Rezultāti

Vizuālie testēšanas rīki

Quest Code Tester SQL Developer 2.1

Kāpēc maz lieto?

liels testu koda apjoms?

nepārskatāmi, slikta lasāmība?

grūti testēt sarežģītākus gadījumus?

nav labās prakses kā rakstīt testus?

neviens nelieto, kāpēc lai es lietotu?

ruby-plsql-specideāla valoda testu rakstīšanai

spēcīgi testēšanas rīkiar “lasāmu” sintaksiRSpec

ruby-plsql bibliotēka PL/SQLprocedūru

izsaukšanai no Ruby

ruby-plsql-specDemo

Ieguvumi

kompakta, lasāma sintakse

spēcīgas iespējas arī sarežģītu testu rakstīšanai

labākā prakse no Ruby kopienas

veidots uz reālu projektu vajadzībām