There are only two hard things in Computer Science: cache invalidation and naming things.

Gestione dei test 🧪

Gestione dei test: strategia, rischi e stime 🧪

Test management: il mestiere (im)possibile 🧑‍💻

Gestire i test non è solo una questione di processi e documenti: è un’arte di equilibrio tra esigenze di business, qualità, tempi e – diciamolo – una buona dose di diplomazia. Il test manager è il regista silenzioso che orchestra team, strumenti, ambienti e stakeholder, spesso cercando di far quadrare il cerchio tra richieste impossibili e risorse limitate.

Oltre a scrivere il test plan, il test manager deve:

  • Definire la test policy (perché testiamo?) e comunicarla in modo che tutti la capiscano (anche chi pensa che i test siano una perdita di tempo)
  • Scrivere la test strategy (cosa e come testiamo), adattandola al contesto e alle evoluzioni del progetto
  • Avviare, monitorare e adattare il processo di test, risolvendo i problemi prima che diventino emergenze
  • Verificare i criteri di uscita e assicurarsi che nessuno “scappi” prima del tempo
  • Fare report chiari e utili, non solo per riempire slide ma per guidare le decisioni
  • Mediare tra sviluppatori, PM, QA e business, spesso traducendo linguaggi diversi (e umori altalenanti)
  • Promuovere la cultura della qualità, anche quando la tentazione è “tanto funziona sul mio PC”

La test policy è la visione d’insieme, la strategy è il piano d’attacco. Senza una, l’altra non serve a molto. E senza un buon test manager, spesso non serve nessuna delle due.

Test plan: se non pianifichi, pianifichi di fallire 📝

Un test plan non è solo un documento da archiviare in fondo a una cartella polverosa. È la bussola che ti evita di naufragare tra bug, deadline e richieste dell’ultimo minuto. Ecco cosa non può mancare:

  • Ambito: cosa testiamo (e cosa no)?
  • Approccio: come intendiamo testare? Agile, waterfall, freestyle?
  • Obiettivi: cosa vogliamo ottenere (oltre a sopravvivere)?
  • Rischi e vincoli: budget, tempo, risorse, testabilità…
  • Chi fa cosa: ruoli e responsabilità (spoiler: non tutto è colpa del test manager)
  • Scheduling: quando si parte e, soprattutto, quando si finisce
  • Metriche: come misuriamo il successo (o il disastro)?
  • Budget e template: perché Excel non mente mai

Il test planning è un processo continuo: si parte con una bozza, si raccoglie feedback, si aggiorna. E si ripete, finché il prodotto non va in produzione (o il test manager non cambia lavoro). Standard di riferimento? ISO/IEC/IEEE 29119-3 (per chi ama le sigle).

Strategie di test: scegli la tua arma ⚔️

Non esiste una strategia universale, ma almeno sette modi per complicarsi (o semplificarsi) la vita:

  • Analitica: test basati sui rischi. Più rischio, più test. Semplice, no?
  • Model-based: si parte da un modello (business, stato, affidabilità) e si disegnano i test di conseguenza.
  • Metodica: checklist, tassonomie di difetti, standard. Per chi ama le regole.
  • Process compliant: si segue uno standard esterno (ISO, settore, processi aziendali). Rigoroso, ma a prova di audit.
  • Diretta: si ascoltano gli esperti (anche quelli che non fanno test). Consultivo, ma spesso illuminante.
  • Regression averse: si punta tutto su automazione e riuso dei test. Perfetto per chi odia le sorprese.
  • Reattiva: si testa mentre si sviluppa, spesso in modalità esplorativa. Per chi ama l’adrenalina.

Entry & exit criteria: quando si inizia e quando si può andare al bar 🚦

Entry criteria: la Definition of Ready

Se non ci sono i prerequisiti, niente test (e niente scuse). Gli entry criteria servono a evitare di partire con i test quando mancano pezzi fondamentali: specifiche incomplete, ambiente non pronto, dati di test assenti, strumenti non configurati. Un buon entry criteria è come il buttafuori all’ingresso: se non hai tutto, non entri.

Esempi pratici di entry criteria:

  • Tutti i requisiti sono stati approvati e documentati
  • L’ambiente di test è operativo e stabile
  • I dati di test sono disponibili e validati
  • Le dipendenze tecniche (API, servizi esterni) sono accessibili

Exit criteria: la Definition of Done

Quando tutti i test passano, i bug critici sono chiusi e il PM sorride, si può chiudere (forse). Gli exit criteria servono a evitare di dichiarare “finito” troppo presto: devono essere oggettivi, misurabili e condivisi. Se non sono chiari, il rischio è di restare in test all’infinito (o di andare in produzione con qualche “sorpresa”).

Esempi pratici di exit criteria:

  • Tutti i test case previsti sono stati eseguiti
  • I bug critici e maggiori sono stati risolti o accettati
  • La copertura dei test ha raggiunto la soglia concordata (es. 80%)
  • I report di test sono stati condivisi con gli stakeholder

Suggerimento: definisci entry & exit criteria all’inizio del progetto e aggiorna man mano che cambiano le esigenze. Così eviti discussioni infinite e puoi davvero andare al bar senza sensi di colpa.

Analisi dei rischi: il vero sport estremo 🧨

Se pensavi che il bungee jumping fosse rischioso, prova a gestire i rischi in un progetto software! L’analisi dei rischi è il cuore della qualità: serve a prevedere dove (e come) il progetto potrebbe deragliare, e a mettere in campo contromisure prima che sia troppo tardi. Non è solo una formalità: è ciò che distingue un team che “spera vada tutto bene” da uno che sa davvero cosa sta facendo.

Product risk: quando il software fa arrabbiare i clienti 😡

I rischi di prodotto sono quelli che impattano direttamente l’utente finale. Se qualcosa va storto qui, preparati a recensioni infuocate e chiamate di supporto infinite.

  • Il software non fa quello che promette (feature mancanti, bug bloccanti)
  • Ignora i bisogni reali degli utenti (UX confusa, flussi poco intuitivi)
  • Architettura inadeguata, calcoli sbagliati, performance da bradipo, sicurezza trascurata…

Esempi pratici:

  • Un e-commerce che non calcola correttamente le spese di spedizione
  • Un’app bancaria che mostra saldi errati
  • Un gestionale che si blocca con troppi dati

I product risk sono anche detti quality risk: se non li gestisci, la qualità va a farsi benedire.

Project risk: quando il progetto deraglia 🚂

I rischi di progetto sono quelli che minano tempi, costi e qualità complessiva. Qui si gioca la vera partita tra “progetto di successo” e “progetto da incubo”.

  • Ritardi, budget che evapora, cambiamenti last minute (il classico “scope creep”)
  • Risorse insufficienti, priorità ballerine, comunicazione da incubo
  • Ambiente di test non pronto, fornitori che spariscono, strumenti che non funzionano

Esempi pratici:

  • Il team di sviluppo cambia a metà progetto
  • Il cliente chiede nuove feature a una settimana dal rilascio
  • L’ambiente di test è diverso dalla produzione (e i bug emergono solo dopo il deploy)

Gestire i project risk significa anche saper dire “no” (o almeno “non ora”) quando serve.

Come si rimedia?

Il test manager non ha la bacchetta magica, ma può:

  • Assumere contractor per colmare i gap temporanei
  • Lavorare di notte (ma solo se strettamente necessario…)
  • Migliorare le stime e comunicare tempestivamente i rischi
  • Gestire i cambiamenti con processi chiari e condivisi
  • Promuovere retrospettive e momenti di confronto per imparare dagli errori

La gestione del rischio è un processo continuo: meglio prevenire che curare (e meglio curare che ignorare).

Risk-based testing: la teoria è bella, la pratica meglio 🧮

Il risk-based testing (RBT) è la strategia che mette i rischi al centro delle decisioni di test. Non si tratta solo di “fare più test dove c’è più rischio”, ma di scegliere tecniche, priorità e profondità in base a ciò che davvero può andare storto.

  • Impatto: quanto fa male se qualcosa va storto? (scala 1-5, dove 5 è “disastro totale”)
  • Probabilità: quanto è probabile che succeda? (scala 1-5, dove 5 è “succede ogni volta che piove”)
  • Livello di rischio = impatto x probabilità

Esempio pratico:

Funzione Impatto Probabilità Livello di rischio (I x P)
Pagamento 5 4 20
Login 4 3 12
Notifiche email 2 4 8
Reportistica 3 2 6

Il testing è una forma di mitigazione del rischio: meno sorprese, meno notti insonni. E ricordati: la teoria è utile, ma la pratica (e l’esperienza) fanno la differenza.

Tecniche di stima: quanto ci mettiamo davvero? ⏳

Stimare il tempo (e il costo) dei test è un’arte che si affina con l’esperienza, ma qualche trucco del mestiere può aiutare a evitare brutte sorprese e deadline impossibili.

  • Scomponi le attività: suddividi il lavoro in task piccoli e chiari (analisi, scrittura casi di test, esecuzione, automazione, reportistica…)
  • Usa dati storici: se hai già fatto test simili in passato, parti da lì. Le metriche storiche sono più affidabili delle sensazioni.
  • Stima per analogia: confronta il nuovo progetto con altri già affrontati (“quanto ci abbiamo messo l’ultima volta che abbiamo testato un login?”)
  • Coinvolgi il team: chiedi a chi dovrà eseguire i test quanto tempo serve davvero. L’expert judgement è spesso più preciso di mille fogli Excel.
  • Aggiungi un margine: imprevisti e bug sono sempre dietro l’angolo. Un buffer del 10-20% può salvare la reputazione (e il weekend).
  • Aggiorna le stime: man mano che il progetto evolve, aggiorna le stime. Meglio correggere la rotta che andare dritti contro l’iceberg.

Esempio pratico di stima:

Attività Stima (giorni)
Analisi requisiti 2
Scrittura casi di test 3
Esecuzione test manuali 4
Automazione test 5
Reportistica 1
Totale 15

Ricorda: la stima perfetta non esiste, ma una stima ragionata (e aggiornata) è meglio di una promessa fatta a caso.


In sintesi

La gestione dei test non è solo burocrazia, ma l’arte di prevenire disastri, ottimizzare risorse e – perché no – rendere la vita un po’ più semplice a tutti. E ricordati: chi non pianifica, pianifica di fallire. 😉

Ultimo aggiornamento il