DragonCrawl: A Generative, Intent-Based Framework for Scalable Mobile End-to-End Testing
DragonCrawl is een AI-gestuurd, op intentie gebaseerd mobiel testframework dat de multimodale mogelijkheden van GPT-4o benut om hoge slaagpercentages te bereiken, de onboardingtijd voor testen drastisch te verminderen en onderhoudsoverhead te elimineren door specifieke gebruikersflows te valideren in CI/CD-pipelines, waardoor de schaalbaarheids- en broosheidsbeperkingen van traditionele end-to-end-testen worden overwonnen.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
Stel je voor dat je een enorme, voortdurend veranderende stad bouwt van glas en licht. Elke dag voegen architecten nieuwe torens toe, veranderen schilders de kleuren van de ramen en vervangen technici de deuren. Deze stad is een mobiele app, en de mensen die er wonen zijn miljoenen gebruikers. Om ervoor te zorgen dat de stad niet instort, moet je elke straat doorlopen, elke deur openen en elk raam controleren om te zien of het nog werkt. Dit wordt "testen" genoemd. Maar hier is het probleem: de stad verandert zo snel dat tegen de tijd dat je een straat hebt gecontroleerd, de architecten hem alweer hebben herbouwd. Als je probeert een strikte, robotachtige checklist voor elke deur te schrijven, breekt je checklist op het moment dat een schilder een deurklink verandert, en moet je hem vanaf nul herschrijven. Dit is de nachtmerrie van traditioneel app-testen: het is traag, fragiel en vereist legers aan mensen om constant kapotte checklists te repareren.
Maak kennis met het idee van een "AI-detective". In plaats van een robot die alleen precies weet waar een deurklink hoort te zitten, stel je een detective voor die begrijpt waar een deurklink voor dient. Als de deurklink verplaatst, raakt de detective niet in paniek; hij zoekt gewoon naar het ding dat de deur opent en loopt gewoon verder. Dit paper, geschreven door engineers bij Uber, introduceert een nieuw systeem genaamd DragonCrawl. Het gebruikt een superintelligente kunstmatige intelligentie (een Large Language Model) om als die detective te fungeren. In plaats van een rigide kaart uit het hoofd te leren, leest DragonCrawl de app zoals een mens dat doet: het kijelt naar het scherm, begrijpt het doel (zoals "een rit boeken") en bepaalt zelf de volgende stap. Het paper laat zien dat deze aanpak veel sneller, goedkoper en minder foutgevoelig is wanneer de app verandert, waardoor het bedrijf duizenden verschillende scenario's automatisch kan testen telkens wanneer ze hun app updaten.
De Oude Manier vs. De Nieuwe Manier
Voordat DragonCrawl probeerde Uber een methode genaamd DragonCrawl V1. Denk hierbij aan een student die een doolhof probeert op te lossen door een enkele foto van het pad uit het hoofd te leren. Als het doolhof er exact uitzag als de foto, kon de student erdoorheen lopen. Maar als de muren zelfs maar een klein beetje verschoven, of als de student dezelfde gang twee keer in verschillende delen van het doolhof zag, raakte hij in de war en liep hij cirkels. Dit systeem werkte redelijk voor eenvoudige taken, maar failliet bij complexe taken. Het was alsof je een stad probeerde te navigeren door alleen naar een enkele, statische kaart te kijken; zodra de stad groeide, was de kaart nutteloos.
De nieuwe versie, DragonCrawl V2, is een totale gamechanger. In plaats van een statische kaart, gebruikt het een "generatief" brein. Stel je een gids voor die nog nooit in jouw stad is geweest, maar wel weet hoe steden werken. Je zegt tegen de gids: "Ik wil naar de luchthaven," en de gids kijdt naar de huidige straat, de verkeersborden en de mensen om zich heen om te beslissen: "Oké, ik sla hier linksaf." Als de straatborden veranderen, stopt de gids niet; hij kijkt gewoon naar de nieuwe borden en gaat door. Dit is hoe DragonCrawl V2 werkt. Het komt niet alleen overeen met plaatjes; het redeneert over wat de volgende stap moet zijn op basis van het doel en wat het op dit moment ziet.
Hoe het Werkelijk Werkt
Het systeem is gebouwd op een paar slimme trucs die het bijna menselijk laten aanvoelen:
- Het Intentie-gebaseerde Brein: In plaats van een script dat zegt "Klik op knop A, klik dan op knop B," schrijven de engineers een simpele zin: "Boek een rit van het centrum naar de luchthaven." De AI leest dit doel en kijkt dan naar het scherm. De AI vraagt zichzelf af: "Ik zie een kaart en een 'Waarheen?'-vak. Om mijn doel te bereiken, moet ik op het vak tikken." Dit doet de AI stap voor stap, waarbij het alles onthoudt wat het tot nu toe heeft gedaan, zodat het nooit in een loop verdwaalt.
- De Visuele Detective: Wanneer de AI denkt dat de taak voltooid is, controleert hij niet alleen of er een specifiek woord is verschenen. In plaats daarvan maakt de AI een "screenshot" van het scherm en vraagt aan een superintelligente AI (GPT-4o): "Ziet deze afbeelding eruit als een succesvolle ritboeking?" De AI bekijkt de afbeelding, ziet het bonnetje of de bevestigingsmelding en zegt: "Ja, we zijn er!" Dit is veel moeilijker te breken omdat het er niet om geeft of de knop is verplaatst of dat de tekst is veranderd van "Bevestigen" naar "Oké".
- De Tijdreiziger (Tool Calling): Soms moet je, om een functie te testen, een nep-situatie opzetten. Om bijvoorbeeld te testen of een chauffeur wordt goedgekeurd, moet je doen alsof hij zojuist zijn ID heeft geüpload. In de oude dagen was dit een nachtmerrie. DragonCrawl kan nu direct praten met de "achterkant" van de app. Het kan zeggen: "Hé, doe alsof deze chauffeur zojuist is goedgekeurd," en het systeem verandert onmiddellijk de status zodat de test kan doorgaan. Het is also als een regisseur die "Cut!" roept en onmiddellijk de scène verandert voor de acteurs.
De Resultaten: Sneller, Slimmer en Goedkoper
De cijfers in het paper zijn behoorlijk indrukwekkend. Voordat dit nieuwe systeem bestond, duurde het creëren van een test voor een enkele functie ongeveer 96 tot 120 uur (dat zijn weken werk!). Met DragonCrawl V2 kunnen ze een test opzetten in minder dan 4 uur. Dat is een enorme versnelling.
Omdat het zo veel sneller is om op te zetten, was het team in staat hun testen uit te breiden van slechts 48 tests naar 1.013 tests. Ze draaien deze tests automatisch elke keer dat iemand de code wijzigt. Het systeem is ongelooflijk betrouwbaar: het slaagt 91,6% van de tijd op iPhones en 92,2% op Androids. Dit is een enorme sprong ten opzichte van het oude systeem, dat slechts ongeveer 80% van de eenvoudige tests slaagde en volledig faalde bij complexe taken.
Het paper benadrukt ook een verrassend voordeel: de kosten. Hoewel het gebruik van een superintelligente AI geld kost voor elke vraag die hij beantwoordt, bespaart het systeem het bedrijf eigenlijk een fortuin. Door het werk te automatiseren dat voorheen weken werk van mensen vereiste, schatten ze dat ze 27 ontwikkelaarjaren aan inspanning besparen. Dat is alsof er 27 extra mensen een heel jaar lang werken, simpelweg door de AI het zware werk te laten doen.
Waarom Dit Belangrijk Is voor Iedereen
Je vraagt je misschien af: "Waarom zou ik het eraan geven of een bedrijf zijn app beter test?" Nou, denk eens aan de laatste keer dat je een app gebruikte die steeds vastliep of waarbij je niets kon kopen. Dat gebeurt meestal omdat de app is veranderd en de tests de fout niet hebben opgemerkt. DragonCrawl helpt dat te voorkomen. Het zorgt ervoor dat wanneer je de app opent, de knoppen werken, de betalingen verlopen en de rit geboekt wordt, ongeacht welke taal je spreekt of in welke stad je bent.
Het paper merkt ook een verschuiving op in de mensen die het werk doen. In plaats van "klikkers" die simpelweg een script volgen, worden de testers nu "dirigenten" die de AI leren hoe ze moeten denken. Ze besteden minder tijd aan het repareren van kapotte tests en meer tijd aan het bouwen van nieuwe functies. Het verandert testen van een saaie, repetitieve taak in een creatieve, strategische baan.
De Limieten en de Toekomst
Natuurlijk is het paper eerlijk over wat DragonCrawl nog niet kan. Het vertrouwt op een externe AI-service, wat betekent dat als die service van regels verandert of uitvalt, het testen stopt. Het kost ook geld om het te draaien, dus kleinere bedrijven kunnen het nu misschien niet betalen. En hoewel het erg goed is in het volgen van een pad, is het niet perfect; soms neemt het een iets andere route dan bedoeld, hoewel het systeem is ontworpen om deze fouten op te vangen.
Maar de belangrijkste conclusie is duidelijk: de oude manier van apps testen — het schrijven van rigide, breekbare scripts — loopt tegen een muur aan. Apps zijn te complex en veranderen te snel. DragonCrawl laat zien dat door AI te gebruiken om intentie te begrijpen in plaats van alleen pixels, we een toekomst kunnen bouwen waarin apps grondiger, sneller en met minder hoofdpijn worden getest. Het is niet alleen een beter hulpmiddel; het is een nieuwe manier van denken over hoe we ervoor zorgen dat onze digitale wereld werkt.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.