Flaky test – il male

I test sono un elemento cruciale per una software factory che punta alla qualità e alla sostenibilità dei progetti nel lungo periodo.

Per quanto mi riguarda vanno trattati con la stessa cura, se non maggiore, del codice di produzione.

Soprattutto nell’era dove è facile generare codice con AI/LLM che possono suggerire codice di bassa qualità ed è necessario validarlo rapidamente.

(A questo proposito ti consiglio il mio video su AI + Test Driven Development)

Una delle piaghe che possono colpire la tua suite di test sono i test _flaky_.

Cosa significa?

Flaky

Prendiamo la definizione che ne da Microsoft.

_A flaky test is a test that provides different outcomes, such as pass or fail, even when there are no changes in the source code or execution environment._

Un test _flaky_ è quindi un test inaffidabile. A volte è verde. A volte è rosso. Non si capisce bene cosa lo influenzi.

Siccome lo scopo primario dei test è quello di trovare problemi concreti e reali nel codice in esame questi test sono uno spreco di risorse e tempo.

Come trattarli

In questo caso ti trovi davanti a un’occasione di riflessione. Ecco alcune domande che puoi porti:

  • Il test è ancora rilevante per la codebase? (se no, eliminalo)
  • Riesco a sistemarlo facilmente?
  • Che dipendenze ha?
  • Cosa vuole esprimere il test?
  • Posso esprimere lo stesso concetto in un altro modo / con una implementazione diversa?

In base alle risposte capirai cosa farne: tenerlo, cancellarlo, rifarlo.

Azioni / Finale

Se nel tuo portafoglio di test ne trovi di flaky non rimandare. Gestiscili e smaltisci subito questo debito tecnico oneroso ed estirpa il male!

Sharing is caring

Se conosci qualcuno che potrebbe trovare utile ricevere e-mail per migliorare l’organizzazione dei team di sviluppo software, DevOps e software engineering in generale inoltragli questo post! Qui può iscriversi e cominciare a ricevere subito!


Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *