Popis: |
Cilj diplomskega dela je razvoj ter implementacija domensko-specifičnega jezika (DSL-ja), ki omogoča hitrejše ter predvsem lažje pisanje Mocha testov. DSL-ji so običajno manjši programski jeziki, ki se večinoma osredotočajo na probleme v posamezni aplikacijski domeni. Pri razvoju rešitve bomo uporabili okolje Node.js, za programski jezik javascript. Za testno okolje bomo uporabili okolje Mocha, ki je najpogosteje uporabljeno okolje za programski jezik javascript. Glavne zahteve pri razvoju domensko-specifičnega jezika so, da testiranje poenostavimo, odstranimo vso nepotrebno kodo ter izboljšamo sam izpis rezultatov.V uvodnem poglavju na kratko opišemo tehnologije, za katere so namenjeni testi, predstavimo problem, ter na kratko opišemo pričakovanja po končani diplomski nalogi. Drugo poglavje predstavi značilnosti DSL-jev. Izpostavimo predvsem njihove lastnosti ter delitev v skupine. Med prednosti sodi predvsem prilagojenost dejanskim uporabnikom, za nas pa je še najbolj pomembna skupina notranjih DSL-jev. Na koncu predstavimo še tehnologije, ki so bile uporabljene pri razvoju jezika. V tretjem poglavju podrobneje opišemo izvorni problem ter razložimo, zakaj smo izbrali določene tehnologije, kaj so njihove slabosti ter predvsem prednosti. Node.js je najpreprostejšo okolje za implementacijo notranjega DSL-ja, ker ga razvijalci - testerji že dobro poznajo. V tem poglavju so predstavljeni tudi osnovni gradniki DSL-ja. V četrtem poglavju prikažemo uporabo ter delovanje jezika pri implementaciji testov na realnem projektu. Na kratko opišemo projekt ter predstavimo potek testiranja od začetka pisanja testov pa vse do izpisa rezultatov testiranja. V zadnjem poglavju predstavimo sklepne ugotovitve. Izpostavimo predvsem dejstvo, da je DSL veliko učinkovitejši pri pisanju testov, obstajajo pa seveda možnosti nadaljnega razvoja jezika. The aim of the diploma thesis is to present development and implementation of domain-specific language that enables a faster and mostly easier writing of Mocha tests. Domain-specific languages are minor computer languages that mainly focus on problems in a particular application domain. For developing a solution, the Node.js environment for JavaScript computer language is used. Our testing environment will be Mocha, the most frequently used environment for JavaScript platform. A tester will use a simplified solution in Mocha environment. The main requirements for domain-specific language development are the simplified testing as we eliminate unnecessary code and improve the printing of results. In the Introduction, we will briefly describe technologies for which tests are meant, present a problem that needs to be solved, and expectations after the finished thesis. The second chapter will introduce characteristics of domain-specific languages. We expose basic characteristics and we divide them into groups. Moreover, we present technologies used for the development of DSL. The third chapter describes the primary problem and explains why certain technologies were used, as well as their advantages in disadvantages. Furthermore, we will present basic cornerstones required for construction of DSL. The fourth chapter presents usage and activities of our language on a real project. We briefly describe the project and the process of testing. In the last chapter we present final conclusions, emphasizing the fact the newly created language is much more efficient at test writing. We present the possibilities of further development of the language as well. |