Dal 5% al 96% di copertura dei test in un giorno — Grazie ad AI CoPilot

Dal 5% al 96% di copertura dei test in un giorno — Grazie ad AI CoPilot...

16 May 2025

5

min di lettura

Innovazione IA

Adrian Sweeney

Quando ho iniziato questo progetto ed era ancora una piccola base di codice, sapevo che i test unitari sarebbero stati importanti, ma come molti sviluppatori, li ho messi da parte dopo aver costruito la prima suite di test a favore della costruzione delle funzionalità principali. Il mio obiettivo principale all'inizio era far funzionare la logica middleware — il fulcro dell'app — e dare vita al Prodotto Minimo Vitale (MVP). Ciò significava saltare una buona parte della copertura dei test in nome del progresso.

Una volta che il MVP funzionava, ho riportato la mia attenzione sui test. Guardando il progetto, ho stimato almeno una settimana o due di scrittura test, a seconda della complessità di ogni componente. Alcuni sarebbero stati semplici. Altri — specialmente dove erano coinvolti casi limite o logica di ramificazione intricata — sarebbero stati molto più dispendiosi in termini di tempo.

A quel punto, mi sono rivolto all'IA. Avevo usato un "CoPilot" per aiutare a scrivere codice, e ho pensato che potesse anche aiutare con i test.

Primi passi falsi con l'IA

All'inizio, ho chiesto all'IA di "scrivere test unitari" senza alcun contesto o vincolo reale. Il risultato? Un disastro. I test non funzionavano, facevano supposizioni sbagliate sul codice, e tutto lo sforzo si è trasformato in un ciclo di codice di test rotto e riscritture frustranti. L'IA ha generato molto codice — ma non del tipo che potevo usare senza refactoring serio.

Dare direzione all'IA

La svolta è arrivata quando ho cambiato il mio approccio. Invece di trattare l'IA come un mago, ho iniziato a usarla più come uno sviluppatore junior. Le davo un file alla volta, spiegavo l'intento del codice, e le dicevo di concentrarsi sulla scrittura di test accurati e funzionali solo per quel file.

Questo ha cambiato tutto.

Improvvisamente, i test erano più facili da implementare per l'IA. Erano correttamente delimitati, allineati con la logica reale, e non richiedevano ore di debugging. La mia IA ha lavorato file per file, scrivendo ed eseguendo test.

I risultati

In meno di un giorno, la copertura dei test è saltata dal 5% a oltre il 96%.

  • Istruzioni: 96,72%
  • Rami: 95,67%
  • Funzioni: 92,1%
  • Righe: 96,87%

Test che avrebbero impiegato giorni per essere scritti sono stati completati in ore, e la tranquillità che viene con una copertura di test quasi completa? Inestimabile.

Sono passato da una Suite di Test e 5 test a:

  • 20 Suite di Test
  • 136 Test superati

Cosa ho imparato

  • L'IA non è magica — ma è un assistente incredibile. Dalle contesto, guidala, e otterrai ottimi risultati.
  • Il focus conta. Chiedere all'IA di "testare tutto" porta al caos. Chiederle di testare questo file, questa funzione, questo caso — funziona.
  • Aspettati di fare debugging — ma molto meno che scrivere da zero. L'IA a volte commette errori, ma il processo complessivo è molto più veloce che andare da soli.

Che tu stia iniziando un nuovo progetto o cercando di riempire i test su uno più vecchio, l'IA può essere un enorme risparmio di tempo — se la usi bene.

Stai usando l'IA per scrivere test nei tuoi progetti? Qual è stata la tua esperienza?

PrimeCRM

Torna al Centro di Conoscenza