Expertise hub / AI-assisted testen
AI-assisted testen 9 min lezen

Drie soorten self-healing: selector, timing en intent-based

“Self-healing” klinkt als één functie. Het is er drie: selector healing, timing healing en intent-based resolution, met een groot verschil in wat ze daadwerkelijk oplossen.

In de praktijk verbergt de term drie fundamenteel verschillende technieken, en vendoren zijn zelden duidelijk over welke van de drie hun product daadwerkelijk biedt.

// Drie healingtypes, drie probleemgroottes
Selector healing~28% van faalgevallen
Timing healing~30% van faalgevallen
Intent-based resolutionredesigns & grote wijzigingen

Selector healing: de bekendste vorm

Een element-ID verandert van submit-btn naar checkout-submit. Het systeem herkent het element via alternatieve kenmerken (tekstinhoud, positie, omliggende structuur) en werkt de locator automatisch bij. Dit is wat de meeste tools bedoelen wanneer ze "self-healing" claimen, en het is ook de eenvoudigste vorm.

Timing healing: de onderschatte meerderheid

Een test verwacht een bevestigingsbanner na een klik, maar de API-respons duurt 900 ms in plaats van 300 ms. Dat wordt vaak verkeerd toegeschreven aan "een kapotte selector", terwijl het probleem in werkelijkheid bij timing zit. Een goed systeem probeert de oorzaak van de timingfout te begrijpen en past bijvoorbeeld synchronisatie, waits of retries aan op basis van runtime-informatie.

Intent-based resolution: de zwaarste categorie

Bij een volledige redesign verandert niet één element, maar de hele opbouw van een pagina. Intent-based healing probeert te begrijpen wát een teststap probeert te bereiken, bijvoorbeeld "log in met deze gebruiker", en zoekt semantisch naar het juiste element, ook al is de onderliggende structuur volledig anders. Dit is de technisch meest geavanceerde vorm, en ook degene waar de kwaliteit tussen tools het sterkst uiteenloopt.

Vraag bij elke tool die "self-healing" claimt expliciet welke van de drie types ze bieden. Een tool die enkel selectors herschrijft, adresseert slechts één specifieke categorie van onderhoudsproblemen.

Self-healing is geen vervanging voor goede testautomatisering. Een test met duidelijke intentie, stabiele locators en correcte synchronisatie blijft de beste bescherming tegen onderhoudskosten. AI werkt vooral als vangnet voor wijzigingen die je niet vooraf kan voorspellen.

Hoe je een tool eerlijk evalueert

De beste aanpak is vaak een combinatie: stabiele, betekenisvolle locators (ARIA-rollen, data-testid) als eerste verdedigingslinie, met AI-gedreven fallback voor wat toch nog verandert.

Een voorbeeld uit de praktijk

Bij de evaluatie van een self-healing-tool voor een klant braken we doelbewust dertig tests op drie manieren: een klasse hernoemen, een element naar een andere plek in de DOM verplaatsen, en een API-call kunstmatig vertragen met 800ms.

// Resultaat van de proof-of-concept
Hernoemde klasse (selector healing)27 van 30 hersteld
Verplaatst element (selector healing)19 van 30 hersteld
Vertraagde API-call (timing healing)4 van 30 hersteld

De vendor claimde "95% self-healing" op basis van hun eigen demo-applicatie. Op onze eigen suite, met onze eigen mix van breekpunten, kwam de tool voor timing-gerelateerde problemen ruim onder de marketingclaim uit. Die 4 van 30 was precies het type informatie dat de knoop doorhakte: de tool werd gekozen voor selector-healing, aangevuld met eigen explicitewait-logica voor timing.

Hoe we dat soort test in de praktijk opzetten

// Weet wat je koopt

Twijfel je welk type self-healing jouw suite nodig heeft?

We evalueren je huidige suite en tonen welk healingtype het grootste verschil zou maken.

Plan een gesprek
// Lees ook