
Een Robot Gebruikt onze ArchiSnapper App!
Een paar keer per week gaat er een robot aan de slag in onze ArchiSnapper app.
Hij (of misschien wel zij?) klikt op élke mogelijke knop die er in de app geprogrammeerd staat.
Raar maar waar: hij (laten we zeggen dat het een “hij” is) klikt daar ook telkens opnieuw op dezelfde zaken.
Het scenario gaat min of meer als volgt, hij:
- Maakt een werfverslag of oplevering op een iPad en voegt er foto’s, observaties en verantwoordelijken aan toe
- Synct naar de cloud
- Checkt of het verslag in zijn online account verschijnt
- Gelukt? Hij plaatst een groen bolletje en gaat verder.
- Hij maakt een kloon van zijn rapport op zijn iPad
- Synchroniseert dit rapport
- Checkt of er nu twee identieke rapporten staan in zijn online account: het originele en de gekloonde versie
- Ook in orde? Hupla, weer een groen bolletje erbij en de test gaat verder
- verder en verder en verder … ongeveer 2u lang.
Crazy, niet waar? Het lijkt wel bezigheidstherapie!
Heeft die robot echt niets beters te doen?
Nee, dit “werk” is super nuttig. In deze korte video zie je hem in actie:
Veel groene bolletjes, maar waarom?
Onze apps ArchiSnapper en SafetySnapper worden dagelijks door duizenden klanten gebruikt. Deze apps werken met bedrijfsgegevens, en maken werfverslagen, opleveringen, audits en veiligheidsinspecties die vaak ook juridische waarde hebben.
Sinds 2013 bouwen we aan onze apps. We werken ze verder uit, ontwikkelen nieuwe features, passen zaken aan en finetunen waar mogelijk.
Stel dat we bijvoorbeeld een nieuwe feature ontwikkelen die het mogelijk maakt om een opmerking toe te voegen rechtstreeks op een grondplan.
(deze feature bestaat al in onze app btw, ik geef het hier mee als voorbeeld)
Die mogelijkheid heeft impact op verschillende plaatsen, schermen en knoppen. Zowel in de app als in de online account.
- We voegen nieuwe velden toe in de database
- Er komen nieuwe knoppen op verschillende schermen van de app
- We voegen nieuwe logica toe zodat de software begrijpt hoe alles samenwerkt en samenhangt
- In de werfverslagen komen ook nieuwe afbeeldingen: de screenshots van de aanduiding op het grondplan
- … en ga zo maar verder
Om dit allemaal te doen werken en de feature zo goed mogelijkt te ontwikkelen, gaan onze developers aan de slag in bijna alle delen van de bestaande code.
Ter illustratie: een kleine extra feature leidt makkelijk tot aanpassingen in 200 lijnen code die op hun beurt toegepast worden in 20 verschillende bestanden alvorens deze naar productie overgezet worden. Een grote verandering zal invloed hebben op 5000 lijnen code in 100 verschillende bestanden.
Naast al die aanpassingen in de code, zijn er ook nog eens talloze mogelijke manieren om onze app te gebruiken.
Sommige gebruikers gaan van scherm A naar scherm B en dan C, maar andere skippen B en gaan meteen van A naar C. Nog andere users starten met scherm C en gaan dan naar A. Sommigen gebruiken een iPad, anderen een iPhone. Er zijn er die foto’s nemen, en die dit niet doen.
Je snapt het wel.
In onze app/online account zijn honderden schermen. Duizenden mogelijke trajecten kunnen afgelegd worden door rond te klikken in de app.
Nadat we dus 5000 lijnen, of zelfs maar 5 lijnen code aangepast hebben, willen we weten of al deze “click paths” nog steeds werken. Liefst zonder bugs, en op alle mogelijke devices in elke taal die we ondersteunen.
Ken jij iemand die de tijd, energie, focus, concentratie en het geduld(!) heeft om duizenden mogelijke click paths te testen in de app, op alle verschillende toestellen telkens opnieuw, na elke minieme aanpassing in de code?
Iemand die dat dan ook nog eens kan zonder ook maar één menselijke fout te maken, die nooit vast zit in het verkeer en geen behoefte heeft om te roddelen?
Inderdaad: onze robot.
Voor de geeks: technisch gezien is het geen robot, maar een stukje software dat zo geprogrammeerd werd dat ze onze code op geautomatiseerde manier test. We noemen dit “test driven development“.
Onze developers schrijven zowel code voor de ArchiSnapper software als voor het onderhouden van de test software. 20%-50% van hun tijd gaat naar het schrijven van de test-software: onze robot.
Week na week, maand na maand, jaar na jaar zal deze robot exact doen wat wij vragen hem te doen: duizend keer klikken, telkens weer opnieuw een grondig onderzoek van onze app uitvoeren.
Nadien schotelt hij ons een rapport voor dat ons vertelt waar hij vastliep, en waar alles liep zoals het moest.
Bekijk bijvoorbeeld dit:
Hier vertelt onze robot: “Ik heb 73 minuten lang getest, checkte 4542 zaken en ik ben niet één issue tegengekomen (0 failures)”
Wat dit zo mooi maakt, is dat de robot dit zowel test op Android, als iOS. Zonder problemen! iPhone? “Yes, sir!” iPad? “Túúrlijk!”
Onze lieve robot zorgt ervoor dat wij ten alle tijde weten of er niets kapot is. En dat voor alle mogelijke combinaties van besturingsprogramma’s, click paths en combinaties in de app.
We truly 💚 him.
“Ok, nice, goed voor jou” hoor ik je al denken.
Inderdaad, fantastisch zelfs. Maar, ook voor jou!
Want hoewel er enorm veel werk kruipt in het “trainen” van de robot – Onze developers spenderen 20 tot 50% van hun tijd aan het schrijven van de robot-test software – voorkomt deze ook een pak miserie, stress, hoofdpijn, verdriet en reputatieschade als er een bug in de code van onze app sluipt, die bijvoorbeeld zou kunnen resulteren in het verlies van gegevens van al onze klanten.
Want als je simpelweg een puntje of komma vergeet in een database query in de code, kan dat leiden tot verlies van gegevens.
Jup dat kan zomaar: 20 volledige dagen rapporteringswerk verloren. Weg data. Weg werk. Auwtch!
“Verlies van data” x “honderden gebruikers” = klachten, support issues, slechtste geval: een rechtzaak of twee … HORROR!
Onze robot minimaliseert dat risico, voor ons én voor jou.
Onze robot verzekert jou als gebruiker dat je werkt met een stabiel en toekomstgerichte software. Software waarbij de risico’s op een crash na eender welke random update zeer beperkt is, zodat het risico op verlies van gegevens ook beperkt blijft.
Als je voor een bepaalde app of software kiest, zoals bijvoorbeeld eentje die opleveringen, werfverslagen of eender welke andere bouwgerelateerde documenten opstelt die op één of ander moment legale of bedrijfswaarde hebben, ben je er beter zeker van dat je werkt met een tool die gebouwd is op stabiele basis. Software die volledig futureproof ontwikkeld werd.
Dan ga ik nu mijn robot knuffelen. 😉 Tot de volgende!
Pieter