De wereld om ons heen verandert op dit moment erg sterk. Grenzen vervagen tussen personen en landen waardoor er meer samenwerking ontstaat. Grenzen tussen bedrijven vervagen door interactie met consumenten en lange ketens door bedrijven heen. De grens tussen werk en privé wordt dunner en dunner. Veel veranderingen zijn het gevolg van de vele mogelijkheden en voordelen die het internet met zich meebrengt. Ze beïnvloeden ons dagelijks leven, denk aan hoe wij participeren in sociale netwerken, communities en hoe we bijvoorbeeld zakelijk gebruikmaken van allerlei hulpbronnen als wiki-pagina's en blogs binnen en buiten ons bedrijf. Deze interactie zorgt voor een andere manier van werken. Kennis halen we bijvoorbeeld niet uit onze eigen procesbeschrijvingen maar ook van allerlei online fora en wiki-pagina's. Testen verandert door deze zaken.
Daarnaast is crowd sourcing in opkomst, waarbij allerlei individuen gezamenlijk een stuk software ontwikkelen. Als we kijken naar het vak van softwaretesten, waarmee een kwaliteitsoordeel over software wordt gegeven, komt dit fenomeen nauwelijks voor. Er zijn echter verschillende aanleidingen die ervoor zullen zorgen dat crowd testing in de toekomst meer en meer aanwezig zal zijn. In dit artikel is hieraan tekst en uitleg gegeven.
De uitleg van crowd testing
Crowd testing is het uitvoeren van testen door een community die hier vrijwillig aan deelneemt. Deze testen zijn niet gefocust op het vinden van zoveel mogelijk fouten, maar op het accepteren van de applicatie. Op kleine schaal vindt het al plaats in vormen van bètatesten, deze vorm van testen is in vergelijking met traditioneel testen voor veel bedrijven nog wat verder weg. Echter zullen er in de toekomst meer redenen zijn om het werk in de crowd uit te laten voeren. Denk hierbij aan bijvoorbeeld alle verschillende webbrowsers waarin de software moet draaien en mogelijke devices die daaronder liggen. Een grote community heeft deze tot haar beschikking.
Traditioneel testen vindt plaats op basis van een afweging van risico's en de uitvoering vindt zo efficiënt als mogelijk plaats. Bij crowd testing wordt het werk aan de crowd gegeven en zullen zij het testen. Als de individuen in de crowd de kwaliteit voldoende achten, kun je het accepteren. Hierbij moet je wel weten wie de crowd is zodat het een representatieve afspiegeling van de doelgroep is.
Naarmate de gevoeligheid en/of de risico's van de te testen applicatie hoger zijn, zal de controle op de crowd groter moeten zijn. Je kunt je voorstellen dat je niet zomaar elk vertrouwelijk stukje code aan de gehele wereld kan toevertrouwen. Een nationaal beveiligingssysteem of hypotheekberekeningen bevatten gevoelige informatie. Echter, een game of een applicatie voor het bestellen van hypotheken kun je goed in de crowd laten testen. Hierbij kun je dan veel feedback ontvangen over bijvoorbeeld de bruikbaarheid en performance. Als je bijvoorbeeld veel verschillende gebruikers vanuit heel de wereld je applicatie laat benaderen en je meet ondertussen op je eigen systeem de performance, krijg je een goede indruk van de werkelijkheid.
De drijfveren om het werk in de crowd uit te voeren
Er zijn verschillende drijfveren om het werk aan de crowd uit te besteden. Sommige komen vanuit de gebruiker, sommige vanuit de software en andere uit de bedrijven zelf. Een drijfveer voor een bedrijf kan bijvoorbeeld kostenreductie zijn. Als zo'n bedrijf veel testers op de bank heeft zitten voor een kleine periode per maand kost dat veel geld. Als je testers in kunt huren op het moment dat je ze nodig hebt en zolang je ze nodig hebt, kan dat veel goedkoper zijn. Meestal is er interactie tussen deze drie. De verschillende redenen zijn weergegeven in de figuur. Als je wilt testen of de nieuwe applicatie op allerlei verschillende mobiele telefoons werkt, zul je in je crowd personen nodig hebben die allemaal verschillende telefoonplatforms hebben met verschillende versies van de telefoonsoftware om dat te testen. Voor veel kleine bedrijven is het immers geen optie om tientallen verschillende telefoons aan te schaffen. Test je dus het aspect portabiliteit, dan kunnen lagere kosten een drijfveer zijn.
Een nadeel van crowd testing is onder andere dat gevoelige informatie beschikbaar komt bij een groot publiek en dat een product met veel fouten negatieve publiciteit krijgt. Daarnaast is er minder controle over wie wat test. Bedrijven zullen moeten beoordelen of de voordelen van crowd testing opwegen tegen deze nadelen.
De reden dat testers in de crowd willen testen
Voor testers zijn er verschillende redenen om deel te nemen aan crowd testing, deze zijn onder te verdelen in vier vlakken. Het meest opvallende is als je kijkt naar bijvoorbeeld crowd sourcing dat de reward meestal niet gebaseerd is op geld. Dit heeft gevolgen voor de gevestigde orde. Iedereen zal zo iets anders uit de crowd halen.
Voor veel developers is het een eer mee te werken aan open source-projecten. Voor testers zie je dit ook ontstaan met 'testersweekenden' waarin open source-programma's worden getest.
De praktijk van crowd testing
De werkverdeling zelf zal voor een groot gedeelte door de crowd zelf gebeuren. Iedereen pakt op wat hij leuk vindt en welke vaardigheden hij heeft. Zij zullen voor een deel bepalen wat ze leuk vinden. Een securityexpert zal bijvoorbeeld applicatiebeveiliging gaan testen en een performance-expert de prestaties van de applicatie. Een grotere variatie in de crowd zal er toe leiden dat er meer aspecten van de applicatie worden getest.
Bij het testen van webapplicaties kan de aansturing en rapportage plaatsvinden door het geautomatiseerd registreren van de pagina's die zijn getest. Daarnaast kan dit systeem de bevindingen centraal beheren en de testers de mogelijkheid geven gedurende de test bij te laten houden welke testen ze hebben uitgevoerd. Hiervoor is een webbased tool noodzakelijk. De huidige testtools zijn hiervoor al geschikt. Denk daarbij aan bijvoorbeeld de testsuites die worden geboden door bijvoorbeeld HP en IBM.
De rol en werkzaamheden voor de gevestigde testbedrijven
Als werkzaamheden uitgevoerd door de testers gratis zijn, waar verdienen de huidige testbedrijven dan geld mee? De rol die ze kunnen vervullen zal mogelijk een rol van mediator en facilitator zijn waarbij ze faciliteren in tooling en testomgevingen.
De gevestigde orde kent zijn klanten erg goed en kunnen voor hen de communicatie doen naar een netwerk geordende crowd. Netwerk geordende crowds zijn te vergelijken met sociale netwerken, waarbij mensen elkaar kennen en via via verbonden zijn aan elkaar. Ook als het gaat om werkverdeling en rapportage over resultaten kunnen de huidige testbedrijven een rol spelen.
Een belangrijk instrument, is een crowd atlas. Hierin is opgenomen wie zich in de crowd bevindt, denk aan eindgebruikers, experts, testers en geïnteresseerden. Daarnaast kan een overzicht geboden worden van wie welke vaardigheden heeft en waarin hij geïnteresseerd is, maar ook wie welk besturingssysteem heeft en welke versie van de internetbrowser. Het opzetten van een dergelijke crowd kan beginnen bij je eigen klantenkring in kaart te brengen en aan te schrijven, of door je aan te sluiten bij vakgroepen op bijvoorbeeld het sociale netwerk LinkedIn. Per opdracht kan men zich inschrijven of kan de opdrachtgever direct mensen in de crowd benaderen.
De mate waarin crowd testing onze bestaande werkzaamheden zal gaan vervangen is nog de vraag. Dat het echter steeds belangrijker wordt is wel duidelijk. Denk aan wat er nu al is op kleine schaal en in de vorm van bètatesten is.
Dit artikel is geschreven in een samenwerking tussen Jan Sipke van der Veen, TNO ICT, en Andréas Prins, Sogeti Nederland
Betatesten is 1 ding, acceptatietest is alweer iets heel anders en crowd testing lijkt mij een leuke hypenaam, maar niks toevoegends voor de klant.
Hoe houd je het als klant controleerbaar?
Zoek dat eerst maar uit als tester/ innovatiemanager etc etc en kom er dan mee naar de klant.
Ik zie graag in de reacties op dit artikel hoe mijn collega testers hier tegenaan kijken.
Crowd testing klinkt me in de oren als “Open Source” testen. Een community die helpt om software te testen, dat gebeurd al zeer veel en is daarmee niet bijzonder. Kijk naar een bedrijf als Microsoft. Hoelang kun je al niet een pre-release van Windows 7 downloaden? Dus ook commerciele bedrijven doen dit al.
Belangrijkste vraag die bij mij opkomt, is hoe je ervoor zorgt dat alles getest wordt. Daar lees ik nog niets over. M.i. kan dat net als bij open source bugfixing gewerkt worden met “tickets” die worden opgepakt. Hiermee kan nog steeds iedereen zelf een te testen functionaliteit uitzoeken uit de nog te testen onderdelen, maar voorkom je dat het about-scherm 1000 keer getest wordt en order invoer scherm 0 keer; terwijl dat laatste nu misschien net de kern van de applicatie is.
Kortom, idee is niet nieuw. Wat wel nieuw zou zijn, is hoe je het in goede banen leidt.
Crowd testen is een hype term waarbij de focus meer ligt bij het idee dan bij de uitvoering daarvan. Is bijvoorbeeld gedacht aan de kwaliteit van testen. Wij gaat dit bepalen?
Wordt er onderscheid gemaakt tussen ?black box ? en ?white box ? testers?
Voortgang van het testen is niet direct te be?nvloeden, immers te testers testen geheel vrijblijvend zonder enig vergoeding. Onderdeel van de acceptatie cirteria is de performance van de (applicatie) software. Hoe wordt de productie omgeving in de testomgeving nagebootst.
Al om al zijn er teveel praktijk knelpunten, die ervoor zorgen dat crowd testen, zoals in het artikel beschreven vorm, nog geen geaccepteerd testvorm is. De ontwikkeling is dat bedrijven, gedwongen door de crisis, creativer moeten nadenken om, op een verantwoorde manier, kosten van het testen te reduceren. Idee?n als crowd testen versnelt en versterken dit proces.