České vysoké učení technické v Praze Fakulta elektrotechnická
ˇ VUT FEL katedra pocˇı´tacˇu˚ C
Semestrální práce do předmětu 36SCP
Usability test Aplikace Agility Vlastimil Kozelka
Obsah 1 Usability test 1.1
1
Popis uživatele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.1.1
Skeletony . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.1.2
Persony . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
Usability test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.2.1
Určení cíle a kostry testu . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.2.1.1
Cíle testu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.2.1.2
Základní seznámení s aplikací . . . . . . . . . . . . . . . . . . .
3
1.2.1.3
Rámcový seznam úkolů . . . . . . . . . . . . . . . . . . . . . .
4
1.2.1.4
Seznam úkolů včetně optimálního průchodu . . . . . . . . . . .
4
1.3
Výběr účastníků . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
1.4
Nastavení testu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
1.5
Zkušební test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
1.6
Testování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
1.7
Zpracování výsledků testu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
1.7.1
Krátké shrnutí . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
1.7.2
Úvod
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
1.7.3
Účastníci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
1.7.4
Nastavení testu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
1.7.5
Shrnutí úkolů a jejich analýza . . . . . . . . . . . . . . . . . . . . . . . .
11
1.7.5.1
Dotazník před testem . . . . . . . . . . . . . . . . . . . . . . .
11
1.7.5.2
Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
1.7.5.3
Dotazník po testu . . . . . . . . . . . . . . . . . . . . . . . . .
12
Shrnutí testu a doporučení . . . . . . . . . . . . . . . . . . . . . . . . .
13
1.2
1.7.6
2 Dotazník pro usability test aplikace Agility 1.1.0
14
2.1
Dotazník před testem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
2.2
Úkoly testu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
2.3
Dotazník po testu
19
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ii
KAPITOLA 1. USABILITY TEST
1
1 Usability test 1.1
Popis uživatele
Při návrhu aplikace je nutné se důkladně seznámit s uživatelem, pro kterého je aplikace navrhována. 1.1.1
Skeletony
Na základě rozhovorů s uživateli jsem se rozhodl k rozdělení uživatelů aplikace do dvou skupin. Michal • 21 let, svobodný • bydlí v Kladně • studuje Fakultu architektury ČVUT • obdivuje moderní věci a design, nemá ale rád složitou elektroniku • rád navrhuje rekonstrukce domů pro své přátele • počítač používá pro běžné kancelářské práce, složitější výpočty v Excelu provádí na kalkulačce • v technických věcech mu radí bratr • elektronice příliš nedůvěřuje, podceňuje své schopnosti při práci s počítačem • ve volném čase se věnuje cyklistice Pavla • 42 let, vdaná • bydlí v Kladně • pracuje jako SW inženýrka • příležitostně programuje jednodušší programy pro své přátele • fandí novým technologiím • sama spravuje vlastní webový server, ráda se učí nové věci • počítač ráda využívá i ve volných chvílích pro ulehčení každodenních činností (organizér, kontakty na přátele, domácí účetnictví příjmů a výdajů) • ve volném čase ráda cvičí svého psa a pomáhá v klubu 1.1.2
Persony
1. persona
Jméno: Michal Věk: 21 let Pohlaví: muž Bydliště: Kladno
KAPITOLA 1. USABILITY TEST
2
Michal se po studiu všeobecného gymnázia rozhodl využít svého talentu ke studiu architektury a stavitelství na ČVUT v Praze. Nyní navštěvuje druhý ročník. Michal se dlouze rozpovídal, co ho ve škole baví a proč si zvolil tento obor. Ve svém volném čase rád sleduje novinky ve světe motorismu, žádná novinka jeho oblíbených značek BMW a Audi mu neunikne. S nadšením komentuje nové designové prvky automobilů. Na druhou stranu novinkám ve světě elektroniky příliš nefandí. Nejraději používá svůj jednoduchý mobilní telefon – převážně na posílání SMS zpráv. Když už se odhodlá ke koupi nějakého přístroje, většinou si nechá poradit od bratra a kamarádů. Například nedávno si koupil pěkný MP3 přehrávač, bez kterého byste ho těžko potkali. K počítačům se také staví spíše odmítavě, bere je jako nutné zlo současnosti. Na druhou stranu ale velmi rychle přišel na chuť programu ICQ, protože může snadněji a rychleji komunikovat s přáteli. Také se sám naučil s programem ArchiCAD, ve kterém si ve volných chvílích kreslí a zařizuje svůj dům snů. Občas mívá problémy s používáním běžných kancelářských programů, které řeší po svém. Třeba složitější vzorce v Excelu počítá na kalkulačce anebo si tabulku vytiskne a vyplňuje ji ručně. Naopak si ale na počítači oblíbil jeho multimediální funkce. Velice rád poslouchá MP3 a sleduje filmy. Ve volném čase byste Michala nejspíše potkali na kole brázdícího okolí svého rodného města. S přehledem zná každou cestičku a zkratku. I když orientace v mapách mu nedělá problémy, většinou byste je u něho hledali marně. Spíše spoléhá na svůj instinkt a orientaci v přírodě. Pokud se ho zeptáte, proč si vybral zrovna tuhle cestu, odpoví Vám, že neví. Prostě se mu líbila :-) 2. persona
Jméno: Pavla Věk: 42 let Pohlaví: žena Bydliště: Kladno
Pavla pracuje jako softwarová inženýrka ve firmě Honeywell. Práce ji velmi baví, i když ji věnuje i hodně svého volného času. Často je také nucena cestovat za klienty nejen po různých místech v Čechách, ale i po Evropě. Před časem si sama vybrala a koupila obyčejný server, na kterém nyní běží webové stránky jejich klubu. S obrovským zájmem mi povídá o výhodách Linuxu, i když po chvíli rozhovor sklouzne i na řešení několika problémů, na které Pavla narazila při přenosu www stránek z jiných serverů na vlastní. Kromě menších úprav webových stránek se také občas píše drobné programy pro své známé a kamarády, kterým se snaží ušetřit práci. Nedávno vytvořila pro známé jednoduché domácí účetnictví. Také s nadšením přímo hltá nové technologie. Sleduje dění v oblasti mobilních telefonů, notebooků a také softwarového vybavení. Veškeré kontakty a data schůzek má uloženy v notebooku. Vyhovuje jí, že je může synchronizovat se svým mobilním telefonem a kdykoliv si vzpomene na něco důležitého, může si to poznamenat, aniž by musela zapínat počítač.
KAPITOLA 1. USABILITY TEST
3
Pokud má o víkendu čas, nejraději je venku se svým psem. Často chodí na dlouhé procházky, které její pes miluje. Jindy zajde na cvičák a společně s kamarády trénují psy na závody. Při závodech většinou dosahuje se svým psem výborných umístění. Velice ji baví pomáhat při organizaci závodů.
1.2
Usability test
Usability test lze rozdělit do několika následujících částí. 1. Určení cíle a kostry testu 2. Výběr účastníků 3. Nastavení testu 4. Zkušební test 5. Testování 6. Zpracování výsledků 1.2.1 1.2.1.1
Určení cíle a kostry testu Cíle testu
Aplikace Agility umožňuje kompletní organizaci psích závodů od registrace soutěžních týmů na vybrané disciplíny až po výsledkové listiny závodů. Cílem testu je zjistit, zda aplikace skutečně podporuje jednotlivé fáze závodu tak, jak uživatelé potřebují. • Budeme sledovat, zda uživatelé nemají problémy s používáním systému v jednotlivých fázích závodu. • Budeme sledovat, jak uživatelé zadávají data v ComboBoxech. Zda pomocí klávesnice postupným psaním anebo pomocí myši z rolovací nabídky. 1.2.1.2
Základní seznámení s aplikací
Představte si, že chcete pořádat závody agilit a tento program Vám může pomoci s jeho organizací. Jednotlivé úkoly Vás postupně provedou jednotlivými fázemi závodu od vypsání nového závodu až po výsledkové listiny. Každé závody se mohou skládat z mnoha jednotlivých disciplín dle přání pořadatele, typu závodu atd. Jednotliví psovodi a psi tvoří týmy, které se přihlašují na disciplíny. Před závodem probíhá prezence, během které většina psovodů zaplatí startovné za své týmy. Poté jsou týmům přiřazena startovní čísla. Po dokončení prezence následuje tvorba startovních listin, nejprve automatická, podle předem daných pravidel. Dále je může pořadatel závodu dle vlastního uvážení změnit. Poté následují jednotlivé běhy psovodů se svými psy v disciplínách. Výsledky jednotlivých běhů je možno načítat z časomíry a následně v případě potřeby editovat anebo zadávat ručně dle údajů z pomocné časomíry. Po skončení disciplíny je možné zobrazit, vytisknout anebo vyexportovat výsledkovou listinu. Na závěr závodu je nutné zkontrolovat, zda všichni psovodi řádně zaplatili startovné za své týmy. Dále máte jako pořadatel povinnost vypočítat a zaplatit odvody za proběhlý závod Klubu agilit.
KAPITOLA 1. USABILITY TEST 1.2.1.3
4
Rámcový seznam úkolů
1. Zadejte nový závod 2. Vypište disciplíny pořádané v rámci tohoto závodu 3. Registrujte několik týmů na vybrané disciplíny 4. Proveďte prezenci Vámi zvolených týmů 5. Vygenerujte startovní listiny 6. Proveďte editaci startovní listiny – prohoďte pozici 1. a 3. týmu 7. Zobrazte startovní listinu 8. Organizujte závod – postupně projděte prezentované týmy a vyplňte jim výsledky 9. Zobrazte a uložte do PDF souboru výsledkovou listinu vybrané disciplíny 10. Vytvořte a zobrazte souhrnnou výsledkovou listinu 11. Zkontrolujte, zda všichni psovodi zaplatili (doplatili) startovné 12. Vypočtěte odvody pro Klub Agilit 1.2.1.4
Seznam úkolů včetně optimálního průchodu
1. Zadejte nový závod Optimální průchod: Uživatel pomocí tlačítka z menu otevře dialog Zadání nového závodu. Je nutné zadat název závodu a datum závodu a registrace. Také doporučuji vyplnit i částky startovného, jinak bude později chybně vypočteno. Startovné je samozřejmě možno doplnit i později. Po uzavření dialogu je nutno v liště pomocí ComboBoxu nastavit závod na právě zadaný. 2. Vypište disciplíny pořádané v rámci tohoto závodu Optimální průchod: Uživatel otevře okno Seznam pořádaných disciplín z menu Administrace závodu. Každý řádek odpovídá jedné vypsané disciplíně. K vypsání nové disciplíny stačí přidat nový řádek se správnými údaji. Na závěr vše uloží. 3. Registrujte několik týmů na vybrané disciplíny Optimální průchod: Uživatel otevře okno Registrace na závod z menu Administrace závodu. Pokud si uživatel přeje přidat nový tým, postupně vybere psovoda, psa a disciplínu. Dále dle potřeby upraví datum registrace. Na závěr uživatel stiskne tlačítko Přidej tým. Pokud není pes, psovod anebo disciplína ještě zadána, stačí stisknou příslušné tlačítko napravo od ComboBoxu. Otevře se dialogové okno pro zadání potřebných dat. Po ukončení dialogu dojde k doplnění nově zadaných dat do ComboBoxu. Registrace lze zrušit tím, že se vymaže příslušný řádek v tabulce v dolní polovině okna. Na závěr vše uloží. 4. Proveďte prezenci Vámi zvolených týmů Optimální průchod: Uživatel otevře okno Prezence týmu z menu Administrace závodu. Nyní uživatel vybere psovoda, u jehož týmů si přeje provést prezenci. Registrované týmy se zobrazí v tabulce pod tím. U všech týmů, které se dostavily k prezenci, zaškrtne uživatel checkbox prezence. Na závěr provede výpočet startovného pro zvoleného psovoda. V dialogu dále zadá, jakým způsobem bylo startovné uhrazeno (zcela, částečně, vůbec). Po odsouhlasení dialogu jsou týmům přiřazena startovní čísla. Na závěr vše uloží.
KAPITOLA 1. USABILITY TEST
5
5. Vygenerujte startovní listiny Optimální průchod: Uživatel otevře okno Generování startovních listin z menu Administrace závodu. V okně se zobrazí veškeré vypsané disciplíny v aktuálním závodě. Pokud je disciplína vygenerována korektně, je zaškrtnut checkbox Výsledek kontroly, v opačném případě Generovat. Vybrané listiny se vygenerují stiskem tlačítka Proveď. 6. Proveďte editaci startovní listiny – prohoďte pozice 1. a 3. týmu Optimální průchod: Uživatel otevře okno Editace startovních listin z menu Administrace závodu. V okně provede volbu disciplíny, u které si přeje provést editaci. Provede výběr týmu na 3. pozici a 2x stiskne tlačítko Posun výše – tím se dostane na 1. pozici. Nyní vybere tým na 2. pozici a posune jej o 1 místo dolů stiskem tlačítka Posun níže. Prohození lze analogicky provést i opačným postupem. Na závěr vše uloží. 7. Zobrazte startovní listinu Optimální průchod: V menu Sestavy uživatel vybere položku Startovní listiny. Nyní provede výběr disciplíny. 8. Organizujte závod – postupně projděte prezentované týmy a vyplňte jim výsledky Optimální průchod: Uživatel otevře okno Organizace závodu z menu Administrace závodu. Nejdříve vyberte disciplínu, jejíž závod proběhne. Poté se zobrazí seznam přihlášených týmů. Postupným výběrem řádků uživatel projde všechny týmy a vyplní jejich výsledky v závodě. Na závěr vše uloží. 9. Zobrazte a uložte do PDF souboru výsledkovou listinu vybrané disciplíny Optimální průchod: V menu Sestavy uživatel vybere položku Obyčejné výsledkové listiny. Nyní provede výběr disciplíny. Export do PDF souboru se provede stisknutím tlačítka uložit v levém horním roku okna. Nyní uživatel zvolí jméno souboru a jako typ zvolí PDF. 10. Vytvořte a zobrazte souhrnnou výsledkovou listinu Optimální průchod: V menu Sestavy uživatel vybere položku Souhrnné výsledkové listiny. Uživatel nyní stiskne tlačítko Nová listina, v dialogu zadá její název. Poté pomocí přidávání řádků do tabulky v dolní části formuláře vybereme jednotlivé disciplíny v požadovaných závodech, jejichž výsledky chceme sečíst. Váhu jednotlivých závodů je možno upravit koeficienty napravo. Výslednou listinu zobrazí uživatel stisknutím tlačítka náhled. 11. Zkontrolujte, zda všichni psovodi zaplatili (doplatili) startovné Optimální průchod: V menu Administrace závodu uživatel vybere položku Seznam zaplaceného startovného. V tabulce se zobrazí seznam všech zúčastněných psovodů a v pravém sloupci je možno si zkontrolovat výši nedoplatku. 12. Vypočtěte odvody pro Klub Agilit Optimální průchod: V menu Administrace závodu uživatel použije nejdříve položku Parametry v podmenu Odvody. Pomocí tohoto dialogu správně nastaví výše poplatků. Dále pomocí funkce Výpočet ze stejného menu dojde k zobrazení celkové částky. Pokud si uživatel přeje zobrazit detailnější rozpis po disciplínách, použije položku Detailní rozpis.
KAPITOLA 1. USABILITY TEST
1.3
6
Výběr účastníků
Výběr účastníků na test provedu pomocí jednoduchého screeneru. Veřejná část: 1. Používáte počítač – Ano / Ne 2. Jak často používáte počítač – Denně / Několikrát týdně / Občas 3. Jaké činnosti provádíte na počítači nejčastěji – Přistup na internet / Kancelářské aplikace / Hry / Programování / Jiné 4. Máte zkušenosti s prací v tabulkovém procesoru (Excel) – Ano / Částečně / Ne 5. Zúčastnili jste se někdy závodů agilit? – Vícekrát / Jedenkrát / Nikdy 6. Pomáhali jste se někdy organizovat závod? – Vícekrát / Jedenkrát / Nikdy Neveřejná část: Počet účastníků testu: 4 1. Ano – 4, Ne – 0 2. Denně – 2, Několikrát týdně – 1-2, Občas – 0-1 3. Kancelářské aplikace – 1, Přístup na internet – 1, Programování – 1, Hry – 0-1, Jiné – 0-1 4. Ano – 2, Částečně – 1, Ne – 1 5. Vícekrát – 1-2, Jednou – 1-2, Nikdy – 0-1 6. Vícekrát – 1-2, Jednou – 0-1, Nikdy – 2
1.4
Nastavení testu
• test bude probíhat v přirozeném (domácím) prostředí uživatele • hardwarové vybavení bude notebook s 15 palcovým displejem, procesor Intel C2D T5600, 1GB RAM • softwarové vybavení – Windows XP SP2 s nainstalovaným JRE 1.6 update 3, verze testované aplikace Agility 1.1.0, MySQL server verze 5.37 • časomíra během testu nebude použita z důvodů jejího obtížného přepravování (rozměry, citlivost zařízení, atd.) • během testu bude přítomný uživatel a moderátor, který bude zároveň zastávat funkci loggera • moderátor bude sedět vpravo za uživatelem, aby dobře viděl na displej a zároveň nerušil uživatele • z technických důvodů nebude pořízen žádný záznam, logger se soustředí na zaznamenávání problémů uživatele
KAPITOLA 1. USABILITY TEST
1.5
7
Zkušební test
Zkušební test proběhl v konfiguraci, která je popsána v předchozí podkapilole 1.4. Byla odzkoušena funkčnost MySQL serveru a JRE. Bylo otestováno správné načtení počátečního nastavení testu. Veškerá data jsou uložena v databázi, vždy před startem testu se provede obnovení databáze ze zálohy. Test obnovení zálohy proběhl úspěšně. V dalším popisu budu chyby dělit do 3 skupin podle závažnosti • kritické obsahuje chyby, které znemožňují uživateli pokračovat v práci, nebo dostane chybný výsledek • omezující nějakým způsobem omezují nebo zpomalují uživatele v práci. Výsledek je ale v pořádku na rozdíl do kritických chyb • vylepšení návrhy na vylepšení aplikace, které by dokázaly zpříjemnit a zjednodušit práci uživatele Během zkušebního testu bylo odhaleno v aplikaci několik chyb. Kritické chyby: 1. Chybné výsledkové listiny – nedojde k diskvalifikaci týmů, které překročily maximální počet odmítnutí anebo maximální čas. Navrhované řešení: Doplnění automatické diskvalifikace i do ručního zadávání výsledků běhu. 2. Chybné přiřazení startovního čísla týmům. Pokud uživatel zadá číslo nějakého týmu ručně, dalšímu týmu je přiřazeno startovní číslo -1. Navrhované řešení: Oprava chyby v SQL proceduře, která přiděluje čísla týmům. Omezující chyby: 1. Při posunu řádků v tabulce pomocí navigačních tlačítek nedochází k posunu rolovacího prvku. Uživatel tedy nemusí vidět aktuálně vybraný řádek, což může uživatele zmást. Navrhované řešení: Implementace automatického posunu rolování. 2. Dialog hledání – lze vyhledávat pouze přesné fráze. Navrhované řešení: Implementace dalších možností do dialogu vyhledávání. 3. Validátor pole datum chybně označí platné datum ve zkráceném zápisu (např. 31.12.) jako neplatné. Uživatel musí zadat datum včetně roku anebo bez tečky za 12. Navrhované řešení: Doplnění krátkého formátu do validátoru, aby jej uznával jako platnou hodnotu. Všechny kritické chyby byly před vlastním testem opraveny a otestována funkčnost aplikace. Dále došlo k přeformulaci několika zadání úkolů, aby byly srozumitelnější pro uživatele. Pro podrobný zápis případného problému uživatele by bylo vhodné zařadit mezi jednotlivými úkoly malou pauzu, kterou uživatel využije k vyplnění dotazníku.
KAPITOLA 1. USABILITY TEST
1.6
8
Testování
Usability test proběhl ve stejné konfiguraci jako zkušební test. Během testu se nevyskytly žádné technické problémy. Zjištěné problémy jsem opět rozdělil do několika skupin podle závažnosti. Kritické chyby: 1. V seznamu vypsaných disciplín lze vypsat disciplínu i na jiný než aktuální závod. Uživatele mate, že lze tuto hodnotu změnit. V případě změny může dojít k chybám při dalším zpracování dat. Navrhované řešení: Změnit sloupec na read-only anebo jej zcela odstranit z tabulky. Ostatní chyby a problémy: 1. Uživatel se snaží smazat záznam z tabulky před tím, než zapne Editovací mód. Navrhované řešení: Možná by pomohl přesun menu k hornímu okraji okna. 2. Uživatel hledá kontextové menu na smazání záznamu, nevšiml si tlačítka dole v menu. Navrhované řešení: Přidání jednoduchého kontextového menu, případně reakci na klávesu delete. 3. Dialogy nereagují na klávesu Enter, uživatel musí klepnout myší na OK. Navrhované řešení: Doplnění reakce na klávesy Enter pro potvrzení a Esc pro zrušení. 4. Každé editované pole je nutné potvrdit pomocí Enteru nebo jej opustit jiným způsobem (tab, myš, atd.), jinak se neuloží. Navrhované řešení: Uživatel musí potvrdit prováděné změny. Veškeré validace dat se provádějí až při ukončení editace pole. Povolením uložení během editace by se mohla uložit neplatná data. Navrhovaným řešením tedy může být buď deaktivací tlačítka pro uložení během editace pole – možné problémy uživatele, proč je tlačítko pro uložení záznamu neaktivní a co udělat proto, aby šlo použít. Lepším řešením by asi bylo automatické ukončení editace pole. Pokud by ale vložená data nebyla validní, zrušit operaci uložení. 5. Špatně čitelné popisky v dialogu pro zadání nového závodu, splývají s pozadím. Navrhované řešení: Změna barvy fontu popisku. 6. Dialog funkce uložit v dialogu Nový závod nevrátí žádnou odpověď o výsledku operace. Navrhované řešení: Doplnění zprávy informující o výsledku uložení nového závodu. 7. Uživatel váhá, která pole jsou povinná. Pokud některé nevyplní, dostává oznámení o neošetřené výjimce a zprávu SQL serveru o porušení not null integritního omezení. Pokud uživatel není odborníkem na databáze, je zmaten a neví, zda on se dopustil chyby nebo nastala chyba v programu. Navrhované řešení: Nahrazení zprávy o neošetřené výjimce zprávou informující uživatele, že zapomněl vyplnit povinné pole. 8. Uživatel se pokusil odstranit disciplínu, na kterou je registrován tým. Dostává oznámení o neošetřené výjimce a zprávě z SQL serveru o porušení integritního omezení cizího klíče. Pokud uživatel není odborníkem na databáze, je zmaten a neví, zda on se dopustil chyby anebo nastala chyba v aplikaci. Uživatel tuto zprávu o výjimce dostane vždy, když se pokusí odstranit záznam, na který jsou navázány jiné pomocí cizích klíčů.
KAPITOLA 1. USABILITY TEST
9
Navrhované řešení: Nahrazení zprávy o neošetřené výjimce zprávou informující uživatele, že se snaží odstranit záznam, ke kterému jsou navázána další data. Další možností by bylo povolení cascade delete, ale myslím, že je to i příliš nebezpečné. Uživatel by mohl snadno odstranit velké množství dat, aniž by si uvědomil, cože to vlastně dělá a zda toto chtěl provést. 9. Uživatel až po upozornění začal využívat možnost výběru položky v ComboBoxu postupným psaním. Navrhované řešení: Bylo by možné upozornit uživatele o této funkčnosti předem. Další možností je přidání kontextové nápovědy ke všem ComboBoxům. Pokud by se ale nápověda zobrazovala příliš často, mohla by zkušenější uživatele obtěžovat. 10. Uživatele při registraci týmů matou popisky na tlačítkách Přidej tým a Ulož týmy. Navrhované řešení: Přejmenování popisku Ulož týmy na Ulož provedené změny. 11. Při výběru jiného psovoda při registraci týmů zmizí seznam již registrovaných týmů předchozího psovoda. Uživatel je zmaten, zda se již zadané týmy uložily anebo ztratily. Navrhované řešení: Přidání popisku nad seznam týmů vybraného psovoda, který bude uživatele informovat o tom, že se zobrazují pouze týmy zvoleného psovoda a ne všechny zaregistrované týmy. 12. Příliš dlouhá zpráva v dialogu při novém generování startovní listiny. Zpráva o ztrátě ručních modifikací listiny je až ve druhé větě a většina uživatelů ji přehlédne a provede nové generování listin. Navrhované řešení: Přesun informace o ztrátě ručních modifikací ihned na začátek dialogu. Další funkce, které by uživatelé uvítali: 1. Uživatel kliká na záhlaví tabulky a očekává řazení záznamů dle zvoleného sloupce. Navrhované řešení: Doplnění této funkčnosti do aplikace. 2. Uživatel očekává, že lze vyhledávat i libovolné podřetězce v polích a ne jen přesné fráze. Dále by bylo užitečné vyhledávat pouze ve zvoleném sloupci. Navrhované řešení: Doplnění rozšířených možností do dialogu pro vyhledávání. 3. Uživatel dlouho vyhledává tlačítko na ovládacím panelu, občas klikne vedle. Navrhované řešení: Doplnění ikon do ovládacího panelu by usnadnilo a urychlilo nalezení správného tlačítka.
1.7 1.7.1
Zpracování výsledků testu Krátké shrnutí
• Na test se dostavili všichni účastníci. • Testy s jednotlivými uživateli se bohužel trochu protáhly, takže jsem neměl žádnou přestávku, kterou bych mohl využít na poznamenání dalších detailů. • Protože jsem nenahrával žádný záznam z průběhu testů, musel jsem velice rychle a heslovitě zaznamenávat problémy uživatelů.
KAPITOLA 1. USABILITY TEST
10
• V aplikaci byla nalezena jedna kritická chyba a několik méně závažných, které obtěžují uživatele a znepříjemňují jim práci. • Nejvíce uživatelé váhali, které pole jsou povinná a nejasnost následné chyby, pokud některé povinné pole zůstane nevyplněno. Tento problém je umocněn faktem, že chyba je odhalena až při uložení změn a nemusí být tedy v posledním editovaném řádku. • Test nedokázal odpovědět na otázku vyhledání správného záznamu v ComboBoxu. Předpoklad, že uživatelé budou spíše používat vyhledávání požadovaného záznamu pomocí postupného psaní, se nepotvrdil. Toto by pravděpodobně bylo možné posoudit až po delším užívání aplikace. 1.7.2
Úvod
Cílem testu bylo zjistit, zda uživatelé bez složitého školení dokáží ovládat program pro pořádání psích závodů. Test postupně prochází všechny důležité fáze závodu a snaží se zmapovat případné problémy. Protože jsem dost času při vývoji aplikace věnoval implementaci ComboBoxů, zajímalo mě, zda uživatelé budou chtít využívat tyto možnosti. A zda má cenu věnovat další úsilí vylepšování této implementace. 1.7.3
Účastníci
Požadovaný profil: • lidé v produktivním věku • lidé okrajově/většinově používají techniku (nejlépe počítače) • lidé zajímající/nezajímající se o moderní technologie • lidé aktivně/pasivně zajímající se o psí závody • ženy/muži Skutečný profil: • 4 osoby • 1. osoba – muž, student, zajímající se o nové technologie, má základní znalosti o průběhu psích závodů • 2. osoba – muž, student, nedůvěřuje novým technologiím, má zkušenosti v pořádání psích závodů, aktivně se podílí na výcviku svého psa • 3. osoba – žena ve středním věku, pracující jako analytik, zájem o nové technologie, pravidelně ve svém zaměstnání používá počítač, pravidelně se účastní psích závodů. • 4. osoba – muž ve středním věku, pracující jako dělník, s počítači přichází v zaměstnání do styku výjimečně, novým technologiím příliš nedůvěřuje, aktivně se podílí na pořádání závodů 1.7.4
Nastavení testu
Test proběhl přesně podle nastavení popsaném výše v podkapitole 1.4.
KAPITOLA 1. USABILITY TEST 1.7.5
11
Shrnutí úkolů a jejich analýza
1.7.5.1
Dotazník před testem
1. Jaká je vaše role při pořádání závodu? Pořadatel závodu (2), závodník (2) 2. Jak dlouho jste v kontaktu se závody agilit? Několik let (2), první rok (1), zatím ne (1) 3. Jak často se účastníte závodů agilit? Několikrát do měsíce (1), každý měsíc (1), několikrát za rok (1), vůbec (1) 4. Jaké úkoly během závodu řešíte nejčastěji? Většina účastníků testu, kteří někdy již závod pořádali, se shodla, že nejvíc práce je s vytvářením a úpravami startovních listin. Dalším úkolem je ruční přepisování výsledků běhu z časomíry do počítače anebo na papír, přičemž občas dochází k chybám. Účastníci se shodli, že automatický přenos dat z časomíry do počítače by tyto chyby dokázal eliminovat. 1.7.5.2
Test
1. Představte si, že jste pořadatelem jednodenního Silvestrovského psího závodu. Registraci z organizačních důvodů povolíte pouze do 30.12. Výši startovného stanovíte dle vlastního uvážení. Problémy uživatelů na návrhy na zlepšení: V dialogu není zcela jasné, které položky jsou povinné. Dále uživatelé navrhují změnu barvy popisku pro zvýšení čitelnosti. Uživateli chybí zpětná vazba o výsledku operace uložení. 2. Jako pořadatel jste se rozhodl, že vypíšete pouze disciplíny Agility SMALL, Agility MEDIUM a Agility LARGE. Rozhodčí a další parametry dráhy zvolte dle vlastního uvážení. Problémy uživatelů na návrhy na zlepšení: Uživatel má problémy s najitím správné položky v menu, nejdříve projde menu Nové, poté ale najde správnou položku. Problém s aktivací editovacího menu, uživatel se nejdříve chvíli snaží zadat data v read-only módu. Dále je uživatel zmaten sloupcem Název závodu a tím, že lze změnit – návrh na jeho odstranění. 3. Nyní jste od kolegy dostal seznam týmů, které se na závod registrovaly telefonicky, mailem anebo poštou. Máte za úkol registrovat tyto týmy do aplikace. Problémy uživatelů na návrhy na zlepšení: Uživatelé jsou zmateni tím, že po výběru jiného psovoda zmizí již registrované týmy v dolní části okna. Neví, zda nedošlo ke ztrátě dat. Návrh na doplnění této informace do popisku v okně. Dále uživatelé zcela nepochopili, co znamená funkce Pouze psi v týmu s psovodem. 4. Je ráno před závodem. Závodní dráhy jednotlivých disciplín jsou připraveny, účastníci závodu se pomalu dostavují a požadují přidělení startovních čísel a zaplacení startovného. Postupně provedete prezenci všech týmů kromě psa Lískulky psovoda Tomáše Fuka. Problémy uživatelů na návrhy na zlepšení: Uživatel nejdříve zadává startovní číslo ručně, není zřejmé, že po zaplacení startovného bude přiřazeno automaticky.
KAPITOLA 1. USABILITY TEST
12
5. Po ukončení prezence máte za úkol vygenerovat startovní listiny pro jednotlivé disciplíny. Problémy uživatelů na návrhy na zlepšení: Uživatelé nenarazili na žádné problémy. 6. Během prezence Vás psovod Pavel Žák žádal o posunutí na první místo startovní listiny disciplíny Agility MEDIUM. Problémy uživatelů na návrhy na zlepšení: Uživatel narazil na problém při použití funkce Generuj znova. A to při odsouhlasení – zpráva je moc dlouhá a informace o ztrátě ručních změn je až ve druhé větě. Uživatel navrhl přeformulaci této zprávy. 7. Nyní je těsně před startem disciplíny Agility MEDIUM a jednotliví psovodi Vás žádají o nahlédnutí do startovní listiny. Problémy uživatelů na návrhy na zlepšení: Uživatelé nenarazili na žádné problémy. 8. Začíná závod disciplíny Agility MEDIUM. Postupně proběhnou všichni závodníci dle pořadí na startovní listině. Protože je ale automatická časomíra rozbitá, výsledky jednotlivých běhů musíte bohužel zadávat ručně – vymyslete si je :-). Problémy uživatelů na návrhy na zlepšení: Uživatelé narazili na problém nefunkčnosti automatické diskvalifikace týmu, pokud tým překročí maximální počet odmítnutí nebo maximální čas. 9. Po skončení disciplíny potřebujete zobrazit výsledkovou listinu a poskytnout ji ve formátu PDF psovodům. Problémy uživatelů na návrhy na zlepšení: Uživatelé nenarazili na žádné problémy. 10. Nyní po vás psovodi požadují informaci o tom, jak dopadli v součtu posledních dvou závodů. Vytvořte tedy souhrnnou listinu, která bude zahrnovat disciplínu Agility MEDIUM ze Silvestrovského a Testovacího závodu. Problémy uživatelů na návrhy na zlepšení: Uživatel má menší problémy s najitím správné položky v menu. Ve vlastním dialogu chvíli váhá nad významem koeficientů. Doporučuje doplnění podrobnějších informací do nápovědy. 11. Nyní jako pořadatel závodu chcete zkontrolovat, zda všichni psovodi zaplatili startovné v plné výši. Problémy uživatelů na návrhy na zlepšení: S vlastní kontrolou nemají uživatelé problém, ale v případě doplatku nezjistí, že je lze doplatit dvojklikem na buňku ve sloupci rozdíl. Doplatek rozdílu uživatel zadal pomocí dialogu Prezence na závod. Uživatelé navrhují zřetelně označit, že tato buňka je aktivní na dvojklik. 12. Po ukončení závodu máte jako pořadatel povinnost zaplatit odvody Klubu agilit. Vypočtěte celkovou částku odvodů. Problémy uživatelů na návrhy na zlepšení: Uživatel jde ihned na sestavu odvodů. Poté, co dostane výsledek nula, začne pátrat v menu a najde položku s nastavením parametrů odvodů. Po vyplnění správných částek za odvody je již vše v pořádku. Uživatel navrhuje doplnit upozornění, že nejsou nastaveny parametry odvodů. 1.7.5.3
Dotazník po testu
1. Líbí se Vám aplikace Agility? Většině účastníků testu se aplikace i přes nalezené problémy líbila, ohodnotili ji známkou 2.
KAPITOLA 1. USABILITY TEST
13
2. Vyhovuje Vám ovládání aplikace? Zde většina účastníků narazila na fakt, že po spuštění dialogu je zobrazená tabulka ve stavu read-only. Uživatelé se nejdříve snažili poklepáním na různé místa v tabulce pole editovat a až poté si uvědomili, že nejdříve musí přejít do editovacího módu. Na druhou stranu to ale považují za dobrý způsob, jak ochránit data před nechtěnými změnami. Přikláněli by se ale ke zvýraznění tlačítka Editovat. Ovládání aplikace ohodnotili známkami 2 nebo 3. 3. Jsou jednotlivé položky umístěny a pojmenovány tak, jak jste předpokládali? Pokud ne, napište prosím návrhy na vylepšení. V tomto bodě se uživatelé po projití menu shodli, že položky jsou umístěny logicky a ve většině případů na místě, kde je očekávali. U několika položek by možná uvažovali o přejmenování, aby lépe vystihovaly funkci, kterou provádějí. 4. Které funkce byste vylepšili a jak? Uživatelé se shodli na nutnosti vylepšit dialog pro vyhledávání dat. Dále většina uživatelů upozornila na nepřehlednost ovládacího panelu pro tabulky. Uvítali by přidání ikon a zvýraznění důležitých tlačítek. 5. Co byste do aplikace doplnili, aby více usnadňovala pořádání závodů? Jeden uživatel by uvítal přidání podpory pro tým na celý závod, který by zahrnoval více psů a psovodů. V každé disciplíně by se ale započítaly výsledky jen pro jeden podtým. Další uživatel by uvítal přidání možnosti řazení a filtrování dat ve formulářích. A jeden uživatel by považoval za přínosné tisk sestavy pro odvody v jiném formátu. 1.7.6
Shrnutí testu a doporučení
Doporučoval bych zaměřit se na nalezené chyby a problémy popsané v kapitole 1.6 a 1.7.5.2. U složitějších problémů (označení povinných položek, položek reagujících na dvojklik, editovatelných položek) bych doporučil vybrané řešení před vlastní implementací podrobit dalšímu testu. Tyto problémy lze odstranit různými způsoby popisovanými v navrhovaných řešeních, žádný ale není zcela bez problémů či omezení. Také je nutno dotáhnout implementaci programu, provést další testy jednotlivých částí, aby se odhalil co největší počet chyb před nasazením programu do ostrého provozu.
KAPITOLA 2. DOTAZNÍK PRO USABILITY TEST APLIKACE AGILITY 1.1.0
2 Dotazník pro usability test aplikace Agility 1.1.0 Jméno a příjmení účastníka testu: Datum a čas testu:
2.1
Dotazník před testem
1. Jaká je vaše role při závodu? • Pořadatel, hlavní organizátor • Pomocný organizátor • Závodník • Jiný 2. Jak dlouho jste v kontaktu se závody agilit? • Několik let • První rok • Zatím ne 3. Jak často se účastníte závodů agilit? • Několikrát do měsíce • Každý měsíc • Několikrát za rok • Vůbec 4. Jaké úkoly během závodu řešíte nejčastěji?
14
KAPITOLA 2. DOTAZNÍK PRO USABILITY TEST APLIKACE AGILITY 1.1.0
2.2
15
Úkoly testu
1. Představte si, že jste pořadatelem jednodenního Silvestrovského psího závodu. Registraci z organizačních důvodů povolíte pouze do 30.12. Výši startovného stanovíte dle vlastního uvážení. Narazili jste během provádění úkolu na problémy?, Pokud ano, popište je. Ano – Ne
Co byste na dialogu vylepšili?
2. Jako pořadatel jste se rozhodl, že vypíšete pouze disciplíny Agility SMALL, Agility MEDIUM a Agility LARGE. Rozhodčí a další parametry dráhy zvolte dle vlastního uvážení. Narazili jste během provádění úkolu na problémy?, Pokud ano, popište je. Ano – Ne
Co byste na dialogu vylepšili?
3. Nyní jste od kolegy dostal seznam týmů, které se na závod registrovaly telefonicky, mailem a nebo poštou. Máte za úkol registrovat tyto týmy do aplikace. Psovod Kateřina Adamová Kateřina Adamová Kateřina Adamová Tomáš Fuk Tomáš Fuk Pavel Žák
Pes Belaky Farma štěkot Celestýna z Žižkova města Malý Fousek Čmucháček Lískulka Oříšek
Rasa pyrenejský ovčák čivava kříženec kokršpaněl pudl kříženec
Disciplína Agility MEDIUM Agility MEDIUM Agility SMALL Agility SMALL Agility MEDIUM Agility MEDIUM
Narazili jste během provádění úkolu na problémy?, Pokud ano, popište je. Ano – Ne
Co byste na dialogu vylepšili?
KAPITOLA 2. DOTAZNÍK PRO USABILITY TEST APLIKACE AGILITY 1.1.0
16
4. Je ráno před závodem. Závodní dráhy jednotlivých disciplín jsou připraveny, účastníci závodu se pomalu dostavují a požadují přidělení startovních čísel a zaplacení startovného. Postupně provedete prezenci všech týmů kromě psa Lískulky psovoda Tomáše Fuka. Narazili jste během provádění úkolu na problémy?, Pokud ano, popište je. Ano – Ne
Co byste na dialogu vylepšili?
5. Po ukončení prezence máte za úkol vygenerovat startovní listiny pro jednotlivé disciplíny. Narazili jste během provádění úkolu na problémy?, Pokud ano, popište je. Ano – Ne
Co byste na dialogu vylepšili?
6. Během prezence Vás psovod Pavel Žák žádal o posunutí na první místo startovní listiny disciplíny Agility MEDIUM. Narazili jste během provádění úkolu na problémy?, Pokud ano, popište je. Ano – Ne
Co byste na dialogu vylepšili?
7. Nyní je těsně před startem disciplíny Agility MEDIUM a jednotliví psovodi Vás žádají o nahlédnutí do startovní listiny. Narazili jste během provádění úkolu na problémy?, Pokud ano, popište je. Ano – Ne
Co byste na dialogu vylepšili?
KAPITOLA 2. DOTAZNÍK PRO USABILITY TEST APLIKACE AGILITY 1.1.0
17
8. Začíná závod disciplíny Agility MEDIUM. Postupně proběhnou všichni závodníci dle pořadí na startovní listině. Protože je ale automatická časomíra rozbitá, výsledky jednotlivých běhů musíte bohužel zadávat ručně – vymyslete si je :-). Narazili jste během provádění úkolu na problémy?, Pokud ano, popište je. Ano – Ne
Co byste na dialogu vylepšili?
9. Po skončení disciplíny potřebujete zobrazit výsledkovou listinu a poskytnout ji ve formátu PDF psovodům. Narazili jste během provádění úkolu na problémy?, Pokud ano, popište je. Ano – Ne
Co byste na dialogu vylepšili?
10. Nyní po vás psovodi požadují informaci o tom, jak dopadli v součtu posledních dvou závodů. Vytvořte tedy souhrnnou listinu, která bude zahrnovat disciplínu Agility MEDIUM ze Silvestrovského a Testovacího závodu. Narazili jste během provádění úkolu na problémy?, Pokud ano, popište je. Ano – Ne
Co byste na dialogu vylepšili?
KAPITOLA 2. DOTAZNÍK PRO USABILITY TEST APLIKACE AGILITY 1.1.0
18
11. Nyní jako pořadatel závodu chcete zkontrolovat, zda všichni psovodi zaplatili startovné v plné výši. Narazili jste během provádění úkolu na problémy?, Pokud ano, popište je. Ano – Ne
Co byste na dialogu vylepšili?
12. Po ukončení závodu máte jako pořadatel povinnost zaplatit odvody Klubu agilit. Vypočtěte celkovou částku odvodů. Narazili jste během provádění úkolu na problémy?, Pokud ano, popište je. Ano – Ne
Co byste na dialogu vylepšili?
KAPITOLA 2. DOTAZNÍK PRO USABILITY TEST APLIKACE AGILITY 1.1.0
2.3
19
Dotazník po testu
1. Líbí se vám aplikace Agility? Líbí 1 – 2 – 3 – 4 – 5 Nelíbí 2. Vyhovuje vám ovládání aplikace? Vyhovuje 1 – 2 – 3 – 4 – 5 Nevyhovuje 3. Jsou jednotlivé položky umístěny a pojmenovány tak, jak jste předpokládali? Pokud ne, napište prosím návrhy na vylepšení.
4. Které funkce byste vylepšili a jak?
5. Co byste do aplikace doplnili, aby více usnadňovala pořádání závodů?