Skip to Content
TestingAutonome app-walker

Autonome app-walker

De autonome walker verkent een begrensd deel van de UI van een webapplicatie in een beheerde tester VM. Hij legt staten, overgangen, screenshots, console- en netwerkdiagnostiek en gededupliceerde bevindingen vast. Handig voor ontdekking; het is geen bewijs dat elke route of elk gedrag is getest.

Beschikbaarheid: het walker-dataplane, rapporten, geauthenticeerde profielen, begrensde mechanical/AI/hybrid/task-modi, veiligheidscontroles en scenariomining zijn geïmplementeerd. Een walk kan nog steeds gedrag missen door limieten, dynamische UI, ontoegankelijke labels, ontbrekende credentials of model-/parserfouten. Bekijk de dekking voordat u op het resultaat vertrouwt.

Veilig starten

Gebruik een niet-productieomgeving en een dedicated testaccount. Haal een tester VM op en start met het standaard mechanical-beleid:

ensure_tester_vm(app="my-app", app_url="https://staging.example.com") walk_app( app_name="my-app", app_url="https://staging.example.com", vm_name="<tester-vm>", max_states=40, max_depth=5, max_wall_seconds=600, destructive_allowed=false )

walk_app keert meteen terug. Bewaar de walk_id, poll daarna get_app_walk(walk_id=...); roep stop_app_walk aan als de run eerder moet stoppen.

Verkenningsmodi

ModeGedrag
mechanicalBegrensde traversatie in DOM-volgorde; geen modelranking
aiEen model rangschikt kandidaat-acties en valt terug wanneer de aanroplimiet is bereikt
hybridModelranking voor de eerste geconfigureerde staten, daarna mechanical-traversatie
cotTaakgerichte zoekactie met een beslissingslimiet en optioneel outputschema

AI- en hybrid-modi vallen terug op mechanical wanneer geen ondersteunde modelbackend beschikbaar is. Taakgerichte modus faalt in plaats daarvan. Door het model gerangschikte acties blijven onderworpen aan hetzelfde origin- en destructive-action-beleid.

Veiligheidscontroles

  • Destructieve acties worden standaard overgeslagen.
  • destructive_allowed=true staat alleen de bewaakte klasse toe; labels met hoge inzet blijven geblokkeerd tenzij ze expliciet op een allowlist staan.
  • Taakgerichte modus accepteert nooit destructive_allowed=true.
  • Formulierinvulling vermijdt gevoelige velden en blokkeert transactionele submits.
  • Navigatie is beperkt tot de origin; taakmodus kan een expliciete begrensde origin-allowlist toevoegen.
  • Authenticatieconfiguratie bevat geheime variabelenamen, geen letterlijke credentials. De scenario runner haalt waarden op uit de keystore van de eigenaar.

Een allowlist is een autorisatiebeslissing van de operator. Gebruik smalle letterlijke labels, controleer de doelomgeving en geef de voorkeur aan testdata die weggegooid kan worden.

Het resultaat lezen

Een voltooide walk rapporteert wat daadwerkelijk is waargenomen:

  • bezochte UI-staten en overgangen;
  • screenshots en vingerafdrukken van interactieve elementen;
  • console- en relevante netwerkfouten;
  • bevindingen met severity, category, evidence en een deduplicatiesleutel; en
  • de geconfigureerde limieten voor state, depth, action, time, model en safety.

completed betekent dat de frontier is uitgeput of een geconfigureerde limiet is bereikt zonder interne fout. Het betekent niet dat de applicatie is geslaagd. Bekijk blocker- en major-bevindingen, overgeslagen acties, authenticatiestatus en dekkings totalen.

Geauthenticeerde walks

Geef de voorkeur aan een versleuteld browserprofiel wanneer dat beschikbaar is. De legacy flow met gebruikersnaam/wachtwoord accepteert alleen keystore-variabelenamen. Als aanmelden mislukt of de verwachte content na login ontbreekt, registreert de run een authenticatiefout; interpreteer een walk van de loginpagina niet als dekking van het product.

Ontdekking omzetten in regressietests

Na het beoordelen van een bevinding slaat u een deterministisch app scenario op voor de betrokken flow. Een gemijnd scenario kan weinig vertrouwen hebben tenzij het verificatiecheckpoint is geslaagd; controleer de stappen voordat u het als release gate gebruikt.

Gerelateerd