Per molti versi eseguire test nell'ambiente di produzione è un aspetto ormai consueto, di fatto diverse funzionalità non sono riproducibile al 100% in fase di test. Provate ad immaginare di dover testare alcune feature di un social network senza il contributo degli utenti, o di voler eseguire dei test sul traffico di milioni di utenti su un sistema offline.

Eseguire un clone dell'ambiente di produzione è spesso difficoltoso e, inoltre, non è sempre possibile individuare i bug che l'utente potrebbe riscontrare durante l'utilizzo. Ma quali sono le buone pratiche per evitare problemi con il testing in produzione? Di seguito alcuni suggerimenti:

  • rendere il processo di deploy maggiormente automatizzato, robusto e veloce;
  • rendere il rollback facile e replicabile;
  • scegliere dei tool affidabili;
  • standardizzare le pratiche ed educare i componenti del team alla condivisione delle proprie abitudini di sviluppo;
  • tenere gran parte del codice e i componenti backend al di fuori delle critical patch;
  • implementare un sistema di Automated canarying, cosi da rendere disponibile il nuovo codice solo ad una determinata quantità di utenti alla volta, evitando di modificare l'esperienza utente per tutta la platea di utilizzatori.

Chiaramente si tratta di indicazioni la cui utilità si manifesta soprattutto nello sviluppo di progetti complessi e in ambito collaborativo, ma potrebbero risultare fondamentali anche per quelle applicazioni che riscuotendo un successo crescente necessitano di procedure d'implementazione più efficienti e produttive.

Via Charity Majors

CommentaDi' la tua

Il tuo indirizzo email non sarà mostrato pubblicamente. I campi obbligatori sono contrassegnati da *