ONLINE WEBOVÝ SYSTÉM PRE TVORBU A GENEROVANIE TESTOV - WTEST Ing. Vojtech Siničák TU v Košiciach, Strojnícka fakulta Katedra automatizácie a riadenia Park Komenského 9, 042 00 Košice vojtech.sinicak@tuke.sk Abstrakt: Tento článok popisuje online webový systém WTest. Systém je určený pre jednoduchú tvorbu a generovanie testov. Systém som navrhol a vytvoril pre podporu kvality vzdelávania, na základe požiadaviek študentov a potrieb Katedry automatizácie a riadenia. Systém umožňuje tvorbu, správu obsahu testov a generovanie testov cez webové rozhranie. Je postavený na bezplatných webových technológiách. A to na technológii (Hypertextový značkovací jazyk), skriptovacom jazyku PHP a databázovom systéme MySql. V článku popisujem požiadavky z ktorých som vychádzal pri návrhu. Ďalej je popísaná štruktúra a možnosti systému. V závere článku sa zaoberám jednotlivými úrovňami bezpečnosti a prudkým rozvojom webových aplikácií. 1. Úvod S rozvojom webových technológií a internetu sa rozvíjajú aj E - learningové formy štúdia a výučby. V rámci týchto foriem výučby sa overovanie vedomostí študentov často realizuje formou testov. Prakticky každý E-learningový systém, napr. Moodle obsahuje možnosť tvorby a generovania testov. Problémom týchto systémov však je, že nie sú bezplatné (okrem Moodle), alebo neponúkajú možnosť prispôsobenia si danej aplikácie špecifickým potrebám a požiadavkám danej školy, alebo výučbového smeru. Aj na základe týchto skúseností som vytvoril prezentovaný systém WTest. Cieľom bolo vytvorenie systému, spĺňal požiadavky študentov i našej katedry a ktorý by mal tvoriť súčasť integrovaného katedrového výučbového portálu. [2] 2. Ciele a požiadavky na systém Hlavným požiadavkou bolo nahradenie programu WinTESY 2002 [Obr. 1]. Tento program sa používal pre tvorbu testov a generovanie testov pre študentov. Veľkou nevýhodou daného programu bola nemožnosť využitia grafiky, obrázkov a schém v daných testoch. Ďalšou nevýhodou bol pevne daný časový interval na každú otázku a zlá čitateľnosť textu v testových otázkach. Problémom bola aj bezpečnosť testov a bolo ťažké zabrániť úniku testov medzi študentov. Hlavným cieľom bolo vytvoriť systém umožňujúci jednoduchú tvorbu a správu testov pre jednotlivé predmety. Ďalej následné generovanie testov, vyhodnotenie testov a uloženie výsledkov v databáze. Obr. 1 Program WinTESY 2002 Pri návrhu a realizácii som vychádzal z týchto požiadaviek: nezávislosť na platforme a operačnom systéme, jednoduchá tvorba testov cez internet a webové rozhranie, využitie dostupných, bezplatných webových technológií, čo najjednoduchšie programovanie a prevádzkovanie aplikácie, jednoduchá implementácia a integrácia systému do katedrových webových stránok, 238
systém zložený z administrátorského a testovacieho rozhrania, možnosť využitia grafiky, schém a obrázkov v testových otázkach, čitateľnosť a prehľadnosť testu, možnosť používania vzorcov a neštandardných znakov v testoch (využitím fotografického zadania otázok aj odpovedí), náhodné generovanie otázok z okruhov, miešanie odpovedí, možnosť vytvorenia demo testu pre študentov, možnosť výberu počtu odpovedí, počtu bodov za správnu aj nesprávnu odpoveď, počet správnych odpovedí môže byť aj viac, nielen jedna, generovanie celého testu naraz, bez časového obmedzenia (odpadá stres s časového limitu na otázku), testovanie študentov bez nutnosti vytvorenia účtu (nie je potrebné prihlasovacie meno a heslo, výhodné pri veľkom počte študentov), vyhodnotenie testu dvoma spôsobmi (len body a percentá dosiahnuté v teste, alebo vyhodnotenie aj s otázkami a správnymi odpoveďami), bezpečnosť (testy a otázky uložené v samostatnej databáze a oddelené od vlastnej aplikácie, využitie kódovania prenášaných informácií, niekoľko stupňov ochrany testov, generovanie jednorazových unikátnych prístupových hesiel). 3. Použité technológie Na základe požiadaviek a dostupných webových technológií boli použité [Obr. 2]: hypertextový značkovací jazyk PHP skriptovací jazyk MySql databázový relačný systém : Hypertext Mark Language. Textový značkovací jazyk, podľa ktorého webový prehliadač na strane klienta poskladá výslednú webovú stránku a zobrazí ju. Určuje vizuálnu a obsahovú stránku stránky. Vizuálna stránka je postavená na tabuľkovom dizajne. [1] PHP (HyperText Preprocessor) [Obr. 3] - Skriptovací - programovací jazyk, ktoré slúžia na dynamizáciu webového obsahu. - PHP skripty sú vykonávané na strane servera, klient dostane len výslednú stránku. - PHP skripty zabezpečujú autorizáciu a prihlásenie sa do administrátorskej zóny, alebo kontrolujú oprávnenie na spustenie testu (heslá). - PHP skripty dynamicky generujú test a vytvárajú výslednú stránku.[1] MySql: Relačný databázový systém, ukladá dáta vo forme tabuliek [1] VIZUÁL Obr. 2 Použité webové technológie KLIENT Obr. 3 Využitie PHP v systéme WTest 4. Štruktúra, funkčnosť a možnosti systému Systém WTest je zložený z troch hlavných častí. A to z časti vstupnej [Obr.3], administrátorskej [Obr.7] a časti pre testovanie [Obr.11]. a) Vstupné rozhranie: WTest APLIKAČNÁ LOGIKA PHP POŽIADAVKA (GENERUJ TEST) TEST V TVARE STRÁNKY SERVER DATABÁZA MYSQL KONTROLA HESLA - DYNAMICKÉ VYGENEROVA NIE STRÁNKY Slúži ako vstup do administrátorského, alebo testovacieho rozhrania, poskytuje základné informácie o systéme WTest. Umožňuje vyskúšať si pripravený demo test. [3] 239
výber nový test, konfigurácia testu, editácia obsahu, aktivácia, deaktivácia testu [Obr. 6] Obr.6 Ponuka výberu v administrátorskom Obr.3 Vstupná časť systému WTest konfigurácia testu [Obr. 7] b) Administrátorské rozhranie: Umožňuje jednoduché vytvorenie nového testu, konfiguráciu testu, pridávanie a modifikáciu testových otázok. Ďalej sprostredkováva správu bezpečnosti testu, zobrazuje výsledky testov uložené v databáze. [3] Obr.7 Konfiguračné menu v administrátorskom Obr.4 Administrátorské rozhranie systému WTest správa obsahu testu tvorba nových otázok, editácia otázok [Obr. 8] Postup vytvorenia a správy testu: prihlásenie sa do administrátorskej zóny [Obr. 5] Obr.5 Prihlásenie sa do administrátorského rozhrania Obr.8 Správa obsahu testov v administrátorskom 240
c) Testovacie rozhranie: Formou stránky sprístupňuje test, odosiela metódami GET a POST informácie na vyhodnotenie serveru. Zobrazuje vyhodnotenie testu. Vyhodnotenie testu ponúka dva spôsoby vyhodnotenia. A to výsledný počet bodov a percentá, alebo kompletné vyhodnotenie aj zo správnymi odpoveďami. [Obr. 11] [3] Postup spustenia testu: výber testu zo zoznamu testov [Obr. 9] Obr.9 Výber zo zoznamu testov autorizácia vstupu do testu [Obr. 10] Obr.11 Testovacie rozhranie systému WTest Obr.10 Autorizácia pri spustený testu 5. Bezpečnosť V každej webovej aplikácii je prioritnou otázkou, otázka bezpečnosti. Bezpečnosť webových aplikácií, či webových stránok je skutočne obsiahla téma. Pri tvorbe systému WTest som práve veľkú pozornosť venoval oblasti bezpečnosti. A to hlavne bezpečnosti prístupu k otázkam a testom. Testy a otázky sú uložené v samostatnej MySql databáze a sú oddelené od vlastnej aplikácie, pri prenášaní informácií som využil kódovanie týchto informácií. Vytvoril som niekoľko stupňov ochrany testov a zaviedol generovanie jednorazových unikátnych prístupových hesiel do testov [Obr.12]. Veľkú pozornosť som venoval metóde MySql injection, kde útočník znalý systému MySql a môže získať pomerne ľahko prístup k informáciám v databáze, či dokonca všetko zmazať. 241
V súčasnosti je systém WTest využívaný v testovacej prevádzke. V rámci testovacej prevádzky prebieha vyhľadávanie prípadných bezpečnostných rizík, testovanie a ladenie kódu. Štruktúra bezpečnosti WTest 3. 2. 1. Kontrola - heslom Kontrola IP adresou Kontrola bez kontroly Aktivácia/Deaktivácia testu Zobrazenie testu v zozname testov Obr.12 Stupne kontroly bezpečnosti systému WTest Na spustenie testu študentom musia byť splnené 3 podmienky: 1. podmienka musí byť aktivované zobrazenie testu v zozname testov administrátorom (tvorcom testu), z administrátorského rozhrania 2. podmienka test musí byť aktivovaný administrátorom (tvorcom testu) z administrátorského rozhrania 3. podmienka v závislosti na nastavení testu v konfiguračnom menu musí byť splnená autorizácia a to: - autorizácia heslom (unikátne, náhodné generované heslo, ktoré sa generuje v administračnom ), - autorizácia IP adresou (test môže byť spustený s počítača len s danou IP adresou, nastavenie sa prevádza v konfigurátore), - autorizácia heslom + IP adresou, - bez autorizácie (nie je vyžadované heslo ani IP adresa, nastavenie v konfigurátore). Záver Prezentovaný online webový systém WTest vznikol na základe požiadaviek študentov a na základe skúseností pri výučbe. V súčasnosti existuje niekoľko systémov, alebo programov na tvorbu a generovanie testov. Tieto však nebývajú spravidla bezplatné a nie je ich možné modifikovať podľa vlastných požiadaviek. Hlavnou výhodou online systému WTest je jeho jednoduchá integrácia do akýchkoľvek webových stránok a možnosť okamžitej modifikácie podľa potrieb na neho kladených. Ďalšou z hlavných výhod je, že systém využíva voľne dostupné, bezplatné webové technológie. V súčasnosti v celom svete nastáva trend prudkého rozvoja webových aplikácií a to hlavne z dôvodu ochrany autorských práv. Dôvodom je že klasické softvérové programy, či už operačné systémy, alebo akýkoľvek iný klasický softvér nie je v dnešnej dobe možné ochrániť a ošetriť z hľadiska autorských práv. Online webový systém WTest pre tvorbu a generovanie testov, je jedným z príkladov využitia webových aplikácií. No vývoj týmto smerom postupuje rýchlo a do popredia sa začínajú dostávať nové technológie ako Flash, Silverlight, ktoré umožňujú komplexné riešenia v oblasti webových aplikácií. [4] Použitá literatúra [1] PHP, MySql, [online] [cit. 2007-10.12] Dostupné na internete: http://www.linuxsoft.cz/serialy [2] Siničák V.: Návrh projektu integrovaného informačno výučbového webového portálu s využitým moderných webových technológií. X vedecká konferencia doktorandov SjF TU Košice 2007/20/11. [cit. 2007-10-12]. Dostupné na internete: http://sjf.tuke.sk/novus/papers/543-550.pdf [3] Webové stránky KAaR. [online] [cit. 2007-2-11]. Dostupné na internete: http://web.tuke.sk/sjfkaar [4] Návrh projektu KEGA: Pilotný projekt virtuálneho laboratória pre automatizáciu a riadenie ako súčasť integrovaného výučbového portálu. Podaný na MŠ SR KAaR v septembri 2007. 242