Testen | Blog

~/blog/tag/testing

Testen

De suite is het enige dat tussen een zelfverzekerde agent en productie in staat. Wat hij dan waard moet zijn.

Waar ik hier over schrijf

Genereren werd goedkoop, en daarmee veranderde de testsuite stilletjes van functie. Vroeger was hij een vangnet onder code waar al iemand over had nagedacht. Nu is hij vaak het enige dat überhaupt over die code heeft nagedacht.

Dat legt een gewicht op tests waar ze nooit voor ontworpen zijn, en het laat zien hoe weinig de meeste suites werkelijk vastleggen. Een suite die slaagt vertelt je dat de code is uitgevoerd. Coverage vertelt je dat een regel is langsgekomen. Geen van beide vertelt je dat er iets zou omvallen als het gedrag verandert, en dat is de enige vraag die telt zodra de auteur een model is dat met alle plezier een test schrijft die bevestigt wat de code toch al deed.

Mutation testing beantwoordt die vraag wel, en het is het instrument waar ik hier telkens op terugkom. Sloop expres iets, kijk of de suite het merkt. Het getal dat eruit komt ligt meestal lager dan mensen verwachten en zegt altijd meer dan coverage.

De andere stukken onder deze tag gaan over de problemen eromheen. Characterization tests, omdat je eerst moet vastleggen wat de code nu doet voordat je een agent aan legacy code laat werken. Baselines die vastleggen wat er al staat en weigeren wat er net bij kwam. Bevroren takensets, voor de vraag of een modelwissel je output slechter maakte, want de prompt nog een keer draaien geeft daar geen antwoord op.

Waarom dit allemaal telt staat in de gids over AI en codekwaliteit. De reeks over codekwaliteit zet de methodestukken in leesvolgorde.

nieuwste
vakmanschapgereedschaptesting
8 mincode-quality #6

Kwaliteitsdrempels voor AI-code: baselines die alleen strenger worden

Met een lint-baseline dwing je een standaard af die je codebase vandaag nog niet haalt. Bestaande overtredingen krijgen vrijstelling, nieuwe breken de build, en het bestand mag alleen krimpen. Hoe PHPStan, ESLint, detekt en Sonar dit doen, en de vier manieren waarop zo'n drempel stilletjes stopt met werken.

lees →