APLIKACE IDOS semestrální práce z předmětu Testování uživatelského rozhraní A4B39TUR
Tomáš Jiran ČVUT, FEL 11. března 2013
OBSAH 1. Úvod………………………………………………………………………………………………………………3 1.1 Popis aplikace…………………………………………………………………......... 3 1.2 Popis cílové skupiny uživatelů………………………………………………......... 4 1.3 Popis testovací metody……………………………………………………............. 4 2. Přehled případů užití……………………………………………………………………………............ 5 2.1 Vyhledání spojení mezi dvěma zastávkami………………………………………. 5 2.2 Vyhledání trasy mezi dvěma místy na mapě……………………………………... 5 2.3 Upravení vyhledávání……………………………………………………………… 5 2.4 Zjištění zastávkového jízdního řádu……………………………………………......6 3. Testování případů užití………………………………………………………………………………… 7 3.1 Vyhledání spojení mezi dvěma zastávkami………………………………………. 7 3.2 Vyhledání trasy mezi dvěma místy na mapě……………………………………... 10 3.3 Upravení vyhledávání…………………………………………………………….. 13 3.4 Zjištění zastávkového jízdního řádu……………………………………………… 15 4. Zhodnocení………………………………………………………………………………………………….. 17 4.1 Přehled nálezů a návrh jejich řešení……………………………………………… 17 4.2 Závěr………………………………………………………………………………. 19
1. Uvod 1.1 Popis aplikace Cílem této semestrální práce je otestovat uživatelskou přívětivost rozhraní IDOS pomocí metody cognitive walkthrough (tzv. kognitivní průchod, viz 1.3). Rozhraní IDOS (což je zkratka pro Informační DOpravní Systém) je dostupné na adrese http://jizdnirady.idnes.cz/as/spojeni. IDOS umožňuje uživatelům především rychlé vyhledání dopravního spojení pro různé druhy veřejné hromadné dopravy podle specifikovaných kritérií, jakými jsou například místo a čas očekávaného odjezdu či příjezdu, typ dopravního prostředku nebo číslo hledané linky. Webová verze IDOS tak všem uživatelům poskytuje veřejně dostupný výstup z Celostátního informačního systému o jízdních řádech (CIS JŘ).
Obr. 1: Náhled rozhraní IDOS
1.2 Popis cílové skupiny uživatelů Cílovou skupinou jsou jakékoliv osoby, které si přejí vyhledat informace o dopravním spojení v České republice, a jsou schopni: 1. základně obsluhovat počítač, 2. pracovat s webovým rozhraním, 3. pracovat s mapovou aplikací. Nemusí se tedy jednat pouze o zkušené mladé uživatele, jako studenty, ale i například o starší věkovou generaci, která nemusí mít s prací s webovými rozhraními velké zkušenosti. Proto by se neměli předpokládat žádné odbornější vědomosti ani z oblasti počítačů, ani z oblasti dopravních systémů. Uživatelé navíc nemusí znát angličtinu.
1.3 Popis testovací metody K otestování uživatelského rozhraní použiji metodu zvanou cognitive walkthrough (kognitivní průchod). Jedná se o metodu testování bez uživatele, takže k jejímu vykonání stačí jedna osoba (tester). Může jím být uživatel obeznámený s testovanou aplikací nebo i sám její programátor. Pro testování pomocí cognitive walkthrough si tester nejprve definuje tzv. případy použití neboli use-cases, což jsou specifické úkoly, jejichž provedení rozhraní umožňuje. Poté tester pouze plní jednotlivé use-cases prováděním sledu potřebných kroků v rozhraní. Na začátku každého use-case si tester zodpoví na otázku: Otázka č. 0: Čeho chce uživatel dosáhnout? Pro každý atomický krok use-case si pak tester všímá uživatelské přívětivosti zkoumaného rozhraní odpovídáním si na následující otázky: Otázka č. 1: Bude následná správná akce evidentní uživateli? Otázka č. 2: Spojí si uživatel popisek následné akce se svým cílem? Otázka č. 3: Obdrží uživatel dostatečnou zpětnou vazbu? Výstupem testování bude soubor odpovědí na otázky výše pro každý krok každého use-case. Při negativní odpovědi (tzv. nálezu) na kteroukoliv z otázek 1 až 3 ještě tester poskytne zdůvodnění svého posudku, zhodnotí kritičnost vyskytující se chyby a navrhne možnost nápravy. Při svém cognitive walkthrough se v příkladech zaměřím hlavně na oblast Prahy, jelikož má nejsložitější dopravní systém v České republice.
2. Př ehled př ı́padů už itı́ 2.1 Vyhledání spojení mezi dvěma zastávkami Příklad:
Zjistit, v kolik hodin je potřeba nejpozději odjet ze zastávky Stadion Strahov, abychom se dostali do 8 hodin večer na letiště, a jaké spojení použít.
Vyhledání spojení mezi dvěma zastávkami je snad úplně nejčastěji využívanou funkcí IDOS. Uživatel se chce třeba i rychle dozvědět, kdy musí odjet a jaké linky bude muset použít. Možnou komplikací je potenciálně špatné rozhodnutí uživatele vyhledávat spojení v záložce „Odjezdy“, kde se hledají pouze přímá spojení, místo v záložce „Spojení“. Také může uživateli mírně vadit ne příliš přehledný výpis výsledných spojů.
2.1 Vyhledání trasy mezi dvěma místy na mapě Příklad:
Zjistit, jak se lze snadno dostat z Vítězného náměstí ke Karlovu mostu.
Vyhledání cesty mezi dvěma místy na mapě je vítaná doplňující funkce IDOS. Uživatel se nemusí vůbec zajímat o to, které zastávky se poblíž zadaných míst vyskytují, stačí jen zvolit souřadnice na mapě a IDOS už sám nejbližší zastávky a spojení mezi místy najde. Možným problémem by mohlo být opomenutí uživatele nejprve zadat typ jízdního řádu (ten totiž lokálně omezuje hranice mapy), a teprve pak začít v mapě hledat.
2.3 Upravení vyhledávání Příklad:
Z vyhledaných spojení filtrovat pouze ta, která mají bezbariérový přístup a nejvýše dva přestupy.
Potřeba pozměnit vyhledávání se vyskytuje celkem běžně. Aplikace by měla poskytovat jednoduchý způsob, jak změnit nebo doplnit zadaná kritéria vyhledávání.
2.4 Zjištění zastávkového jízdního řádu Příklad:
Dozvědět se zastávkový jízdní řád tramvaje 12.
Tato funkčnost se hodí jak pro zjištění časů odjezdů a příjezdů konkrétní linky ze svých zastávek, tak i k zjištění posloupnosti zastávek linky. Problémem může být skutečnost, že při vyhledávání jízdního řádu se rozhraní tváří, jako kdyby požadovalo také znalost, odkud a kam hledaný spoj jezdí.
3. Testová nı́ př ı́padů už itı́ Pro každý use-case se bude odpovídat na otázku č. 0 a pro každý krok v rámci jednoho use-case ještě na otázky č. 1 až 3 (viz sekce 1.3). Pro přehlednost označme otázky jako Q0 až Q3.
3.1 Vyhledání spojení mezi dvěma zastávkami Popis průchodu: Q0: Uživatel chce zjistit, v kolik hodin je potřeba nejpozději odjet z určité zastávky, aby se včas dostal na cílové místo, a jaké spojení má při tom použít. Výchozí stav: Uživatel se nachází na první zobrazované stránce (Obr. 1). Posloupnost kroků: 1. Klikneme na nápis „Vybrat jízdní řád“. 2. V nově otevřeném okně klikneme na odpovídající jízdní řád. 3. Zadáme výchozí a cílové místo do políček za nápisem „Odkud:“ a nápisem „Kam“. 4. Šipkami zvolíme datum a čas v hodinách. 5. Označíme „Příjezd“. 6. Stiskneme „Hledat“. 7. Najdeme vyhledané spojení rolováním obrazovky a případně pomocí šipek. Cílový stav: Uživatel se nachází v okně s výpisem spojení (Obr. 2).
Obr. 2: Výpis spojení
Otestování průchodu: 1.
Klikneme na nápis „Vybrat jízdní řád“. Q1: Ne, uživateli nemusí dojít, že musí nejprve vybrat jízdní řád. Vybere-li jízdní řád později, smažou se všechny již zadané údaje. Ještě hůře, přepne-li se uživatel na záložku „Odjezdy“ (viz Obr. 4), pravděpodobně nenajde spojení, protože z této záložky lze vyhledávat pouze přímá spojení. Není to však nikde řečeno a uživatel může dostat úplně mylné informace. Q2: Ano, nápis „Jízdní řád“ je dobře viditelný a kliknutí na otazník vedle nápisu ukáže i nápovědu. Uživatel také může kliknout nejen na nápis „Vybrat jízdní řád“, ale pouze na políčko vedle tohoto nápisu. Q3: Ano, protože se otevře okno s nadpisem „Výběr jízdního řádu“ (Obr. 3).
Obr. 3: Výběr jízdního řádu
2.
V nově otevřeném okně klikneme na odpovídající jízdní řád. Q1: Ano, uživatel ví, že má vybrat jízdní řád. Q2: Ne, některé uživatele může zmást matoucí nabídka jízdních řádů. Nabídka totiž graficky nerozlišuje jízdní řády podle typu dopravního prostředku a města (viz Obr. 3) Q3: Ano, protože se okno zavře (jsme zpět v Obr. 1) a v políčku „Jízdní řád“ se zobrazí vybraný jízdní řád.
3.
Zadáme výchozí a cílové místo do políček za nápisem „Odkud:“ a nápisem „Kam“. Q1: Ano. Q2: Ano, políčka jsou dobře popsána. Q3: Ano, v políčkách se objeví název napsané zastávky.
4.
Šipkami zvolíme datum a čas v hodinách. Q1: Ano. Q2: Ano, políčka jsou dobře popsána. Q3: Ano, v políčkách se objeví zvolené datum a zvolený čas.
5.
Označíme „Příjezd“. Q1: Ano. Q2: Ne, může místo „Příjezd“ zvolit „Odjezd“, protože může mít na mysli odjezd z výchozího místa. U „Datum a čas“ si sice může uživatel zobrazit nápovědu, ale nemusí mu dojít, že tato nápověda se týká i políček „Odjezd“ a „Příjezd“. Q3: Ano, políčko „Příjezd“ bude zaškrtnuté.
6.
Stiskneme „Hledat“. Q1: Ano, uživatel ví, že má spustit vyhledání spojení. Q2: Ano, nápis „Hledat“ je zřejmý a dobře viditelný. Q3: Ano, protože se objeví vyhledaná spojení.
7.
Najdeme vyhledané spojení posouváním obrazovky a případně pomocí šipek. Q1: Ano. Q2: Ne, uživatel nemusí odhadnout, že je třeba se v okně posunout, zvláště nachází-li se v dolní části obrazovky reklama (viz Obr. 2). Q3: Ano, stačí najít spojení umístěné jako poslední před tím, u něhož je příjezd na cílové místo pozdější, než uživatel vyžadoval.
Shrnutí: Aplikace nedostatečně upozorňuje na nutnost zvolit nejprve jízdní řád. Nezkušený uživatel může hned zkoušet do dalších políček vpisovat zastávky a divit se, že se mu nezobrazují v dynamické nápovědě nebo, jestliže již zmáčkl „Hledat“, že napsané zastávky IDOS vůbec nenašel. Vážnějším nedostatkem ale je záložka „Odjezdy“, u které se nikde nevyskytuje jasná informace, že lze v této záložce vyhledávat pouze přímá spojení.
Obr. 4: Záložka „Odjezdy“
3.2 Vyhledání trasy mezi dvěma místy na mapě Popis průchodu: Q0: Uživatel chce najít vhodnou trasu z jednoho místa na mapě do jiného. Výchozí stav: Uživatel se nachází na první zobrazované stránce (Obr. 1). Posloupnost kroků: 1. Klikneme na nápis „Vybrat jízdní řád“. 2. V nově otevřeném okně klikneme na odpovídající jízdní řád 3. Klikneme na slovo „Mapa“ za nápisem „Odkud:“ nebo za nápisem „Kam“. 4. Na mapu klikneme a v otevřeném dialogu klikneme na „Vybrat jako výchozí bod“ 5. Na mapu klikneme a v otevřeném dialogu klikneme na „Vybrat jako cílový bod“ 6. Stiskneme „Hledat“. 7. Přečteme si vyhledanou trasu. Cílový stav: Uživatel se nachází na mapě IDOS (Obr. 5)
Obr. 5: Mapa
Otestování průchodu: 1.
Klikneme na nápis „Vybrat jízdní řád“. Q1: Ne, uživateli nemusí být jasné, proč by měl nejprve vybírat jízdní řád. Nevybere-li ho, zobrazí se mu později pouze mapa lokálně omezená pro defaultně vybraný jízdní řád. Q2: Ano, nápis „Jízdní řád“ je dobře viditelný. Uživatel také může kliknout nejen na nápis „Vybrat jízdní řád“, ale také i na políčko vedle tohoto nápisu. Q3: Ano, protože se otevře okno s nadpisem „Výběr jízdního řádu“.
2.
V nově otevřeném okně klikneme na odpovídající jízdní řád Q1: Ano, uživatel ví, že má vybrat jízdní řád. Q2: Ne, některé uživatele může zmást matoucí nabídka jízdních řádů. Nabídka totiž graficky nerozlišuje jízdní řády podle typu dopravního prostředku a města. Q3: Ano, protože se okno zavře a v políčku „Jízdní řád“ se zobrazí vybraný jízdní řád.
3.
Klikneme na slovo „Mapa“ za nápisem „Odkud:“ nebo za nápisem „Kam“. Q1: Ano, uživateli ví, že chce vybírat pomocí mapy. Q2: Ano, nápis „Mapa“ je zřejmý. Q3: Ano, protože se zobrazí mapa.
4.
Na mapu klikneme a v otevřeném dialogu klikneme na „Vybrat jako výchozí bod“ Q1: Ano, uživatel ví, že má vybírat výchozí místo. Q2: Ne, uživateli nemusí dojít, že k výběru výchozího místa je třeba jednou kliknout do mapy. Q3: Ano, protože se zobrazí dialog a poté na mapě bublina s písmenem „Z“.
5.
Na mapu klikneme a v otevřeném dialogu klikneme na „Vybrat jako cílový bod“ Q1: Ano, uživatel ví, že má vybírat cílové místo. Q2: Ano, uživatel už ví, jak se místa vybírají. Q3: Ano, důvod stejný jako u 4.
6.
Stiskneme „Hledat“. Q1: Ano, uživatel ví, že má spustit vyhledání spojení. Q2: Ano, nápis „Hledat“ je zřejmý a dobře viditelný. Q3: Ano, protože se na mapě vykreslí hledaná trasa.
7.
Přečteme si vyhledanou trasu. Q1: Ano, uživatel chce zjistit trasu. Q2: Ano, protože se trasa objevila pod tlačítkem „Hledat“ a je dobře viditelná. Q3: Ano, dozvěděl se trasu.
Shrnutí: Možnost vyhledat trasu mezi dvěma zadanými body je určitě pohodlná funkce. Nicméně hlavním problémem je opět nezdůrazněný požadavek aplikace zvolit jízdní řád před vlastním vyhledáváním na mapě.
3.3 Upravení vyhledávání Q0: Uživatel chce pozměnit své vyhledávání spojení tak, aby zahrnovalo například pouze bezbariérová spojení a mělo nejvýše určitý počet přestupů. Výchozí stav: Uživatel se nachází v okně se seznamem spojení (Obr. 2). Posloupnost kroků: 1. Klikneme na nápis „Změnit zadání“. 2. Zaškrtneme „Pouze bezbariérová spojení“. 3. Klikneme na „Parametry Spojení“. 4. Klikneme na „Přestupy“. 5. Z nabídky vybereme svůj žádaný maximální počet přestupů. 6. Stiskneme „Hledat“. 7. Přečteme si vyhledané spojení. Cílový stav:
Uživatel se nachází v pozměněném okně se seznamem spojení (podobné jako Obr. 2).
Otestování průchodu: 1.
Klikneme na nápis „Změnit zadání“. Q1: Ano. Q2: Ano. Q3: Ano, uživatel se objeví zpět v záložce „Spojení“.
2.
Zaškrtneme „Pouze bezbariérová spojení“. Q1: Ano. Q2: Ne, uživatel může volbu neúspěšně hledat mezi „Parametry spojení“. Q3: Ano, políčko bude zaškrtnuté.
3.
Klikneme na „Parametry Spojení“. Q1: Ano. Q2: Ano. Q3: Ano, záložka se rozevře.
4.
Klikneme na „Přestupy“. Q1: Ano. Q2: Ano. Q3: Ano, objeví se políčka pro specifikaci přestupů.
5.
Z nabídky vybereme svůj žádaný maximální počet přestupů. Q1: Ano. Q2: Ano. Q3: Ano, počet přestupů se zobrazí v políčku.
6.
Stiskneme „Hledat“. Q1: Ano. Q2: Ano. Q3: Ano, uživatel se objeví zpět v záložce „Spojení“.
7.
Přečteme si vyhledané spojení. Q1: Ano. Q2: Ano. Q3: Ano, uživatel se objeví zpět v v okně se seznamem spojení.
Shrnutí: Volby pro bezbariérová, přímá a nízkopodlažní spojení se nachází mimo záložku „Parametry spojení“. Záměrem aplikace nejspíše bylo urychlit tyto častější volby typů spojení bez nutnosti rozevírat záložku „Parametry spojení“. Nicméně pro uživatele může tato nekonzistence být matoucí.
3.4 Zjištění zastávkového jízdního řádu Q0: Uživatel se chce dozvědět zastávkový jízdní řád určité linky. Výchozí stav: Uživatel se nachází na první zobrazované stránce (Obr. 1). Posloupnost kroků: 1. Klikneme na záložku „Zastávkové JŘ“. 2. Do pole linka vpisujeme číslo hledané linky, po jejím zobrazení v dynamické nápovědě stiskneme Enter. 3. Klikneme na „Hledat“ a přečteme si jízdní řád této linky. Cílový stav: Uživatel se nachází ve výpisu zastávkového jízdního řádu (Obr. 6).
Obr. 6: Výpis zastávkového jízdního řádu
Otestování průchodu: 1.
Klikneme na záložku „Zastávkové JŘ“. Q1: Ano. Q2: Ne, uživateli nemusí dojít spojení mezi popiskem záložky „Zastávkové JŘ“ a tím, co hledá. Q3: Ne, uživatel si nemusí být jistý, že v této záložce najde, co potřebuje.
2.
Do pole linka vpisujeme číslo hledané linky, po jejím zobrazení v dynamické nápovědě stiskneme Enter. Q1: Ano. Q2: Ano. Q3: Ne, uživatel si není vědom, že nevyužil-li dynamické nápovědy, zobrazí se po stisknutí „Hledat“ chybové hlášky „Zadání není jednoznačné, upřesněte prosím zadání“ pod políčky „Odkud“ a „Kam“, které uživatel nevěděl, jak vyplnit (viz Obr. 7).
Obr. 7: Záložka „Zastávkové JŘ“
3.
Klikneme na „Hledat“ a přečteme si jízdní řád této linky. Q1: Ano. Q2: Ano. Q3: Ano, zobrazí se hledaný jízdní řád.
Shrnutí: Záložka „Zastávkové JŘ“ používá netriviální zkratku. Vyplňování čísla linky nevhodně spoléhá na to, že uživatel využije dynamickou nápovědu.
4. Zhodnocenı́ Pro ohodnocení priorit nálezů budu vycházet z následující stupnice: 0: 1: 2: 3: 4:
Není problém použitelnosti. Kosmetický problém, není nutné řešit. Malý problém použitelnosti, jeho vyřešení má malou prioritu. Problém použitelnosti, je důležité ho odstranit. Kritický problém, musí být odstraněn.
4.1 Přehled nálezů a návrh jejich řešení Nález 1: V záložce „Spojení“ není uživatel při vyhledávání spojení předem upozorněn na nutnost před zadáváním názvů výchozích a cílových zastávek zvolit jízdní řád. Návrh řešení: možnost zadat jízdní řád dodatečně bez toho, aby se smazaly již vyplněné hodnoty. Priorita: 3 Nález 2: Aplikace uživatele neinformuje, že při vyhledávání spojů v záložce „Odjezdy“ se pro zadaná místa vyhledávají pouze přímá spojení. Návrh řešení: napsat v záložce „Odjezdy“ upozornění nebo ho zobrazit při najetí myši nad záložkou. Priorita: 3 Nález 3: Nabídka jízdních řádů graficky neodlišuje jízdní řády podle typu dopravního prostředku a podle města. Návrh řešení: graficky odlišit různé typy jízdních řádů. Priorita: 1 Nález 4: Nešikovné umístění nápovědy k volbám „Odjezd“ a „Příjezd“ v záložce „Spojení“. Návrh řešení: umístit odkaz na nápovědu týkající se voleb „Odjezd“ a „Příjezd“ přímo k těmto volbám. Priorita: 1
Nález 5: Nepřehledné vypisování vyhledaných spojení, uživatel nemusí nutně odhadnout, že je třeba se v okně posunout dolů. Návrh řešení: otevřít samostatné okno nebo graficky více oddělit reklamy od výpisu spojení (je-li to možné). Priorita: 1 Nález 6: Neupozorněný požadavek před hledáním na mapě zvolit nejprve jízdní řád. Návrh řešení: neomezovat používanou mapu podle jízdního řádu nebo alespoň dát možnost změny jízdního řádu v mapě. Priorita: 2 Nález 7: Uživatel není informován, jak vybrat výchozí nebo cílové místo na mapě. Návrh řešení: při zastavení myši na mapě zobrazit informační nápis. Priorita: 1 Nález 8: V záložce „Spojení“ se volby pro přímá, bezbariérová a nízkopodlažní spojení nekonzistentně nachází mimo záložku „Parametry spojení“. Návrh řešení: případně umístit volbu pro tato spojení i do „Parametrů spojení“ a dohlédnout na konzistenci voleb v obou umístěních. Priorita: 1 Nález 9: Použití zkratky „Zastávkové JŘ“ pro záložku. Návrh řešení: rozepsat zkratku nebo při najetí myši nad záložku zobrazit nápovědu. Priorita: 1 Nález 10: V záložce „Zastávkové JŘ“ se aplikace spoléhá, že uživatel využije dynamickou nápovědu. Při jejím neužití, pokud nevyplnil konečné zastávky hledané linky, dostane při pokusu hledat zastávkový řád linky chybovou hlášku: „Zadání není jednoznačné, upřesněte prosím zadání“. Návrh řešení: automaticky doplňovat konečné zastávky i bez použití dynamické nápovědy nebo vyznačit, že vyplnění konečných zastávek je nepovinné. Priorita: 2
4.2 Závěr V aplikaci IDOS se vyskytuje několik závažnějších nedostatků, které můžou nové a především počítačově nezkušené uživatele odradit. Aplikace alespoň obsahuje rychlou nápovědu, ta však nemusí být dostačující. Kompletní nápověda je pro uživatele zase příliš dlouhá. Celkově může aplikace působit poněkud nepřehledným dojmem, ale zkušenější uživatelé ji určitě můžou shledat užitečnou.