Serie · 2 articoli

Mutation testing e AI

Perché i test verdi non bastano, e come gli agenti possono chiudere il loop

Due articoli, nati da un talk, su cosa significa davvero avere test affidabili. Si parte dalla differenza tra coverage e mutation score, con un bug reale rimasto in produzione per tre settimane, e si arriva a chiudere il loop: agenti che leggono il report dei mutanti per migliorarsi, con i primi numeri di produzione (Meta ACH e Just-in-Time testing).

2
Articoli pubblicati
13
Minuti di lettura
Intermedio
Livello
Mutation TestingTestingStrykerAILLMCI/CD

Test verdi e codice sano non sono la stessa cosa

Diamo per scontata un'equazione: i test passano, quindi il codice funziona. Quasi sempre regge. Quando non regge, il conto arriva su codice coperto, testato e verde, e nessun test se n'era accorto.

La coverage risponde a una domanda sola: questo codice viene eseguito? Non risponde a quella che conta: se questo codice fosse sbagliato, i test se ne accorgerebbero? Il mutation testing risponde alla seconda, rompendo il codice apposta e contando quante rotture i test rilevano.

La serie parte da un bug rimasto tre settimane in produzione con il 93% di coverage, e arriva alla domanda che gli agenti AI rendono urgente: se i test li scrive una macchina, chi controlla che funzionino? La risposta è che serve un arbitro esterno e formale, e che quel ruolo il mutation score lo sa fare.

Cosa imparerai

  • Distinguere coverage (il codice viene eseguito) da mutation score (i test verificano davvero)
  • Riconoscere i buchi tipici di una suite: dato non discriminante, assertion incompleta, boundary non coperto
  • Usare il report dei mutanti survived come prompt di ritorno per un agente
  • Capire dove il mutation testing sta entrando in produzione (Meta ACH, Just-in-Time testing)

Articoli della serie

  1. 01
    Come il mutation testing mi ha fatto capire che la mia suite stava mentendo 7 min

    93% di coverage, tutti verdi, e un terzo dei test non verificava niente. Cosa ha mostrato Stryker.NET, e come sono passato dal 65% al 92%.

  2. 02
    Gli agenti scrivono i test. Chi controlla che funzionino davvero? 6 min

    Il mutation score correla con i bug reali a R² ≈ 0,70, la line coverage si ferma a 0,25. Come diventa l'arbitro dei test scritti dagli agenti.