Zoeken

We bouwden een AI-agent die websites en apps test

Donkere digitale poort met een oranje drempellijn en zwevende teal wireframe browser-vensters, als symbool voor een AI-agent die websites test aan de poort.

Build in public: van onze eigen site naar apps achter een login

Wij verkopen AI-gestuurde testautomatisering, maar onze eigen site had geen enkele test. Dus bouwden we een AI-agent die websites zelf verkent en test, en lieten hem eerst los op onszelf. Het verhaal tot nu toe, inclusief wat er misging.

In: Blog, Nieuws

De situatie

Een goede test-agent bewijs je niet met een demo op een showcase-site. Je bewijst hem op de sites en applicaties waar het echt telt, met logins, meerdere flows en jaren aan ongeziene hoekjes.

Wij begonnen daarom bij de meest ongemakkelijke plek: onze eigen website. Het bedrijf dat testen verkoopt, met een site die zelf nooit automatisch getest was.

De agent werkt anders dan “AI die maar wat klikt”. Hij crawlt de site zelf, ontdekt de flows die ertoe doen, en laat éérst zien wát hij gaat testen en wat dat kost. Jij keurt dat plan goed. Pas dan voert hij het uit. Geen ongecontroleerde bot die je productieomgeving in stormt, maar een agent die zijn werk vooraf verantwoordt.

Wat er uitkwam op onze eigen site

De eerste run duurde zeven minuten en kostte minder dan een kop koffie. In die tijd ontdekte de agent vijf flows en testte ze: het kenniscentrum, een klantcase, de vacaturepagina, de homepage-navigatie en het contactformulier.

Drie liepen schoon, maar op de homepage vond hij iets dat wij zelf nooit hadden opgemerkt: een rij toegankelijkheids problemen. Onvoldoende kleurcontrast op tekst, links zonder leesbare naam voor schermlezers, een ingesloten kaart zonder titel, en één kritieke, een component waarvan de structuur voor een schermlezer niet klopt.

Wij dus, op onze eigen site, en eerlijk is eerlijk: bij het contactformulier liep de agent vast op onze eigen reCAPTCHA. Precies zoals het hoort tegen bots, maar het betekende ook dat we die bevestigingsstap zelf nog nooit hadden gecontroleerd.

Dat een testbedrijf zijn eigen site niet perfect heeft, is precies het punt. “Het werkt toch gewoon” klopt vaker niet dan je denkt, en zonder een agent die het nakijkt, weet je het simpelweg niet.

De echte test: achter een login

Een open website testen is makkelijk, maar de echte uitdaging is een applicatie die je pas ziet nadat je bent ingelogd en een omgeving hebt gekozen. Daar stoppen veel testtools, en daar begint het interessante werk.

Dus lieten we de agent los op een echte web applicatie achter een login. Het lastigste zat niet in het testen zelf, maar in het binnenkomen. Dit soort moderne webapps bewaren je sessie niet in een simpel cookie, maar diep in de browser. De agent moest die hele inlog-aanloop zelf leren doen, en die daarna onthouden, zodat elke volgende test gratis vanaf het ingelogde scherm start.

Toen dat eenmaal werkte, draaide hij een compleet scenario van twintig stappen. Van inloggen tot de controle dat de ingevoerde gegevens daadwerkelijk in de backend waren aangekomen. Niet alleen “de app reageert”, maar “de data klopt”, de hele keten van invoer tot opslag.

Het resultaat: twintig van de twintig stappen groen en herhaalbaar, en onderweg zes echte bevindingen die niemand had gezien. Vijf toegankelijkheidsproblemen en een fout in de console.

Wat we bewust bouwden

Een agent die één keer een leuke run doet, is een demo. Een agent die je in productie durft te vertrouwen, is iets anders. De afgelopen periode ging de meeste energie naar dat verschil.

  • Herhaalbaar voor nul euro. De eerste keer dat de agent een flow leert, kost wat AI-rekenkracht. Daarna draait exact hetzelfde scenario deterministisch opnieuw, bij iedere release, zonder AI-kosten per run. Die leerfase maakten we bovendien ruim de helft goedkoper door de aanloop slim te hergebruiken.
  • Alleen geslaagde flows tellen. Er zit een kwaliteitspoort in, want een scenario wordt pas een herbruikbare test als de agent het foutloos heeft doorlopen. Loopt hij halverwege vast, dan wordt het geen test. Geen schijnzekerheid, geen groene vinkjes die niets betekenen.
  • Klaar voor productie, niet voor de showcase. De tool draait inmiddels in onze eigen EU-cloud, met echte gebruikersrollen, strikte scheiding tussen klanten, en een auditspoor van wat er is uitgevoerd. Data blijft binnen Europa en wordt volgens een vast schema opgeruimd.
  • Toegankelijkheid als eerste-rangs resultaat. In vrijwel elke run komen WCAG-bevindingen naar boven. Niet als bijvangst, maar omdat toegankelijk testen en functioneel testen in dezelfde beweging gebeuren.

Waarom deze aanpak werkt

  • Verantwoording vooraf. De agent toont zijn plan en de kosten voordat hij iets doet. Dat maakt het verschil tussen een hulpmiddel en een risico.
  • Bewijs op echt werk, niet op een demo. Onze eigen site en een echte applicatie achter een login zijn eerlijker testcases dan welke showcase dan ook.
  • De waarde zit in de herhaling. De eerste run vindt de bugs. De honderdste run, gratis en deterministisch bij elke release, voorkomt dat ze terugkomen.

Build in public

We zijn er nog niet, want elke week loopt de agent op iets nieuws vast, en elke week lossen we het op. Dat delen we bewust openlijk, hier en op LinkedIn: wat werkt, en wat nog niet.

Wil je weten hoeveel van jouw website of applicatie écht getest is, en niet alleen bij oplevering? Neem contact op, of lees meer over onze AI-gestuurde testautomatisering.

Nieuwsgierig of maatwerk voor jou het verschil kan maken?

Neem contact met ons op voor maatwerkoplossingen in Java, geleverd door een ervaren team dat stabiliteit, continuïteit en optimalisatie garandeert voor jouw bedrijfsprojecten.

Toestemming