Het uitbouwen van een eigen device farm

Waarom een device farm?

Nieuws

De vraag die het meest gesteld werd: waarom zouden we investeren in een lokale device farm nu cloud technologieën in overvloed aanwezig zijn? Het antwoord is simpel: het is het waard. Kleinere bedrijven hebben vaak een beperkt budget en met een lokale device farm kan je door een éénmalige uitgave de hoeveelheid en, het meest belangrijke, de kwaliteit van je testen behouden.

De langere versie is iets specifieker: mits correcte research en analyse kan je met een bescheiden budget een solide device pool aansturen en zo uren manueel testwerk uitsparen. Het uitbouwen van een eigen farm sluit een cloud oplossing zoals Saucelabs, BrowserStack of AWS Device farm niet uit. Beschouw het als een extra legoblokje: beide technologieën vullen elkaar aan. De device farm voorziet snellere feedback en maakt de applicatie visueel en tastbaar. Aan de andere kant handelt het cloud platform gemakkelijker exotische configuraties af en vergroot zo het bereik van je testen.

Gerichte opzet

Je project bepaalt grotendeels de opzet van je device farm. Een belangrijk detail is dat als je kosten wil besparen, je de meest populaire toestellen van je doelpubliek moet gebruiken. Daarnaast bepaalt het gebruik je modus operandi. Ga je één specifieke applicatie op het toestel ondersteunen of meerdere?

De opbouw van een device farm levert interessante uitdagingen op. Ten eerste is de grootte van je farm een belangrijke moeilijkheidsgraad: gelukkig kan je met twee toestellen en een host machine een minieme set-up voorzien. Ten tweede is de configuratie-leercurve vrij steil in het begin. Eenmaal ingewerkt, ken je wel de gekozen geconfigureerde set-up door en door. Het afstemmen ervan en stabiliteit inbouwen zijn ten slotte de laatste technische obstakels voor een goed te onderhouden en betrouwbare farm.

Verdeel en heers

Na de geslaagde technische opzet onderzochten we verdere mogelijkheden. We codeerden op de farm een uniek ‘queueing’ systeem en schepten zo de mogelijkheid om meerdere projecten te gebruiken.

Een andere meerwaarde was de toestellen opsplitsen op twee manieren. We maakten device groups en wezen bepaalde toestellen aan een groep toe. Een voorbeeld hiervan is de groep ‘toestellen voor 2020’. Onderverdelen op basis van het besturingssysteem was ook mogelijk, zoals per iOS 14 besturingssysteem.

Spelen met technologieën

Alle bovenvermelde zaken hadden uiteraard ook enkele lijnen code nodig om naadloos te functioneren. Voor de samenwerking tussen alle technologieën schreef Refleqt een Jenkins plug-in die de device farm service aanstuurt richting Appium die zo de testen startte en losliet op de applicaties.

Onze node-agent van dienst was een Mac Mini. Wij configureerden de agent zodat het nadien kinderspel was om andere node-agents, of mobiele toestellen te herkennen en aan te sluiten op onze device farm.

Zo blijven we heel flexibel, kunnen wij onze farm aanpassen aan de noden van de klant en tackelen we zonder problemen alle bugs.

Refleqt benadrukte zijn eigen testingexpertise en bracht een lokale, gepersonaliseerde device farm tot leven.

Dit bericht delen: