Wat je hiermee bereikt
Voordat iemand een patch goedkeurt, test FixControl hem in een sandbox: een afgeschermde, tijdelijke omgeving met de code van het project en de patch erin. De uitslag laat per stap zien wat er gedraaid heeft en wat niet. Zo weet een beoordelaar precies wat bewezen is — en wat niet.
Wat een test controleert
Een sandboxrun bestaat uit vaste stappen, afgeleid uit je repository:
| Stap | Wat er gebeurt | Telt mee voor de uitslag |
|---|---|---|
| Installeren | Afhankelijkheden installeren, zoals npm, Composer, pip of Maven dat doen. | Ja: mislukt de installatie, dan is er geen uitslag. |
| Statische controle | Typecontrole of statische analyse, bijvoorbeeld tsc, mypy, PHPStan of Psalm. | Ja, waar het project zo'n controle heeft. |
| Lint en opmaak | Stijl- en opmaakcontroles. | Meestal als advies; ze blokkeren niet. |
| Build | Het project bouwen. | Ja, waar de build het oordeel is (bijvoorbeeld Go, Java, .NET, Angular); bij Node is de build vaak advies. |
| Migraties | Databasemigraties toepassen. | Alleen als er een database voor verificatieruns is ingesteld; anders wordt deze stap overgeslagen. |
| Tests | De testsuite van het project, plus tests die de patch zelf meebrengt. | Ja. Bestaande fouten die er al waren tellen niet tegen de patch; nieuwe fouten wel. |
| UI-tests | Browsertests die de patch meebrengt (bijvoorbeeld Playwright, Cypress of Odoo-tours), in een browser zonder scherm. | Ja, als de patch ze meebrengt. |
| Applicatie starten | De applicatie opstarten en wachten tot ze antwoordt. | Ja, waar de geverifieerde omgeving weet hoe de applicatie start. |
Elke stap eindigt als geslaagd, mislukt, overgeslagen, time-out of fout.
Wat een groen resultaat wél en niet bewijst
Een geslaagde stap bewijst alleen die stap.
- Een geslaagde build zegt niets over de tests.
- Geslaagde tests zeggen niets over het starten van de applicatie. Daarom is Startte de applicatie? een eigen controle.
- Een geslaagde start zegt niets over hoe schermen eruitzien. Dat bewijzen alleen UI-tests, of een mens die een preview bekijkt.
- Een preview is menselijke inspectie, geen automatische controle. Een oordeel over een preview vervangt nooit een testresultaat.
Draaide een stap niet, dan zegt FixControl dat ook. Een test die niet draaide, is nooit groen.
De uitslag lezen
Open de run via Sandbox-runs, of via de controle Sandbox-validatie op de patch.
De tests
| Kop | Betekenis |
|---|---|
| Tests geslaagd — regressiebewust beoordeeld | De suite draaide en de patch veroorzaakt geen nieuwe fouten. |
| Tests gefaald — regressiebewust beoordeeld | De patch veroorzaakt nieuwe fouten, of een test die de patch moest laten slagen faalt. |
| De tests hebben nooit gedraaid — geen uitslag | Een eerdere stap stopte de run. Lege tellers betekenen hier "niet gemeten", niet "schoon". |
| De teststap draaide, maar selecteerde geen enkele test | De teststap liep zonder fout, maar voerde niets uit. Dat is geen bewijs. |
| UI-tests konden in deze testomgeving niet draaien | De omgeving heeft geen browser voor de UI-tests van de patch. |
| De UI-tests van de patch zijn niet uitgevoerd | De UI-teststap selecteerde niets. |
Startte de applicatie?
| Status | Betekenis |
|---|---|
| Gestart en antwoordde | De applicatie kwam op en antwoordde, met deze wijziging erin. |
| Startte niet | FixControl kon de applicatie met deze wijziging niet starten. Behandel de run als rood, ook als de tests slaagden. |
| Niet gestart | Niemand heeft gecontroleerd of de applicatie nog start. |
| Hier niet geverifieerd | De omgeving declareert niets om te starten. De tests zeggen dan niets over of de applicatie draait. |
Op de patch zie je de controles Sandbox-validatie en Start van de applicatie, elk met de status geslaagd, aandacht nodig, ontheven, mislukt of nog bezig. Ontheven is iets anders dan geslaagd: niemand heeft het bewezen, en iemand heeft dat met naam en datum geaccepteerd. Zie Wijzigingen opleveren voor wat dit betekent voor opleveren.
Een test starten
Wie: iedereen met de organisatierol admin, manager of operator mag een test starten en uitslagen lezen. Een uitslag aanpassen mogen alleen admins en managers.
- Op de issuepagina: Test in sandbox, als er een patch is die nog niet getest is.
- Op de patchpagina: Verifieer in de sandbox.
- In een werksessie: Verificatie uitvoeren.
Nadat een AI-agent een patch heeft gemaakt, start FixControl de test meestal zelf.
Als voorwaarden ontbreken
FixControl moet eerst weten hoe je applicatie gebouwd en gestart wordt. Dat leidt het af uit je repository, en waar dat niet genoeg is, stelt de AI een omgeving voor die de sandbox daarna echt moet bewijzen. Alleen een geslaagde run levert een geverifieerde omgeving op. Dit staat standaard aan; zie Change-validatie voor de details.
Lukt het niet binnen het vaste aantal pogingen, dan stopt FixControl met één concrete vraag onder Wat FixControl moet weten — bijvoorbeeld welke runtimeversie, welk systeempakket of welk startcommando nodig is. Beantwoord de vraag en kies Antwoorden en opnieuw proberen. Kan een antwoord niet helpen, dan staat er Hier helpt een antwoord niet met de reden.
Wat je zelf weet over het starten van je applicatie, vul je in onder Omgevingen → Omgevingsinstellingen in het project. Die instellingen worden gecontroleerd met dezelfde regels als de voorstellen van de AI en moeten nog steeds door een run worden bewezen.
Drie soorten mislukkingen worden apart behandeld:
- De tests faalden — een uitslag over je code. Dit kan leiden tot een nieuwe, door AI voorbereide versie van de patch.
- De omgeving faalde — een image dat niet laadde, een afhankelijkheid die niet installeerde, een dienst die niet opkwam. Dit leidt nooit tot een voorgestelde wijziging aan je code.
- De applicatie startte niet — de tests slaagden, het opstarten niet. De patch wordt dan niet opgeleverd.
Waar de test draait
- In FixControls eigen afgeschermde omgeving — standaard. Elke run krijgt een eigen, tijdelijke container die na afloop wordt opgeruimd.
- In je eigen omgeving — waar ingericht, via een runner die je zelf installeert met de FC Agent. Dit is een pilot en staat standaard uit. Een runner in je eigen omgeving kan het starten van de applicatie niet aantonen; zie Change-validatie.
Wat (nog) niet getest kan worden
- .NET Framework (net48) en WinDev worden herkend, maar FixControl voert ze vandaag niet uit. Een run stopt dan met een melding die precies noemt wat er ontbreekt, in plaats van een groen resultaat dat niets bewijst. Een Windows-omgeving voor .NET Framework is gebouwd, maar staat nog niet aan en is nog niet bewezen. WinDev vraagt een gelicentieerde installatie van PC SOFT, die FixControl niet levert.
- Een codebase zonder testrunner, typecontrole of buildconfiguratie geeft de melding No verification steps could be derived, geen groene run.
Een preview bekijken
Een preview start de applicatie met de patch erin, zodat je hem zelf kunt bekijken. Previews staan standaard aan; een admin of manager kan ze voor de workspace uitzetten onder Instellingen → Overzicht & voortgang → Instellingen van deze workspace.
Vooraf nodig: een geslaagde run met een patch, een geverifieerde omgeving en een omgeving die weet hoe de applicatie start.
- Open de patch en kies Preview starten. Starten duurt een paar minuten; je krijgt een melding zodra de preview klaarstaat of niet is gestart.
- Kies Preview openen. Je moet ingelogd zijn en leesrechten op het project hebben. Een preview is geen deelbare link.
- Leg na het bekijken een oordeel vast: Dit ziet er goed uit of Dit ziet er niet goed uit.
Een preview stopt vanzelf: na 30 minuten zonder gebruik of na 4 uur, en er draaien er maximaal drie tegelijk per workspace. Starten, stoppen en een oordeel vastleggen vraagt beheerrechten op het project. Een project dat validatie in je eigen omgeving vereist, krijgt geen preview.
Je oordeel wordt naast de automatische validatie vastgelegd, met naam en tijdstip. Het vervangt nooit een testresultaat en opent nooit zelf een goedkeuringspoort.
Fouten laten onderzoeken in de testomgeving
Waar je dit aanzet, mag de ontwikkelagent na een mislukte run een beperkt aantal commando's uitvoeren in de container waarin de run faalde, om te zien wat er misging. Hij kan daar niets aanpassen; de container wordt daarna opgeruimd. Dit staat standaard uit. Een admin of manager zet het aan op de mislukte run met Zet dit aan, of onder Instellingen → Overzicht & voortgang (Fouten onderzoeken in de testomgeving).
Zie ook
Wijzigingen opleveren · Goedkeuringen · Change-validatie · Problemen oplossen