Applying test automation in usability testing
Virtanen, Markus (2019)
Virtanen, Markus
2019
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201905149811
https://urn.fi/URN:NBN:fi:amk-201905149811
Tiivistelmä
Tämä opinnäytetyö tutkii testiautomaation soveltuvuutta käytettävyystestauksessa. Aluksi työssä esitellään testausta yleisesti, liittäen testaus mittakaavaan projektiympäristössä ja antaen aloituspiste testaukseen. Modernissa sovelluskehitysympäristössä testauksen tarve on jatkuvasti kasvava, johtuen yhä nopeammista kehityssykleistä. Erityisesti se luo konfliktin paremman käytettävyyden ja testiautomaation välille.
Käytettävyys on yleisimmin nähty ihmisvetoisena osa-alueena, sillä kaikkien potentiaalisten käytettävyysongelmien löytäminen ilman oikeiden käyttäjien osallistamista on hankalaa. Useissa tapauksissa eri näkemys suoritettavasta tehtävästä työkalun kehittäjän ja käyttäjän välillä johtaa tilanteeseen, jossa käyttäjä ei koe hyötyvänsä työkalusta. Erityisen tärkeäksi käytettävyys on muuttunut nykyään, kun jokaisella sovelluksella on näennäisesti rajaton määrä kilpailua ja asiakkaat jättävät nopeasti palvelut, jotka eivät vastaa heidän näkemyksiään käytettävyydestä.
Testiautomaatio on nykyään lähestulkoon esivaatimus mille tahansa sovelluskehitykselle. Johtuen nopeista kehityssykleistä, tarkoittaen yhä useammin tehtäviä pieniä päivityksiä, manuaalinen testaus ei yksinkertaisesti ole tehtävissä tarpeeksi nopeasti. Moderni ratkaisu on käyttää testiautomaatiota regressiotestaukseen, mutta usein keskittyen vain toiminnallisiin osa-alueisiin sovelluksessa. Testiautomaatiota ei pidetä kykenevänä käyttäjien simuloimiseen tarpeeksi hyvin tai käytettävyystestien uudelleenkäytöllä ei nähdä olevan riittävästi arvoa.
Vertailun vuoksi luotiin prototyypinomainen kokoelma automaattisia testejä käytettävyyden arvioimiseksi. Teoriapohjana tähän käytettiin Jakob Nielsenin tutkimusta käytettävyyden heuristiikkojen osalta, erityisesti pohjaten ”johdonmukaisuus ja standardit” -heuristiikkaan. Lisäksi perinteisempi käytettävyystesti toteutettiin neljällä käyttäjällä testaten samaa testikohdetta.
Kokonaisuutena tulokset näyttivät onnistuneesti testiautomaation olevan toimiva tapa arvioida käytettävyyttä. Vaikka pieniä eroavaisuuksia tuloksissa esiintyikin, ne olivat selvästi testisuunnittelun puutteita. Testiautomaation erityisinä etuina perinteiseen testaukseen verrattuna näkyi uudelleenkäytettävyys ja verrattain pieni tarvittu työmäärä automaation luomiseksi. The thesis studies the applicability of test automation in context of usability testing. The first part is a brief introduction to testing in relation to a project and establishes the baseline from where to start any testing effort. The increased amount of testing required in modern software development cycles and especially the conflict between need for better usability and need of more test automation.
Usability is seen most often as a human driven effort, since it is difficult to truly pinpoint all aspects of usability without involving the people who would be using the product. In many cases the different understanding of the task that should be solved between the developer and end user ends up creating a tool that nobody wants to use. This becomes especially important in a modern market, where any product has virtually unlimited amount of competition and customers are quick to go for another product if the other doesn’t invest in usability.
Test automation is nowadays almost a pre-requisite for any software development. Because of modern short development cycles that mean bringing smaller updates to software all the more often, manual testing is simply not fast enough. The modern solution is to use test automation for regression testing, but quite often it ends up focusing only on functional testing. Test automation is simply not seen capable of simulating users well enough, or repeatable usability testing is not seen as valuable.
For the purposes of comparison, a set of automated test cases was written to evaluate usability. The frame in which the work was conducted was based in Jakob Nielsen’s research on usability heuristics, specifically the heuristic “consistency and standards” was chosen for the effort. Then a more traditional usability interview was conducted on four users using the same test object.
The results were compared and although not perfectly aligned, the test automation did seem to yield meaningful results in the context. The difference could be easily taken into account by updating the test automation script and thus with relatively little effort reduce the amount of user testing required.
Käytettävyys on yleisimmin nähty ihmisvetoisena osa-alueena, sillä kaikkien potentiaalisten käytettävyysongelmien löytäminen ilman oikeiden käyttäjien osallistamista on hankalaa. Useissa tapauksissa eri näkemys suoritettavasta tehtävästä työkalun kehittäjän ja käyttäjän välillä johtaa tilanteeseen, jossa käyttäjä ei koe hyötyvänsä työkalusta. Erityisen tärkeäksi käytettävyys on muuttunut nykyään, kun jokaisella sovelluksella on näennäisesti rajaton määrä kilpailua ja asiakkaat jättävät nopeasti palvelut, jotka eivät vastaa heidän näkemyksiään käytettävyydestä.
Testiautomaatio on nykyään lähestulkoon esivaatimus mille tahansa sovelluskehitykselle. Johtuen nopeista kehityssykleistä, tarkoittaen yhä useammin tehtäviä pieniä päivityksiä, manuaalinen testaus ei yksinkertaisesti ole tehtävissä tarpeeksi nopeasti. Moderni ratkaisu on käyttää testiautomaatiota regressiotestaukseen, mutta usein keskittyen vain toiminnallisiin osa-alueisiin sovelluksessa. Testiautomaatiota ei pidetä kykenevänä käyttäjien simuloimiseen tarpeeksi hyvin tai käytettävyystestien uudelleenkäytöllä ei nähdä olevan riittävästi arvoa.
Vertailun vuoksi luotiin prototyypinomainen kokoelma automaattisia testejä käytettävyyden arvioimiseksi. Teoriapohjana tähän käytettiin Jakob Nielsenin tutkimusta käytettävyyden heuristiikkojen osalta, erityisesti pohjaten ”johdonmukaisuus ja standardit” -heuristiikkaan. Lisäksi perinteisempi käytettävyystesti toteutettiin neljällä käyttäjällä testaten samaa testikohdetta.
Kokonaisuutena tulokset näyttivät onnistuneesti testiautomaation olevan toimiva tapa arvioida käytettävyyttä. Vaikka pieniä eroavaisuuksia tuloksissa esiintyikin, ne olivat selvästi testisuunnittelun puutteita. Testiautomaation erityisinä etuina perinteiseen testaukseen verrattuna näkyi uudelleenkäytettävyys ja verrattain pieni tarvittu työmäärä automaation luomiseksi.
Usability is seen most often as a human driven effort, since it is difficult to truly pinpoint all aspects of usability without involving the people who would be using the product. In many cases the different understanding of the task that should be solved between the developer and end user ends up creating a tool that nobody wants to use. This becomes especially important in a modern market, where any product has virtually unlimited amount of competition and customers are quick to go for another product if the other doesn’t invest in usability.
Test automation is nowadays almost a pre-requisite for any software development. Because of modern short development cycles that mean bringing smaller updates to software all the more often, manual testing is simply not fast enough. The modern solution is to use test automation for regression testing, but quite often it ends up focusing only on functional testing. Test automation is simply not seen capable of simulating users well enough, or repeatable usability testing is not seen as valuable.
For the purposes of comparison, a set of automated test cases was written to evaluate usability. The frame in which the work was conducted was based in Jakob Nielsen’s research on usability heuristics, specifically the heuristic “consistency and standards” was chosen for the effort. Then a more traditional usability interview was conducted on four users using the same test object.
The results were compared and although not perfectly aligned, the test automation did seem to yield meaningful results in the context. The difference could be easily taken into account by updating the test automation script and thus with relatively little effort reduce the amount of user testing required.