Denník
25.2 - 3.3
- vytvorenie potrebných súborov ako študentské riešenie, create script z textovej formy (String), ktoré dostanem poskytnuté z DB portálu
- spustenie a skompilovanie programu v Docker container
- vytvorenie unit testov pre C++ a taktiež Javu
- dohladanie informácií o možných spôsoboch testovania týchto programov, zatiaľ som si vybrala Google tests pre C++ a JUnit tests pre Javu
4.3 - 10.3
- nainštalovanie PostgreSQL do Docker contianeru
- vytvorenie študentského riešenia Row Data Gateway
11.3 - 17.3
- získanie výstupu z unit testov
- parsovanie XML súboru
18.3 - 24.3
- vytváranie odozvy pre študenta
- niektoré úlohy vyžadúju spúšťanie testovania s obmedzením na čas (je potrebné dorobiť ešte pamäť)
- zisťovanie ohľadom možnosti vytvorenia Docker image na základe Docker filu automaticky
25.3 - 7.4
- po konzultácií so školiteľom som zistila, že je veľa rôznych spôsobov akými sa dajú unit testy obísť, preto som sa rozhodla vytvoriť vlastný "testovač"
- riešenie bude spočívať v tom, že na študenské riešenie sa spustia vytvorené testy, ktoré majú za úlohu iba vypísať výsledky testov do XML súboru. Tieto testy teda slúžia primárne ako "vypisovač"
- správne výsledky jednotlivýchh testov budú poskytnuté taktiež vo forme XML súboru
- následne obe súbory sparsujem, porovnám a ohodnotím ich spávnosť
- tento spôsob zabezpečuje, že študent nie je možný získať správnne riešenia daného testu, nakoľko nie sú úzko späté s daným testovaním
- taktiež sa vyhnem prípadom ako napíklad exit(0) čo by pri bežných unit testoch spôsobilo ich ukončenie s pozitívnym výsledkom aj v prípade ak by študent nemal spávne implementovanú úlohu
8.4 - 14.4
- dohodnutie sa so školiteľom na spôsobe akým sa bude poskytovať v akom štádiu sa nachádza testovanie študentského riešenie (ak je riešenie práve odoslané, ak sa testuje, dokončené testovanie). Záznamy aj s potrebnými
doplňujúcimi údajmi sa budú uchovávať v databáze a frontend portálu bude mať vytvorené spojenie, ktoré bude v opakovaných intervaoch
pristupovať a zisťovať stav testovania študentského riešenia (Connection pooling)
- ako výstup modelu nemám poskytovať ako String s popisom celého testovania ale tento výstup má byť agnosticky od použitého prirodzeného jazyka, preklad má riešiť frontend, teda som musela prerobiˇposkytovanie odozvy
15.4-21.4
- doteraz moje porovnávanie správnosti študentského riešenia a správneho výsledku bolo porovnávanie na rovnosť avšak niekedy spávnym riešením testu môže byť taktiež vyhodenie výnimky, preto bolo potrebné dorobiŤ kontorlu taktiež aj pre výnimky, <=, <, > ...
- zahrnutie kontroly na rôzne obmedzenia, testy na kontrolu, že určitá metóda sa nemôže používať atď.
- vytvorenie unit testov pre dané testovanie študentských riešení