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
testenhooksgereedschap
11 minCodekwaliteit #9

Codekwaliteit bewaken bij AI-code: de hele opzet, van hook tot CI

De hele kwaliteitsopzet voor een project waarin een agent code schrijft: wat er in Claude Code-hooks, pre-commit, pre-push, CI en de wekelijkse mutation run hoort. En de eigenschap die elke controle nodig heeft, namelijk dat hij kan falen, met het bewijs uit drie van mijn eigen repository's.

lees