Innovatie

Niet zapp, maar app: ontwikkel populaire apps met crowdtesting

0

De overvloed aan apps vormt een enorm probleem voor iedere ontwikkelaar. Door het aantal concurrerende apps zijn negatieve reviews in een app store dodelijk, dus hoe kun je zekerder zijn van positieve reacties? Hoe weet je dat jouw app voor de gebruiker écht verschillend is van je concurrenten? Een tweede kans om een app te lanceren krijg je meestal niet, dus hoe zorg je ervoor dat het de eerste keer raak is?


Kiezen doet pijn: heb je eindelijk een smartphone of tablet gekozen, staat er in de app stores een veelvoud aan apps tot je beschikking. De keuze voor de eindgebruiker van mobiele apparaten is enorm.

Functionaliteit en gebruiksvriendelijkheid zijn doorslaggevend

Het aantal aanbiedingen en toepassingen van mobiele apparaten groeit gestaag. Mobiele lifehacks zijn er voor zo goed als iedere activiteit die we kunnen bedenken. Voor al deze apps geldt hetzelfde: de functionaliteit en de gebruiksvriendelijkheid zijn doorslaggevend. Als een app bij het eerste gebruik niet overtuigt, wordt het voor een gebruiker al snel ‘zapp’: het aanbod is tenslotte groot. Alleen al Google Play biedt ruim 1 miljoen apps aan (stand juni 2013) om Android-apparaten bruikbaarder te maken.

Met deze vragen in gedachten is het wonderlijk dat maar één derde van alle ondernemingen wereldwijd hun apps testen (World Quality Reports 2012). Pre-release testing kan er namelijk voor zorgen dat de app bij lancering optimaal is.

Foto met dank aan Fotolia.

Foto met dank aan Fotolia.

Dilemma voor ontwikkelaars

Er is een enorme verzameling aan mogelijke testmethodes op de markt. Zo kan er intern getest worden, maar kunnen experts ook om hun mening gevraagd worden. De vragen waar het om gaat zijn vaak de volgende: is de app intuïtief te besturen? Voldoet hij aan de eisen van de gebruikers? Hebben de ontwikkelaars aan alle benodigde features gedacht? Werkt de app op alle gangbare apparaten en systemen? Kortom, is de app gebruiksvriendelijk?

Dat deze vragen op allerlei verschillende manieren beantwoord kunnen worden is duidelijk, maar wat is de beste aanpak voor developers? Well, it depends! Een ideale manier om achter de gebruiksvriendelijkheid van een app te komen is er niet, dus vaak is een combinatie van testmethodes de beste oplossing. Afhankelijk van de app en de ontwikkelaar kan hierbij meer gefocust worden op interne of externe tests, en op tests door experts of door eindgebruikers zelf.

Crowdtesting als een uitbreiding op interne tests

De laatste combinatie, een externe test door eindgebruikers, noem je crowdtesting. Crowdtesting-aanbieders bieden antwoorden op de vragen die ontwikkelaars stellen, met behulp van feedback van normale eindgebruikers. De eindgebruikers testen de app op hun eigen apparaten en in hun eigen omgeving, en geven daarna hun mening over het gebruik. De vragen over gebruiksvriendelijkheid worden daardoor niet geoutsourcet naar externe experts, maar gecrowdsourcet naar het publiek.

Iedereen die een computer, smartphone, of een tablet in het bezit heeft kan zich registreren op de platforms van crowdtesting-providers. De nieuwe leden van de crowd maken een profiel aan en verschaffen hun demografische kenmerken, informatie over hun apparaten, en informatie over hun technische kennis. Daarnaast maakt iedere nieuwe tester een ‘entry-test‘, zodat de crowdtesting-aanbieder de kwaliteit van de diensten van de tester kan controleren.

Van studenten tot IT-experts

Op deze manier kunnen crowdtesting-aanbieders hun klanten afhankelijk van de vraagstelling een diverse en gekwalificeerde crowd aanbieden. De samenstelling van deze crowd varieert van studenten tot huisvrouwen en IT-experts. Deze gebruikers bieden feedback die specifiek voor hun doelgroep is. Daarnaast vinden eindgebruikers vaak fouten die tijdens de ontwikkeling niet opgemerkt worden. Deze problemen of bugs kunnen gereproduceerd worden op meerdere apparaten. Als een fout op specifieke hardware wordt vastgesteld kan deze door andere testers op hun apparaten en systemen getoetst worden.

Het verschil tussen managed en self-service crowdtesting

Oke, crowdtesting is dus een mogelijke manier om feedback van eindgebruikers te krijgen. Hoe zit zo’n project dan in elkaar? Er zijn globaal gezien twee manieren van aanpak. Sommige crowdtesting-providers bieden namelijk zowel self-service crowdtesting als managed tests aan. Wat betekent dit precies voor de ontwikkelaar? Wat is de beste methode voor welke app of website? Om deze vragen te beantwoorden moeten we kort het testproces doornemen.

Laten we aannemen dat een ontwikkelaar bezig is met het ontwikkelen van een app en besloten heeft om die door een crowdtester te laten testen. De eerste stap die gezet moet worden is het voorbereiden en opzetten van de test. Daarbij wordt bekeken wat de inhoud van de test wordt, welke doelgroep de test moet uitvoeren, en welke vragen beantwoord moeten worden.

Tijdens de volgende stap, de test zelf, is het cruciaal dat het project nauwkeurig gemanaged wordt. Testers testen thuis, in de trein, of zelfs op het strand. Ze worden gevraagd om een gedetailleerd rapport te schrijven over wat ze hebben uitgevoerd en het rapport te staven met screenshots of screencasts. Dit is belangrijk om zeker te weten dat de tester de complete test heeft uitgevoerd, en om de exacte reden voor de feedback te kunnen bekijken.

De laatste stap van een test is de samenvatting en het eindrapport. Alle feedback van testers wordt opgesomd en oplossingen voor ieder probleem worden bedacht. Afhankelijk van de focus van projecten varieert de hoeveelheid tijd die nodig is voor de verschillende onderdelen van een test. Het complete testproces is, zelfs voor kleine tests, arbeidsintensief. Ieder testrapport wordt namelijk meegenomen in de conclusie. Dat betekent dat er per project gemiddeld 25, maar afhankelijk van de test soms zelfs meer dan 45 rapporten moeten worden geanalyseerd.

ミニチュア人形の行列

Foto met dank aan Fotolia.

Budget speelt natuurlijk een rol

Om de juiste keuze te maken neemt de ontwikkelaar alle genoemde elementen mee in zijn of haar berekening. Een managed service bespaart het team van de ontwikkelaar veel tijd, tijd die in dit geval gebruikt kan worden voor de ontwikkeling zelf. Bij een self-service test, daarentegen, zal de setup, het project management, en de evaluatie intern moeten gebeuren. Aan de andere kant speelt het budget natuurlijk een rol. Bij een managed service wordt er gebruikt gemaakt van de resources van de crowdtesting-provider. Voor de ontwikkelaar zijn daarom de directe kosten voor een managed test hoger dan voor een self-service test, waarbij alleen het platform en de testers van de crowdtester worden gebruikt.

Kiezen

Om een keuze te maken zal je als ontwikkelaar daarom de volgende vragen moeten beantwoorden:

  1. Moeten de testers in deze test actief begeleid worden? Is in deze test bijvoorbeeld documentatie met screenshots of screencasts nodig?
  2. Heb je binnen je team ervaring met het opzetten van testprojecten?
  3. Heb je de kennis om een test uit te voeren?
  4. Heb je de resources (met name de tijd!) om de test zelf te managen en te evalueren?
  5. Heb je het budget om van een managed test gebruik te maken?

Als je al deze aspecten meeneemt, kom je over het algemeen op de conclusie dat het het beste idee om te beginnen met tenminste één managed crowdtesting0project. Op deze manier kan je als ontwikkelaar beter inschatten wat de kosten en baten van een self-service test zouden zijn. Voor de rest kun je twee vuistregels hanteren:

  • Een éénmalige test kost de meeste tijd om op te zetten en te managen. Daarom is in dit geval een managed project bijna altijd de beste keuze.
  • Een standaard test die op regelmatige basis terugkeert, is een ideaal doel voor self-service testing.

Als het testen een issue is op de lange termijn, moet je ook kijken naar de integratie van de tests in het ontwikkelproces. In veel gevallen kan er met de crowdtesting-provider dan een ‘flat-rate‘-deal gesloten worden.

De toepassingen van crowdtesting

Ongeacht de vorm van een project, kan crowdtesting op meerdere manieren gebruikt worden door ontwikkelaars van apps en websites. Ten eerste kan de crowd testen op bugs. Dit kan door middel van gerichte opdrachten, maar ook open-ended use-cases. Ten tweede kan de crowd gevraagd worden om feedback te geven op alles van prototypes tot eindproducten. Hierbij kan gefocust worden op details of op de complete app of website. Bugtesting en usability-testing kunnen ook worden gecombineerd tijdens tests. Ten slotte kunnen nieuwe versies van apps en websites vergeleken worden met oude versies van het product.

Door middel van crowdtesting kunnen developers nog tijdens ontwikkeling gedetailleerde feedback van eindgebruikers krijgen. Dit maakt crowdtesting een belangrijke uitbreiding van het huidige arsenaal aan softwaretesting-methodes. Met softwaretests op gebruiksvriendelijkheid kunnen ontwikkelaars een stuk zekerder zijn van de acceptatie van hun app of website door eindgebruikers.

In deze ‘app of zapp’-industrie kan dat het verschil betekenen tussen leven en dood. Mist het enige schot doel, of is het een schot in de roos?

Foto intro met dank aan Fotolia