Transfer inovácií 10/2007
2007
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
[email protected] 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 HTML (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ť systéme,
•
jednoduchá tvorba a webové rozhranie,
238
na
platforme testov
a operačnom cez
internet
•
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,
Transfer inovácií 10/2007
2007
•
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 š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),
•
demo
testu
-
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ú HTML stránku.[1] MySql: Relačný databázový systém, ukladá dáta vo forme tabuliek [1]
pre
WTest
VIZUÁL HTML
testovanie študentov bez nutnosti vytvorenia účtu (nie je potrebné prihlasovacie meno a heslo, výhodné pri veľkom počte študentov),
•
KLIENT TEST V TVARE HTML STRÁNKY
SERVER HTML
3. Použité technológie
HTML – hypertextový značkovací jazyk PHP – skriptovací jazyk
•
MySql – databázový relačný systém
HTML: 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 HTML 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ú HTML stránku.
KONTROLA HESLA DYNAMICKÉ VYGENEROVA NIE HTML STRÁNKY
Obr. 3 Využitie PHP v systéme WTest
Na základe požiadaviek a dostupných webových technológií boli použité [Obr. 2]: •
MYSQL
PHP
POŽIADAVKA (GENERUJ TEST)
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).
•
DATABÁZA
Obr. 2 Použité webové technológie
vyhodnotenie testu dvoma spôsobmi (len body a percentá dosiahnuté v teste, alebo vyhodnotenie aj s otázkami a správnymi odpoveďami),
•
APLIKAČNÁ LOGIKA
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:
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
Transfer inovácií 10/2007
2007
•
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 rozhraní •
konfigurácia testu [Obr. 7]
Obr.3 Vstupná časť systému WTest 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 rozhraní
•
správa obsahu testu – tvorba nových otázok, editácia otázok [Obr. 8]
Obr.4 Administrátorské rozhranie systému WTest 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
240
Obr.8 Správa obsahu testov v administrátorskom rozhraní
Transfer inovácií 10/2007
c)
2007
Testovacie rozhranie:
Formou HTML 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 HTML môže získať pomerne ľahko prístup k informáciám v databáze, či dokonca všetko zmazať.
241
Transfer inovácií 10/2007
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
2007
-
-
-
autorizácia heslom (unikátne, náhodné generované heslo, ktoré sa generuje v administračnom rozhraní), 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).
Kontrola - heslom
3.
Záver Kontrola – IP adresou Kontrola – bez kontroly
2.
1.
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.
2.
3.
podmienka – musí byť aktivované zobrazenie testu v zozname testov administrátorom (tvorcom testu), z administrátorského rozhrania podmienka – test musí byť aktivovaný administrátorom (tvorcom testu) z administrátorského rozhrania podmienka – v závislosti na nastavení testu v konfiguračnom menu musí byť splnená autorizácia a to:
Použitá literatúra [1] PHP, MySql, HTML [online] [cit. 200710.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
242
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]
[3] Webové stránky KAaR. [online] [cit. 20072-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.