Pinch heeft iets nieuws. Pinch Perfect. Een platform om apps geautomatiseerd te testen. We spreken Roeland Weve, CTO van Pinch erover.
Roeland, je bent founder CTO van Pinch. Pinch bestaat al sinds 2011. Hoe werden de apps destijds getest?
Dat deden we als developers overwegend zelf. Je schreef een stukje code en keek vervolgens op een toestel of er gebeurde wat er moest gebeuren. Onze klanten testten ook wel een beetje, maar vaak ook dat niet eens. Dan hadden we een update van hun app en zeiden ze gewoon: “Prima, zet maar live”. Zonder er eigenlijk naar te hebben gekeken. Dat ging niet altijd helemaal goed, zullen we maar zeggen, haha.
We zijn inmiddels ruim 12,5 jaar verder. Hoe werkt het nu?
In algemene zin is er wel meer aandacht gekomen voor het testen van apps. Toch komt het nog steeds voor dat er apps die nauwelijks getest zijn, live gaan. Daar gaat dus nog best weleens iets mis. Als Pinch hebben we sinds de begindagen wel flinke stappen gezet om onze kwaliteit verder te verbeteren en te borgen. Zo wordt de code die door iemand wordt geschreven altijd door twee anderen bekeken, beoordeeld en becommentarieerd. Dat is echt onderdeel van ons werkproces. Ook gebruiken we tools als Sonarcloud om de geschreven code te verbeteren. En sinds een paar jaar hebben we ook eindelijk een dedicated QA-er, Kristina. Zij is echt een enorme versterking van het team gebleken.
Eindelijk?
Ja, we hebben erg lang gezocht naar een geschikte kandidaat. We zijn superblij met haar, al zoeken we ook nog steeds een extra collega voor die positie.
Test zij de code van developers?
Nee. Zij test alleen wat er op het scherm gebeurt. Dus puur wat een gebruiker ook ervaart. Zij maakt daarvoor een heel uitgebreid testplan, waarin per scherm staat wat er getest moet worden. En ze test vervolgens de apps op verschillende iPhones en Android-toestellen.
En nu introduceren jullie Pinch Perfect, dus dat vervangt het handmatig testen?
Nee, zeker niet. Dat bestaat echt naast elkaar. Maar het is wel een goede en welkome aanvulling op het handmatig testen. Want handmatige tests kun je natuurlijk niet met een hoge frequentie uitvoeren. En daarnaast zie je als mens toch meer en kun je meer onverwachte variëteit in een test aanbrengen dan geautomatiseerd mogelijk is.
Waar is Pinch Perfect dan wel goed in?
Met Pinch Perfect ben je in staat om de belangrijkste functionaliteiten of flows in een app te testen. Die bepalen we samen met de klant. Wij maken vervolgens de testscripts en een selectie van de toestellen waarop en met welke frequentie de tests uitgevoerd moeten worden. Op het moment dat de test heeft gedraaid, krijg je de resultaten automatisch via Slack toegestuurd. Superhandig, natuurlijk. En op het moment dat uit de test blijkt dat er iets mis is met de app, maken we een ticket aan voor het development-team, waarin een video wordt toegevoegd van het fragment waar iets mis gaat.
Ik snap dat je een app goed wilt testen voordat deze in de stores komt. Maar als de app eenmaal beschikbaar is, verandert er toch niks meer aan de code?
Dat klopt, maar de meeste apps zelf zijn eigenlijk continu in ontwikkeling, dus de code wijzigt vrij frequent. Als een app (of update van een app) de store ingaat is die in principe bug vrij, maar dan ontwikkelen we natuurlijk weer verder aan nieuwe features dus is het fijn om die ook weer te kunnen testen.
Voor apps die wat minder vaak bijgewerkt worden is het ook nog fijn om die automatisch te testen, helemaal als de app afhankelijk is van een API. De API kan gewijzigd worden, of door dynamische content in de app kan ineens iets ook niet meer goed werken.
Hoe hebben jullie Pinch Perfect precies opgezet?
Voor het schrijven van de scripts en het uitvoeren van de tests hebben we gekozen voor een bestaand platform: Maestro. Daar wilden we niet opnieuw het wiel voor uitvinden. Maar we hebben rondom Maestro wel een eigen omgeving gecreëerd, waardoor we nog meer toegevoegde waarde kunnen leveren. Zo is Maestro onderdeel geworden van ons CI/CD* proces. Dus op het moment dat we een app bijvoorbeeld aan een klant willen sturen ter goedkeuring, kan de developer aanvinken dat eerst de Maestro tests uitgevoerd moeten worden, op welke toestellen, etc. Ook de koppeling met Slack en het toevoegen van video-opnamen van de tests waarin iets misgaat, hebben we zelf ontwikkeld. Al met al staat er een robuust raamwerk, wat echt helpt om de kwaliteit van apps te waarborgen en continu te blijven bewaken.
Kun je iets vertellen over de resultaten?
We hebben getest met de NRC Nieuws app en hebben daar mooie resultaten behaald. We hebben de tests elke nacht gedraaid en al een aantal keer waren er bevindingen die we eerder nooit zouden hebben gezien. Zo ging er iets mis, omdat er op een ochtend een magazine in de app was gepubliceerd. Dat was een tijd niet voorgekomen en daar ging iets mis. We konden dat direct oplossen. Wat dat betreft bewees het direct z’n waarde. En los daarvan, hebben we nog verschillende bugs in een heel vroeg stadium kunnen detecteren.

Kunnen apps die jullie niet hebben ontwikkeld ook gebruikmaken van Pinch Perfect?
Ja, dat kan zeker. In principe is alles wat we nodig hebben, de app zelf. Eenmalig is er wat afstemming nodig over wat er allemaal getest moet worden, op welke toestellen en met welke frequentie. Daarna verloopt het eigenlijk allemaal automatisch, inclusief meldingen, rapportages en eventuele tickets voor het app development-team.
Enne, wat kost Pinch Perfect eigenlijk?
Haha, goede vraag. Is een beetje afhankelijk van het aantal tests en dergelijke. Maar denk aan rond de €1500,- per maand per app.