SEPA-päiväkirja: Käytettävyystestaus & Heuristinen testaus Lehmus, Auvinen, Pihamaa Johdanto Käyttäjätestauksella tarkoitetaan tuotteen tai sen prototyypin testauttamista todellisilla käyttäjillä. Kehittäjät tuntevat tuotteensa niin hyvin, että tulevat sokeiksi sen heikkouksille. Sen sijaan käyttäjät, jotka eivät ole kokeilleet tuotetta aikaisemmin, löytävät siitä helposti ongelmia, joita suunnittelijat eivät ole osanneet ennakoida. Heuristinen testaus tarkoittaa menetelmää, jossa asiantuntijat käyvät tuotteen läpi järjestelmällisesti ja vertaavat sitä suunnitteluohjeistoihin eli heuristiikkoihin. Käytettävyyden testaaminen on projektissamme oleellista, sillä olemme rakentamassa nimenomaan käyttöliittymää ja sen on tarkoitus toimia sekä myynnin tukena että malliesimerkkinä vastaavan toiminnallisuuden toteuttamiseksi. Käytännön harjoittaminen Käytettävyyttä on ryhdyttävä testaamaan riittävän aikaisessa vaiheessa, jotta tuloksia ehditään hyödyntää järjestelmän toteutuksessa. Käytännöt suoritetaan niin, että ensin käyttöliittymälle tehdään asiantuntijoiden toimesta heuristinen testaus, jotta pahimmat virheet ja epäjohdonmukaisuudet saadaan karsittua. Tämän jälkeen paranneltu käyttöliittymä annetaan kohderyhmälle testattavaksi, jolloin toivottavasti saadaan viimeisetkin käyttöä vaikeuttavat ominaisuudet selville. Koska ensimmäinen kehitysiteraatio (I1) kuluu pääasiassa käyttöliittymän sisäisten toiminnallisuuksien kehittämiseen ja toteuttamiseen, ei varsinaista käyttöliittymää saada vielä lopulliseen muotoonsa. Tämän vuoksi heuristinen testaus suoritetaan ennen toisen kehitysiteraation (I2) puoltaväliä, jolloin käyttöliittymän graafinen ulkoasu muistuttaa jo lopullista tuotetta. Kun heuristinen testaus on suoritettu, käytetään siitä saatua palautetta hyväksi kehittämällä käyttöliittymää paremmaksi. Kun käyttöliittymän parannukset on suoritettu, annetaan tuote testattavaksi kohderyhmälle hyvissä ajoin ennen kehitysiteraation loppumista. Tällöin kehitysryhmälle jää vielä aikaa tehdä lisäparannuksia käyttöliittymään kohderyhmältä saadun palautteen perusteella. Heuristinen testaus voidaan tehdä järjestelmän suunnitelmalle tai varhaiselle prototyypille, joten se tehdään ensin. Sen avulla sadaan karsittua yleisiä käytettävyysongelmia ennen käyttäjätestejä. Heuristisen testauksen tuloksia voidaan myös hyödyntää käyttäjätestien suunnittelussa, jolloin käyttäjätesteistä saadaan mahdollisimman paljon hyödyllistä tietoa. Heuristinen testaus Heuristisessa testauksessa testaajien on otettava huomioon se, kenelle tuote on suunnattu, ja missä käyttötilanteessa sitä käytetään. Tuotteen kohderyhmä on kiinnostunut pelaamisesta ja tuntee kohtuullisen hyvin selainkäyttöliittymät. Laitealustana on pöytätietokone tai set-top box kytkettynä televisioon ja kaukosäädin. Nielsenin mukaan (Nielsen) asiantuntijoita olisi ihanteellisessa tapauksessa viisi. Useammasta ei ole enää oleellista lisähyötyä, mutta vähemmillä virheitä jää todennäköisemmin huomaamatta koska eri testaajat löytävät tyypillisesti myös eri virheitä. Tässä tapauksessa testaajina ei kuitenkaan ole saatavilla niin montaa, vaan testaajina toimivat kolme SEPA-ryhmän jäsentä.
(Nielsen) esittelee seuraavat kymmenen heuristiikkaa: Järjestelmän statuksen näkyvyys Järjestelmän ja todellisen maailman yhtenevyys Käyttäjän kontrolli ja vapaus Konsistenssi ja standardit Virheiden estäminen Tunnistaminen ennemin kuin muistaminen Joustavuus ja käytön tehokkuus Esteettinen ja minimalistinen suunnittelu Auta käyttäjiä tunnistamaan, diagnosoimaan ja selviämään virhetilanteista Apu ja dokumentaatio (Instone) on julkaissut tähän listaan web-käyttöliittymiin liittyen tarkentavat kommentit. Testaajille selostetaan yleisellä tasolla tuotteen idea, ja he käyvät sen pikaisesti läpi muodostaakseen yleiskuvan. Seuraaavksi he käyvät järjestelmän läpi järjestelmällisesti ja vertaavat sitä heuristiikkoihin. Ongelmat kirjataan ylös ja priorisoidaan. Lopuksi testaajat kokoontuvat muun harjoitustyöryhmän kanssa keskustelemaan testauksen tuloksista ja parannusehdotuksista. Järjestelmän suunnittelu ei ollut vielä riittävän pitkällä paperiprototyyppien tekemiseen I1 vaiheen aikana. Testaus suoritetaan mahdollisimman aikaisessa vaiheessa I2 vaihetta. Käyttäjätestaus Käyttäjätestauksessa on oleellista. että tuote testataan todellisessä käyttöympäristössä ja testaajina toimivat henkilöt muistuttavat mahdollisimman paljon todellisia loppukäyttäjiä niin sukupuoli- kuin ikäjakaumaltaan että koulutukseltaan. Koehenkilöt testausta varten saadaan peer review ryhmästä, eli vastaavaa projektia toteuttavasta vertaisryhmästä. Onnekkaasti vertaisryhmän jäsenet vastaavat tuotteen kohderyhmää ja näin ollen soveltuvat käyttäjätestauksen koehenkilöiksi. Ikä- ja sukupuolijakauma ryhmässä ei täysin vastaa loppukäyttäjiä, mutta tämä seikka katsottiin toisarvoiseksi. Testauksen aikana tuotetta käytetään joko tietokoneella tai television kautta. Tietokoneella tehtävät testit voidaan toteuttaa jonkun ryhmän jäsenen kotona, ja televisiolla suoritettava testaus asiakkaan tiloissa. Käytettävyystestaus etenee seuraavalla tavalla: Suunnitellaan skenaariot, eli käyttötapauskuvaukset. Niiden on katettava ainakin yleisimmät käyttötilanteet ja tyypilliset virhetilanteet. Esimerkiksi pelin X löytäminen järjestelmästä, sen kuvauksen lukeminen ja lopulta pelin käynnistäminen tai toisen käyttäjän (vaikkapa kaverin) löytäminen järjestelmästä, tämän lisääminen käyttäjän omalle kaverilistalle ja moninpelin aloittaminen kyseisen henkilön kanssa. Arvioidaan käyttötapauksiin kuluva aika ja jaetaan ne tasapuolisesti testihenkilöille. Tärkeimmät testit teetetään kaikilla koekäyttäjillä. Testauksen aikana käyttäjät kertovat ääneen havainnoistaan, kuten mitkä asiat ovat epäselviä, ärsyttäviä tai suoranaisesti järjestelmän käyttöä haittaavia. Ryhmän jäsenet kirjaavat havainnot ylös. Lopuksi testaajille esitetään yleisiä kysymyksiä ja pyydetään arviointia järjestelmän toimivuudesta ja käytettävyydestä.
Käytettävyystestauksen jälkeen summataan yleisimmiksi nousseet havainnot ja kommentit käytettävyyden osalta. Lisäksi käydään läpi mahdollisesti ilmenneet virhetilanteet ja muut tärkeiksi koetut puutteet tai epäloogisuudet järjestelmässä. Mikäli testauksessa ilmenee vikoja, joita ei projektin puitteissa pystytä korjaamaan, niistä raportoidaan erikseen asiakkaalle. Käyttäjätestauksen toteutusta ei tässä vaiheessa vielä dokumentissa tarkemmin käsitellä, koska testattava järjestelmä ei ole tarpeeksi kehittyneessä vaiheessa testausta varten. Dokumenttia päivitetään tältä osin kun asia on ajankohtainen. Heuristinen testaus: testauksen toteutus Järjestelmän esittely ja ohjeistus Heuristisessa testauksessa testaajien kanssa käydään aluksi läpi järjestelmän toiminta yleisellä tasolla. Tämän jälkeen käydään läpi heuristisen testauksen periaatteet. Testaajilta kysytään millä tasolla heidän tietämyksensä aiheesta on ja periaateita voidaan käydä perusteellisemmin läpi mikäli aihe ei ole kaikille tuttu. Testaajille jaetaan muistilista valituista heuristiikoista (Taulukko 1). Käyttöliittymä käydään läpi sarjana paperiprototyyppejä. Ohjaimeksi testiin valittiin kaukosäädin koska tämä on syöttölaitteena haastava ja ihmisille yleisesti kohtuullisen tuttu. Alkuohjeistukseen ja esittelyyn varataan n. 30min. Itsenäinen arviointi Seuraavaksi kukin testaaja arvioi käyttöliittymän ensin itsenäisesti (Riihiaho). Koko prototyyppien sarja käydään läpi jokaista heuristiikkaa kohden erikseen. Havaituista ongelmista merkitään ylös heuristiikan numero jota ongelma rikkoo, arvio ongelman vakavuudesta sekä sanallinen kuvaus ongelmasta (Lomake 1). Kunkin heuristiikan läpikäyntiin varataan n. 6min jolloin koko sarjan läpikäymiseen kuluu yhteensä tunti. Vakavuuden arviointiin käytetään skaalaa (Riihiaho): katastrofaalinen vakava häiritsevä vähäinen kosmeettinen Tulosten analysointi Lopuksi arvioinnin tulokset käydään yhdessä läpi ja keskustellaan havainnoista sekä mahdollisista ratkaisuehdotuksista. Tähän varataan aikaa n. 30min.
Järjestelmän esittely # Heuristiikka Kommentit 1 Järjestelmän statuksen näkyvyys Järjestelmän tulisi pitää käyttäjä perillä sen tilasta kohtuullisen nopealla palautteella. 2 Järjestelmän ja todellisen maailman yhtenevyys Järjestelmän kielen tulisi vastata käyttäjän kieltä. Vältä teknistä kieltä. 3 Käyttäjän kontrolli ja vapaus Anna käyttäjälle mahdollisuus perua helposti tehtyjä valintoja. 4 Konsistenssi ja standardit Käytä samoja termejä vastaavissa tilanteissa. 5 Virheiden estäminen Pyri estämään virhetilanteiden syntyminen. 6 Tunnistaminen ennemin kuin muistaminen Esitä käyttäjälle kaikki kussakin tilanteessa toimimiseen tarvitsema tieto. 7 Joustavuus ja käytön tehokkuus Tarjoa tehokäyttäjälle mahdollisuus oikopolkuihin. 8 Esteettinen ja minimalistinen suunnittelu 9 Auta käyttäjiä tunnistamaan, diagnosoimaan ja selviämään virhetilanteista Älä esitä tietoa joka on tarpeetonta tai harvoin tarpeen. Kaikki ylimääräinen tieto ja toiminnallisuus kamppailee käyttäjän huomiosta tarpeellisten asioiden kanssa. Virheilmoitusten tulisi olla selkeitä ja ymmärrettävissä. Käyttäjän tulisi tukea käyttäjää ratkaisemaan ongelma. 10 Apu ja dokumentaatio Dokumentaation ja avun tulisi olla helposti käyttäjän saatavilla, sen tulee keskittyä käyttäjän kulloinkin käsillä olevaan tehtävään eikä sen tule olla tarpeettoman laaja. Taulukko 1: heuristiikka listaus (Nielsen) Rikotun heuristiikan numero Ongelman vakavuusaste Ongelman sanallinen kuvaus Lomake 1: Havaittujen ongelmien listaus
Lähteet: (Turner) Benyon, Turner, Turner 2005: Designing Interactive Systems. People, Activities, Context, Technologies. Addison-Wesley?. (Nielsen) Nielsen, J. 1993: Usability engineering. Academic Press, New York. (Riihiaho) Riihiaho, S. 1998: Käytettävyyden arviointi ilman käyttäjiä.systeemityö. Systeemityöyhdistys SYTYKE ry. Vol 5, No. 4, ss. 4-6. (Instone) Instone, K. 1997: Usability Heuristics for the Web. (online). Available: http://webreview.com/wr/pub/97/10/10/usability/sidebar.html