Skrev tester for selve kontrollene etter å ha slått fast at en kontroll som bare får ren inndata, en dag vil melde rent fordi den ikke leste noe — plantet en stavefeil for å bekrefte at stavekontrollen finner den, og hentet et id‑område fra databasen i stedet for fra et tall i testen.
Arbeidet utført: august 2026
tester av kontrollverktøyene, så en ren rapport betyr noe
Situasjon. Prosjektet kjører et sett med egne kontrollskript over sitt eget innhold — en stavekontroll, en kontroll av identifikatorintervaller, en stemmekontroll, en kontroll av tallkonsistens. Hver av dem hadde vært grønn i månedsvis. Et kontrollskript som aldri har sett annet enn rene inndata og aldri har rapportert annet enn rent, kan ikke skilles fra et kontrollskript som ikke leser noe i det hele tatt, og det fantes ingen test i suiten som kunne skille de to.
Oppgave. Kontrollskriptene måtte tvinges til å bevise at de kan feile, og testdataene de sjekker mot, måtte slutte å være håndvedlikeholdte kopier av det de beskriver.
Handling. Mønsteret som brukes gjennomgående, er å plante feilen kontrollskriptet finnes for å finne, og kreve at det finner den. Stavekontrollen får et bevisst feilstavet ord, og testen feiler hvis kjøringen kommer tilbake ren. Stemmekontrollen får prosa i første person og må avvise den. Moteordkontrollen får et forbudt ord. Hver av disse er en liten test, og hver av dem lukket en reell blindsone, fordi to av kontrollskriptene viste seg å lese et smalere sett med filer enn dokumentasjonen deres hevdet, og hadde hoppet over innhold i det stille. Den andre endringen handler om hvor en test henter forventningene sine fra: kontrollen av identifikatorintervaller sammenlignet tidligere med et tall skrevet i testfilen, noe som betydde at en test måtte redigeres hver gang nytt innhold ble lagt til, og en redaktør som oppdaterte tallet uten å se etter, hadde slått av kontrollen. Nå utleder den intervallet fra databasen, så kontrollen beskriver dataene og ikke et utdatert minne om dem.
Resultat. Hvert kontrollskript i prosjektet har nå en test som beviser at det feiler på dårlige inndata, og assertene for intervaller leser fra sannhetskilden. Den ubehagelige delen er hva dette avdekket: en grønn kontroll hadde vært meningsløs minst to steder i en ukjent tidsperiode, og det finnes ingen måte å finne ut i etterkant hva som slapp gjennom.
Se tilbake på Genererte 495 resultatsider på tre språk fra en skrivebeskyttet SQLite‑eksport, med sideadressen skrevet som data, slik at en rettet setning ikke lenger flyttet siden og brøt lenken. Eller ta en titt på hele porteføljen.
Ett stykke av en lengre oversikt — og den ligger i sin helhet her.
Hver oppføring er skrevet på samme måte: situasjonen, oppgaven, hva vi gjorde, og hva som endret seg.