Il Test Management è la gestione del processo di testing del software: occupandosi di organizzare e controllare il processo e artefatti richiesti, include anche il coordinare gli sforzi di tutti coloro che sono coinvolti nell’attività di test e il monitoraggio degli obiettivi qualitativi.

Un tool di Test Management è usato per gestire test (manuali o automatici) specificati in precedenza da una procedura di test. I tool di test management spesso includono requisiti e/o specifiche di gestione dei moduli che permettono una generazione automatica della matrice dei requisiti(RTM), che è una delle metriche principali per indicare una copertura funzionale si un sistema sottoposto a test (SUT).

L'obiettivo generale del Test Management è di consentire ai team di pianificare, sviluppare, eseguire e valutare tutte le attività nell'ambito dello sviluppo del software.

Test Plan

Si tratta del documento che disciplina lo svolgimento dei test per un determinato sistema/applicazione. Secondo lo standard IEEE 829 il Test Plan deve comprendere:

- la specifica dei moduli che devono essere testati
- il confine funzionale dell’applicazione
- la matrice di copertura dei test
- i Criteri di sospensione e ripresa dei Test
- i Criteri di Pass/ Fail
- i Deliverables della Fase di Test
- le necessità di sviluppo di stub/drivers
- la descrizione dell’ambiente Hw/Sw
- eventuali tools utilizzati per la Test Automation

Risk Assessment

I rischi di progetto sono i rischi che impattano la capacità del progetto di raggiungere i suoi obiettivi tra cui:

- fattori organizzativi, come carenza di personale, di competenze e di formazione, aspetti contrattuali;

- questioni tecniche, come problemi nella definizione di requisiti corretti o fino a che punto essi possono essere soddisfatti con i vincoli esistenti. Tra queste problematiche rientra anche la qualità dei documenti di progettazione e del codice.

I rischi sono utilizzati per decidere dove far partire il testing e dove renderlo più intenso ed efficace.

Il test manager - quando analizza, gestisce e cerca di mitigare questi rischi - deve seguire i principi di gestione del progetto (“Standard for Software Test Documentation” – IEEE 829) in modo che nei test plan i rischi (e la gestione delle loro contingenze) siano identificati e definiti il più accuratamente possibile.

Project Metrics

L’approccio basato sulle metriche consiste nello stimare l’avanzamento del testing sulla base di metriche di progetti simili o sulla base di valori tipici.

Un tale monitoraggio consente di valutare la copertura del codice, ovvero il numero di istruzioni eseguibili che sono state verificate. Una copertura completa è, per applicativi minimamente complessi, impossibile.

Per valutare l’avanzamento rispetto alla programmazione ed al budget pianificati, le più comuni metriche di testing utilizzano il numero dei test case eseguiti, pesato con criteri di gravità che possono includere anche limiti nel budget a disposizione.

Staffing Estimates

La capacità di scegliere le persone con le caratteristiche e le competenze più adeguate al lavoro da svolgere è sicuramente è sicuramente una fase cruciale di ogni progetto, perché consente fin da subito di allocare correttamente le risorse necessarie. Questo fa sì che non ci siano sprechi nè di tempi nè di risorse, ottimizzando ed integrando il lavoro delle persone coinvolte.

La scelta delle risorse può essere fatta integrando risorse man mano che aumentano o diminuiscono i carichi di lavoro e le necessità. Una buona pianificazione nella fase iniziale del progetto è quindi essenziale per il corretto svolgimento dello stesso in modalità che spesso risulta dinamicamente dipendente dallo sviluppo dell’applicazione.

Reporting & Quality Reports

L’atto fondamentale per la valutazione della qualità di un lavoro svolto è la reportistica. In essa vengono censiti i risultati dei test effettuati.

L’estrazione di un report può essere condotta in contemporanea all’esecuzione dei test se in modalità agile, o a strategia conclusa se in modalità waterfall.

Tramite la reportistica si posso evidenziare puntualmente le criticità di una applicazione e gestirle diminuendo i costi e migliorando la qualità grazie ad interventi mirati.

La creazione di report ad hoc per ogni progetto permette sempre la massima comprensione dell’avanzamento lavori e permette eventuali cambiamenti in corso d’opera al fine di ottimizzarne gli sforzi.